Pytorch - suma

Pytorch - suma
Zobaczymy, jak zwrócić sumę wartości w tensorze za pomocą sum () 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ą.

Suma()

Sum () w Pytorch służy do zwrócenia całkowitej suma elementów obecnych w obiekcie tensor wejściowych.

Składnia:

latarka.suma (tensor, DIM)

Gdzie:

1. Tensor to tensor wejściowy.

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

Przykład 1:

W tym przykładzie utworzymy tensor z 3 wymiarami, który ma 3 wiersze i 5 kolumn i zastosujemy funkcję sum () 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ć()
#Zgodzą wartości suma wzdłuż kolumn
Drukuj („Sum Wartości w kolumnach:”)
Drukuj (pochodnia.sum (dane, dim = 0))
wydrukować()
#Zagostuj wartości suma wzdłuż wierszy
Drukuj („Wartości sumowe w rzędach:”)
Drukuj (pochodnia.suma (dane, dim = 1))

Wyjście:

tensor ([[-0.0556, 0.4207, 2.0077, 0.2641, -1.2607],
[-0.6305, 0.2493, -1.8812, 1.3837, 0.7238],
[1.7078, -0.8948, -1.2484, -0.2079, -0.9078]])
Sum wartości w kolumnach:
tensor [[1.0217, -0.2247, -1.1220, 1.4399, -1.4447])
Sum wartości w rzędach:
tensor [[1.3762, -0.1548, -1.5512])

Widzimy, że suma wartości jest zwracana przez kolumny i wiersze.

Przykład 2:

Utwórz tensor z matrycą 5 * 5 i zwróć całkowitą sumę 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ć()
#ge sumę wartości wzdłuż kolumn
Drukuj („Suma wartości w kolumnach:”)
Drukuj (pochodnia.sum (dane, dim = 0))
wydrukować()
#ge sumę wartości wzdłuż wierszy
Drukuj („Suma wartości w rzędach:”)
Drukuj (pochodnia.suma (dane, dim = 1))

Wyjście:

tensor ([[-1.0473, 0.5575, -0.3595, 1.2286, -0.2730],
[-0.2578, 0.8914, 1.1879, -1.4176, -1.6000],
[0.2300, -0.8414, 0.7395, 0.2362, 0.9471],
[-0.1933, -0.3221, 1.6938, 1.0898, -1.1636],
[1.4314, -1.3938, 0.6046, 0.7937, 1.9621]])
Suma wartości w kolumnach:
tensor ([0.1631, -1.1084, 3.8663, 1.9308, -0.1275])
Suma wartości w rzędach:
tensor ([0.1063, -1.1960, 1.3114, 1.1046, 3.3980])

Możemy zobaczyć sumę wartości w rzędach i kolumnach.

Bez parametru Dim

Jeśli nie określamy parametru DIM, zwraca całkowitą sumę z całego tensora.

Przykład 1:

Utwórz tensor 2D z matrycą 5*5 i zwróć całkowitą sumę.

#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ń całkowitą sumę
Drukuj („Suma ogółem:”)
Drukuj (pochodnia.suma (dane))

Wyjście:

tensor ([[-0.7637, -0.5952, 1.1987, -1.6382, 0.2750],
[-0.6120, 0.1565, -0.3482, -0.9082, -1.2066],
[0.5195, 0.3678, 1.1712, -0.3106, -0.1575],
[1.7759, -0.1936, 1.7604, -0.5895, 1.9677],
[1.5080, -0.1691, 0.2007, -0.7224, 0.0071]])
Suma :
tensor (2.6937)

Przykład 2:

Utwórz tensor 1D z 5 wartościami i zwróć całkowitą sumę.

#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ń całkowitą sumę
Drukuj („suma mTotal:”)
Drukuj (pochodnia.suma (dane))

Wyjście:

tensor [[10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Suma mtotalna:
tensor (152.3000)

Pracuj z CPU

Jeśli chcesz uruchomić funkcję sum () 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 3 wymiarami, który ma 3 wiersze i 5 kolumn z funkcją CPU () i zastosujemy sum () 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).procesor()
#wyświetlacz
Drukuj (dane)
wydrukować()
#ge sumę wartości wzdłuż kolumn
Drukuj („Suma wartości w kolumnach:”)
Drukuj (pochodnia.sum (dane, dim = 0))
wydrukować()
#ge sumę wartości wzdłuż wierszy
Drukuj („Suma wartości w rzędach:”)
Drukuj (pochodnia.suma (dane, dim = 1))

Wyjście:

tensor ([[-0.2128, 0.7013, 1.5819, -0.7530, -0.9235],
[0.4140, 0.6337, 0.8007, -0.8377, -0.7650],
[0.8471, 0.6988, 0.2508, 0.2901, -0.4939]])
Suma wartości w kolumnach:
tensor [[1.0483, 2.0339, 2.6334, -1.3006, -2.1824])
Suma wartości w rzędach:
tensor ([0.3939, 0.2457, 1.5930])

Widzimy, że suma wartości jest zwracana przez kolumny i wiersze.

Przykład 2:

Utwórz tensor z matrycą 5 * 5 z funkcją CPU () i zwróć sumę 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ć()
#ge sumę wartości wzdłuż kolumn
Drukuj („Suma wartości w kolumnach:”)
Drukuj (pochodnia.sum (dane, dim = 0))
wydrukować()
#ge sumę wartości wzdłuż wierszy
Drukuj („Suma wartości w rzędach:”)
Drukuj (pochodnia.suma (dane, dim = 1))

Wyjście:

tensor [[[0.2954, -0.1462, 1.3691, 0.1799, 0.2489],
[-1.4990, -0.8262, -1.2368, 0.0618, 1.0522],
[-0.7371, 0.6237, -0.8857, -0.4474, -1.7985],
[0.0569, 1.4520, -1.6996, 1.2843, 0.6789],
[-1.8241, 0.4399, 0.1749, -2.5850, 1.3348]])
Suma wartości w kolumnach:
tensor ([-3.7080, 1.5432, -2.2781, -1.5064, 1.5163])
Suma wartości w rzędach:
tensor [[1.9471, -2.4480, -3.2450, 1.7725, -2.4595])

Widzimy, że suma wartości w rzędach i kolumnach została zwrócona.

Wniosek

W tej lekcji Pytorcha dowiedzieliśmy się o funkcji sum () i jak zastosować ją na tensor, aby zwrócić całkowitą sumę wartości w kolumnach i wierszach. Stworzyliśmy również tensor z funkcją cpu () i zwróciliśmy sumę wszystkich wartości. Jeśli DIM nie jest określony w dwóch lub wielowymiarowych tensor, zwraca całkowitą sumę z całego tensora.