Pytorch - Max

Pytorch - Max
Zobaczymy, jak zwrócić maksymalne wartości z tensora za pomocą Max () w tym samouczku Pytorcha.

Pytorch to open source dostępny z językiem programowania Python. TENSOR to wielowymiarowa tablica używana do przechowywania danych. Aby użyć tensor, musimy zaimportować moduł pochodni. Aby utworzyć tensor, zastosowaną metodą jest tensor ().

Składnia:

latarka.tensor (dane)

Gdzie dane są wielowymiarową tablicą.

Max ()

Max () w Pytorch służy do zwrócenia maksimum elementów obecnych w obiekcie tensora wejściowego.

Składnia:

latarka.Max (tensor, DIM)

Gdzie:

1. Tensor to tensor wejściowy.

2. Dim ma zmniejszyć wymiar. Dim = 0 Określa porównanie kolumny, które otrzymuje maksymalne wartości wzdłuż kolumny i DIM = 1 Określa porównanie wiersza, które otrzymuje maksymalne wartości wzdłuż wiersza.

Powrót:

Zwraca również wskaźniki maksymalnych wartości.

Przykład 1:

W tym przykładzie utworzymy tensor z 2 wymiarami, który ma 3 wiersze i 5 kolumn i zastosujemy funkcję maksymalną () na rzędach i kolumnach.

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor z 2 wymiarami (3 * 5)
#z losowymi elementami za pomocą funkcji randn ()
Data = pochodnia.Randn (3,5)
#wyświetlacz
Drukuj (dane)
wydrukować()
#Zadzwoń maksymalne wartości wzdłuż kolumn
Drukuj („Maksymalne wartości w kolumnach:”)
Drukuj (pochodnia.Max (dane, dim = 0))
wydrukować()
#Zadzwoń maksymalne wartości wzdłuż wierszy
Drukuj („Maksymalne wartości w rzędach:”)
Drukuj (pochodnia.Max (dane, dim = 1))

Wyjście:

tensor ([[-0.4322, -1.9488, -1.9488, -0.1291, 2.0196],
[0.0421, -0.7765, -1.4377, 1.3680, -0.1703],
[1.2953, 0.2773, 0.5380, 0.1011, 0.0136]])
Maksymalne wartości w kolumnach:
latarka.return_types.Max (
wartości = tensor [[1.2953, 0.2773, 0.5380, 1.3680, 2.0196]),
wskaźniki = tensor ([2, 2, 2, 1, 0]))))
Maksymalne wartości w rzędach:
latarka.return_types.Max (
wartości = tensor [[2.0196, 1.3680, 1.2953]),
wskaźniki = tensor ([4, 3, 0])))

Widzimy, że maksymalne wartości są zwracane przez kolumny i wiersze wraz z ich indeksami.

Przykład 2:

Utwórz tensor z matrycą 5 * 5 i zwróć maksymalne wartości w rzędach i kolumnach.

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor z 2 wymiarami (5 * 5)
#z losowymi elementami za pomocą funkcji randn ()
Data = pochodnia.Randn (5,5)
#wyświetlacz
Drukuj (dane)
wydrukować()
#Zadzwoń maksymalne wartości wzdłuż kolumn
Drukuj („Maksymalne wartości w kolumnach:”)
Drukuj (pochodnia.Max (dane, dim = 0))
wydrukować()
#Zadzwoń maksymalne wartości wzdłuż wierszy
Drukuj („Maksymalne wartości w rzędach:”)
Drukuj (pochodnia.Max (dane, dim = 1))

Wyjście:

tensor [[[1.5677, -0.8765, -1.7053, -0.4323, 1.1156],
[1.0781, -0.6891, 1.1491, -0.7799, 1.8014],
[-0.0449, 1.6926, -0.9708, -0.1957, 0.6765],
[-0.0336, 0.2317, -1.5785, -0.1141, -0.4226],
[0.2535, -0.2302, -0.1518, -0.6725, -0.6502]])
Maksymalne wartości w kolumnach:
latarka.return_types.Max (
wartości = tensor [[1.5677, 1.6926, 1.1491, -0.1141, 1.8014]),
wskaźniki = tensor ([0, 2, 1, 3, 1])))
Maksymalne wartości w rzędach:
latarka.return_types.Max (
wartości = tensor [[1.5677, 1.8014, 1.6926, 0.2317, 0.2535]),
wskaźniki = tensor ([0, 4, 1, 1, 0])))

Widzimy, że maksymalne wartości w rzędach i kolumnach zostały zwrócone wraz z ich indeksami.

Bez parametru Dim

Jeśli nie podaliśmy parametru DIM, zwraca maksymalną wartość z całego tensora.

Przykład 1:

Utwórz tensor 2D z matrycą 5*5 i zwróć wartość maksymalną.

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor z 2 wymiarami (5 * 5)
#z losowymi elementami za pomocą funkcji randn ()
Data = pochodnia.Randn (5,5)
#wyświetlacz
Drukuj (dane)
wydrukować()
#Zadzwoń maksymalną wartość
Drukuj („Maksymalna wartość:”)
Drukuj (pochodnia.Max (dane))

Wyjście:

tensor [[[1.5618, 0.5195, -0.2018, 0.7128, 0.0599],
[-2.4063, -0.0888, -0.3935, 0.2521, 1.3079],
[-1.1231, -0.3366, -1.5907, -1.6770, -0.2147],
[-0.7070, -1.5281, 0.2971, 1.8376, -1.6415],
[-0.8639, 0.5545, 1.2174, -1.3734, -0.7389]])
Maksymalna wartość :
tensor (1.8376)

