Zobaczymy, jak zwrócić wariancję tensora za pomocą var () 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ą.
Var ()
Var () w Pytorch służy do zwrócenia wariancji elementów obecnych w obiekcie tensora wejściowego.
Składnia:
latarka.var (tensor, DIM)
Gdzie:
1. Tensor to tensor wejściowy.
2. Dim ma zmniejszyć wymiar. Dim = 0 Określa porównanie kolumny, które dostaje wariancję wzdłuż kolumny, a DIM = 1 Określa porównanie wiersza, które dostaje wariancję wzdłuż wiersza.
Przykład 1:
W tym przykładzie utworzymy tensor z 2 wymiarami, który ma 3 wiersze i 5 kolumn i zastosujemy funkcję var () 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ć()
#W wariancja wzdłuż kolumn
Drukuj („wariancja między kolumnami:”)
Drukuj (pochodnia.var (dane, dim = 0))
wydrukować()
#Wariancja wzdłuż wierszy
Drukuj („Wariancja różnych wierszy:”)
Drukuj (pochodnia.var (dane, dim = 1))
Wyjście:
tensor [[[0.8844, -0.6416, -0.5520, 0.3798, -0.0587],
[0.0633, 1.9403, -1.3161, -0.5293, 0.4061],
[1.3974, 0.9784, -0.1111, -1.7721, -0.5881]])
Wariancja między kolumnami:
tensor ([0.4529, 1.7027, 0.3717, 1.1669, 0.2475])
Wariancja między wierszami:
tensor ([0.4115, 1.4706, 1.6017])
Widzimy, że wariancja jest zwracana przez kolumny i wiersze.
Przykład 2:
Utwórz tensor z matrycą 5 * 5 i zwróć wariancję 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)
#wyświetlacz
Drukuj (dane)
wydrukować()
#W wariancja wzdłuż kolumn
Drukuj („wariancja między kolumnami:”)
Drukuj (pochodnia.var (dane, dim = 0))
wydrukować()
#Wariancja wzdłuż wierszy
Drukuj („Wariancja różnych wierszy:”)
Drukuj (pochodnia.var (dane, dim = 1))
Wyjście:
tensor [[[0.1260, 1.1681, 0.2191, -0.3685, -2.0660],
[0.5840, 0.2955, 0.2362, -1.2847, 1.3656],
[0.2925, 1.3555, -1.2881, 0.9167, 0.1882],
[-0.7466, 0.2770, 1.1448, -1.2779, -0.2764],
[-1.1316, -0.6998, 2.5051, -0.6687, -0.1624]])
Wariancja między kolumnami:
tensor ([0.5318, 0.6768, 1.9404, 0.8168, 1.5226])
Wariancja między wierszami:
tensor [[1.4157, 0.9283, 1.0072, 0.8749, 2.1285])
Widzimy, że wariancja na rzędach i kolumnach została zwrócona.
Bez parametru Dim
Jeśli nie określamy parametru DIM, zwraca wariancję z całego tensora.
Przykład 1:
Utwórz tensor 2D z matrycą 5*5 i zwróć wariancję.
#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ć()
#Wariancja
druk („wariancja:”)
Drukuj (pochodnia.var (dane))
Wyjście:
tensor ([[-0.0151, -0.7915, -0.9665, -1.4131, 0.9591],
[-0.6647, 0.6698, -1.3399, -0.0513, -0.0519],
[1.0328, -0.3692, 1.0579, 0.5857, 0.3899],
[-0.5928, 1.2447, -0.5782, 1.4461, -0.4847],
[-1.3246, -0.7092, 0.1471, 0.5752, 3.1142]])
Wariancja:
tensor (1.1131)
Przykład 2:
Utwórz tensor 1D z 5 wartościami i zwróć wariancję.
#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ć()
#Wariancja
druk („wariancja:”)
Drukuj (pochodnia.var (dane))
Wyjście:
tensor [[10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Wariancja:
tensor (242.5780)
Pracuj z CPU
Jeśli chcesz uruchomić funkcję var () 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ę var () na wierszach 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).procesor()
#wyświetlacz
Drukuj (dane)
wydrukować()
#W wariancja wzdłuż kolumn
Drukuj („wariancja między kolumnami:”)
Drukuj (pochodnia.var (dane, dim = 0))
wydrukować()
#Wariancja wzdłuż wierszy
Drukuj („Wariancja różnych wierszy:”)
Drukuj (pochodnia.var (dane, dim = 1))
Wyjście:
tensor [[[0.1278, 1.3140, 0.5116, -0.1922, 0.9349],
[-1.1720, 1.4805, -0.2628, 0.5970, -0.6479],
[-1.7930, 0.2337, -1.3810, -0.9092, -0.0778]])
Wariancja między kolumnami:
tensor ([0.9607, 0.4582, 0.9053, 0.5676, 0.6427])
Wariancja między wierszami:
tensor ([0.3655, 1.1027, 0.7312])
Widzimy, że wariancja jest zwracana przez kolumny i wiersze.
Przykład 2:
Utwórz tensor z matrycą 5 * 5 z funkcją CPU () i zwróć wariancję 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ć()
#W wariancja wzdłuż kolumn
Drukuj („wariancja między kolumnami:”)
Drukuj (pochodnia.var (dane, dim = 0))
wydrukować()
#Wariancja wzdłuż wierszy
Drukuj („Wariancja różnych wierszy:”)
Drukuj (pochodnia.var (dane, dim = 1))
Wyjście:
tensor ([[-0.3587, 1.2200, -0.8744, -0.8184, -1.1658],
[0.1428, -0.6122, -0.9894, 1.8219, -0.0248],
[-1.9626, -0.3423, 1.3046, 0.9737, 1.1691],
[-0.1054, -0.3935, -0.3632, -0.7317, -0.1751],
[0.9651, -0.6595, 0.3152, 0.6908, -0.0370]])
Wariancja między kolumnami:
tensor [[1.1489, 0.6115, 0.9007, 1.2999, 0.6869])
Wariancja między wierszami:
tensor ([0.9032, 1.1678, 1.9312, 0.0595, 0.4048])
Widzimy, że wariancja na rzędach i kolumnach została zwrócona.
Wniosek
W tej lekcji Pytorcha omówiliśmy funkcję var () i jak zastosować ją na tensor, aby zwrócić wariancję w kolumna.
Stworzyliśmy również tensor z funkcją cpu () i zwróciliśmy wariancję. Jeśli DIM nie jest określony w dwóch lub wielowymiarowych tensor, zwraca wariancję całego tensora.