Zobaczymy, jak zwrócić minimalne wartości z tensora za pomocą min () 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ą.
Min ()
Min () w Pytorch służy do zwrotu minimum elementów obecnych w obiekcie tensor wejściowych.
Składnia:
latarka.Min (tensor, DIM)
Gdzie:
1. Tensor to tensor wejściowy.
2. Dim ma zmniejszyć wymiar. Dim = 0 Określa porównanie kolumny, które otrzymuje minimalne wartości wzdłuż kolumny i DIM = 1 Określa porównanie wiersza, które otrzymuje minimalne wartości wzdłuż wiersza.
Powrót:
Zwraca również wskaźniki wartości minimalnych.
Przykład 1:
W tym przykładzie utworzymy tensor z 2 wymiarami, który ma 3 wiersze i 5 kolumn i zastosujemy funkcję min () 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ń minimalne wartości wzdłuż kolumn
Drukuj („Minimalne wartości w kolumnach:”)
Drukuj (pochodnia.min (dane, Dim = 0))
wydrukować()
#Zadzwoń minimalne wartości wzdłuż wierszy
Drukuj („Wartości minimalne w rzędach:”)
Drukuj (pochodnia.min (dane, DIM = 1))
Wyjście:
tensor [[[1.2472E -01, -8.7776e-01, 4.5338e-01, 2.2461e -01, -1.4291e+00],
[2.6528e+00, -1.1316E-03, 1.4365e+00, 3.8547e-01, 2.1671e-01],
[-7.2345e -01, -4.1827e-01, 4.8590E -01, -1.3218e+00, 1.5717e+00]])
Minimalne wartości w kolumnach:
latarka.return_types.min (
wartości = tensor ([-0.7235, -0.8778, 0.4534, -1.3218, -1.4291]),
indeks = tensor ([2, 0, 0, 2, 0])))
Minimalne wartości w rzędach:
latarka.return_types.min (
wartości = tensor ([-1.4291e+00, -1.1316E -03, -1.3218e+00]),
wskaźniki = tensor ([4, 1, 3])))
Widzimy, że wartości minimalne są zwracane przez kolumny i wiersze wraz z ich indeksami.
Przykład 2:
Utwórz tensor z matrycą 5 * 5 i zwróć minimalne 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ń minimalne wartości wzdłuż kolumn
Drukuj („Minimalne wartości w kolumnach:”)
Drukuj (pochodnia.min (dane, Dim = 0))
wydrukować()
#Zadzwoń minimalne wartości wzdłuż wierszy
Drukuj („Wartości minimalne w rzędach:”)
Drukuj (pochodnia.min (dane, DIM = 1))
Wyjście:
tensor [[[0.3584, -0.8393, -0.3111, -0.4203, 1.4332],
[1.2702, 2.4583, -1.5547, -1.4465, 1.0672],
[-0.2497, -1.7490, 0.2130, 0.3989, -0.1520],
[-1.1165, -2.1209, 0.7191, 0.4764, 2.6431],
[1.8286, 0.8787, -0.4475, 1.1866, -1.4123]])
Minimalne wartości w kolumnach:
latarka.return_types.min (
wartości = tensor ([-1.1165, -2.1209, -1.5547, -1.4465, -1.4123]),
wskaźniki = tensor ([3, 3, 1, 1, 4]))))
Minimalne wartości w rzędach:
latarka.return_types.min (
wartości = tensor ([-0.8393, -1.5547, -1.7490, -2.1209, -1.4123]),
wskaźniki = tensor ([1, 2, 1, 1, 4])))
Widzimy, że minimalne wartości w rzędach i kolumnach zostały zwrócone wraz z ich indeksami.
Bez parametru Dim
Jeśli nie określamy parametru DIM, zwraca wartość minimalną z całego tensora.
Przykład 1:
Utwórz tensor 2D z matrycą 5*5 i zwróć minimalną wartość.
#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ń minimalną wartość
Drukuj („Wartość minimalna:”)
Drukuj (pochodnia.min (dane))
Wyjście:
tensor ([[-0.5350, 0.5439, -0.1100, -1.0623, -1.3757],
[1.5085, -1.0191, 0.4068, -0.4972, 0.3982],
[-0.3360, 0.2665, -0.3139, 0.7079, 0.6624],
[-0.5330, 0.0763, -0.8529, -0.5675, 0.0718],
[0.4249, -1.3827, -1.7805, -1.1841, -0.5587]])
Minimalna wartość :
tensor (-1.7805)
Przykład 2:
Utwórz tensor 1D z 5 wartościami i zwróć minimalną 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ń minimalną wartość
Drukuj („Wartość minimalna:”)
Drukuj (pochodnia.min (dane))
Wyjście:
tensor [[10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Minimalna wartość :
tensor (10.6000)
Pracuj z CPU
Jeśli chcesz uruchomić funkcję min () 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ę min (.
#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ń minimalne wartości wzdłuż kolumn
Drukuj („Minimalne wartości w kolumnach:”)
Drukuj (pochodnia.min (dane, Dim = 0))
wydrukować()
#Zadzwoń minimalne wartości wzdłuż wierszy
Drukuj („Wartości minimalne w rzędach:”)
Drukuj (pochodnia.min (dane, DIM = 1))
Wyjście:
tensor ([[-0.7268, -0.6932, 1.3316, -1.3355, -0.5170],
[1.1113, -1.1252, 0.4458, -0.7343, 2.2207],
[-0.3300, 0.7784, -0.6643, 0.7307, 1.4468]])
Minimalne wartości w kolumnach:
latarka.return_types.min (
wartości = tensor ([-0.7268, -1.1252, -0.6643, -1.3355, -0.5170]),
indeksy = tensor ([0, 1, 2, 0, 0])))
Minimalne wartości w rzędach:
latarka.return_types.min (
wartości = tensor ([-1.3355, -1.1252, -0.6643]),
wskaźniki = tensor ([3, 1, 2])))
Widzimy, że wartości minimalne 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óć minimalne wartości na 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ń minimalne wartości wzdłuż kolumn
Drukuj („Minimalne wartości w kolumnach:”)
Drukuj (pochodnia.min (dane, Dim = 0))
wydrukować()
#Zadzwoń minimalne wartości wzdłuż wierszy
Drukuj („Wartości minimalne w rzędach:”)
Drukuj (pochodnia.min (dane, DIM = 1))
Wyjście:
tensor ([[-0.4774, -0.6484, -1.5810, 0.9154, 0.9417],
[-1.1097, -0.9460, 1.3099, 2.0782, -0.3319],
[0.2239, 1.1931, -0.8064, -1.5089, 2.0238],
[-0.6963, -0.0779, 0.1755, 0.9848, 1.3191],
[1.0035, -0.2865, 1.6750, 0.0255, 1.2538]])
Minimalne wartości w kolumnach:
latarka.return_types.min (
wartości = tensor ([-1.1097, -0.9460, -1.5810, -1.5089, -0.3319]),
wskaźniki = tensor ([1, 1, 0, 2, 1])))
Minimalne wartości w rzędach:
latarka.return_types.min (
wartości = tensor ([-1.5810, -1.1097, -1.5089, -0.6963, -0.2865]),
wskaźniki = tensor ([2, 0, 3, 0, 1])))
Widzimy, że minimalne 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 Min () i tym, jak zastosować ją na tensor, aby zwrócić minimalne wartości w kolumnach i wierszach. Zwraca również pozycje indeksu wraz z zwróconymi wartościami minimalnymi.
Stworzyliśmy również tensor z funkcją CPU () i zwróciliśmy wartości minimalne. Jeśli DIM nie jest określony w dwóch lub wielowymiarowych tensor, zwraca minimalną wartość z całego tensora.