Przykład 2:

Utwórz tensor 1D z 5 wartościami i zwróć maksymalną wartość.

#Import Moduł pochodni
Importuj pochodnię
#Utworz tensor z 5 wartościami liczbowymi
Data = pochodnia.tensor [[10.6,20.7,30.6,40.4,50.0])
#wyświetlacz
Drukuj (dane)
wydrukować()
#Zadzwoń maksymalną wartość
Drukuj („Maksymalna wartość:”)
Drukuj (pochodnia.Max (dane))

Wyjście:

tensor [[10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Maksymalna wartość :
tensor (50.)

Pracuj z CPU

Jeśli chcesz uruchomić funkcję max () na procesorze, musimy utworzyć tensor z funkcją cpu (). Będzie to działać na komputerze procesora.

Kiedy tworzymy tensor, tym razem możemy użyć funkcji CPU ().

Składnia:

latarka.tensor (dane).procesor()

Przykład 1:

W tym przykładzie utworzymy tensor z 2 wymiarami, który ma 3 wiersze i 5 kolumn z funkcją CPU () i zastosujemy funkcję maks. (.

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor z 2 wymiarami (3 * 5)
#z losowymi elementami za pomocą funkcji randn ()
Data = pochodnia.Randn (3,5).procesor()
#wyświetlacz
Drukuj (dane)
wydrukować()
#Zadzwoń maksymalne wartości wzdłuż kolumn
Drukuj („Maksymalne wartości w kolumnach:”)
Drukuj (pochodnia.Max (dane, dim = 0))
wydrukować()
#Zadzwoń maksymalne wartości wzdłuż wierszy
Drukuj („Maksymalne wartości w rzędach:”)
Drukuj (pochodnia.Max (dane, dim = 1))

Wyjście:

tensor ([[-0.1843, 0.0419, -0.0474, 0.3713, -0.6861],
[-0.4083, -0.4918, -1.7254, 1.3483, -0.7855],
[-0.2685, 0.5834, 0.4953, -1.1605, -0.0414]])
Maksymalne wartości w kolumnach:
latarka.return_types.Max (
wartości = tensor ([-0.1843, 0.5834, 0.4953, 1.3483, -0.0414]),
wskaźniki = tensor ([0, 2, 2, 1, 2])))
Maksymalne wartości w rzędach:
latarka.return_types.Max (
wartości = tensor ([0.3713, 1.3483, 0.5834]),
wskaźniki = tensor ([3, 3, 1])))

Widzimy, że maksymalne wartości są zwracane przez kolumny i wiersze wraz z ich indeksami.

Przykład 2:

Utwórz tensor z matrycą 5 * 5 z funkcją CPU () i zwróć maksymalne wartości w wierszach i kolumnach.

#Import Moduł pochodni
Importuj pochodnię
#Utwórz tensor z 2 wymiarami (5 * 5)
#z losowymi elementami za pomocą funkcji randn ()
Data = pochodnia.Randn (5,5).procesor()
#wyświetlacz
Drukuj (dane)
wydrukować()
#Zadzwoń maksymalne wartości wzdłuż kolumn
Drukuj („Maksymalne wartości w kolumnach:”)
Drukuj (pochodnia.Max (dane, dim = 0))
wydrukować()
#Zadzwoń maksymalne wartości wzdłuż wierszy
Drukuj („Maksymalne wartości w rzędach:”)
Drukuj (pochodnia.Max (dane, dim = 1))

Wyjście:

tensor [[[2.2844e+00, 1.0477e+00, -7.5003E-01, 6.2289e-01, 3.6587e-01],
[1.4600E+00, -9.5055e-01, 1.0254e+00, 9.8235e-01, 1.6930e+00],
[-1.6253e-01, 4.6555e-02, 1.1996e+00, -1.0124e+00, 9.4128e-01],
[1.6245e-01, 6.3275e -01, -2.4493e -01, -1.2998e+00, -4.8166E-01],
[-1.7680E+00, 1.2203e-01, 1.9420e -03, -6.2728e-01, 5.9291e-01]])
Maksymalne wartości w kolumnach:
latarka.return_types.Max (
wartości = tensor [[2.2844, 1.0477, 1.1996, 0.9824, 1.6930]),
wskaźniki = tensor ([0, 0, 2, 1, 1])))
Maksymalne wartości w rzędach:
latarka.return_types.Max (
wartości = tensor [[2.2844, 1.6930, 1.1996, 0.6327, 0.5929]),
wskaźniki = tensor ([0, 4, 2, 1, 4])))

Widzimy, że maksymalne wartości w rzędach i kolumnach zostały zwrócone wraz z ich indeksami.

Wniosek

W tej lekcji Pytorcha dowiedzieliśmy się o funkcji Max () i tym, jak zastosować ją na tensor, aby zwrócić maksymalne wartości w kolumnach i wierszach. Zwraca również pozycje indeksu wraz z zwróconymi maksymalnymi wartościami.

Stworzyliśmy również tensor z funkcją CPU () i zwróciliśmy maksymalne wartości. Jeśli DIM nie jest określony w dwóch lub wielowymiarowych tensor, zwraca maksymalną wartość z całego tensora.