Pytorch - Cummax

Pytorch - Cummax
Pytorch to open source framework dla języka programowania Pythona.

Tensor to wielowymiarowa tablica, która jest używana do przechowywania danych. Aby użyć tensora, musimy zaimportować moduł pochodni.

Aby utworzyć tensor, zastosowana metoda to TENSOR ().

Składnia:

latarka.tensor (dane)

Gdzie dane są wielowymiarową tablicą.

latarka.Cummax ()

latarka.Cummax () zwraca skumulowane maksimum elementów w dwuwymiarowym tensorze na rzędach lub w kolumnach. Zwraca również wskaźniki zwróconych maksymalnych wartości.

Składnia:

latarka.Cummax (tensor_object, DIM)

Parametry:

  1. Tensor_Object jako pierwszy parametr. Musi być dwuwymiarowy.
  2. DIM = 0 Określa obliczenia kolumnowe i DIM = 1 Określa obliczenia rzędowe

Przykład 1:

W tym przykładzie utworzymy tensor, który ma cztery wiersze i cztery kolumny i zwrócimy skumulowane maksimum każdego elementu w rzędu.

#Import Moduł pochodni
Importuj pochodnię
#Tensor
data1 = pochodnia.tensor ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]]))
#wyświetlacz
Drukuj („Rzeczywisty tensor:”)
Drukuj (dane 1)
Drukuj („Skumulowane maksimum w całym rzędzie:”)
#RETURN Skumulowane maksimum
Drukuj (pochodnia.Cummax (dane 1,1))

Wyjście:

Rzeczywisty tensor:
tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Skumulowane maksimum w całym rzędzie:
latarka.return_types.Cummax (
Wartości = tensor ([[2, 3, 4, 5],
[1, 3, 5, 5],
[2, 3, 3, 3],
[2, 3, 4, 4]]),
wskaźniki = tensor ([[0, 1, 2, 3],
[0, 1, 2, 2],
[0, 1, 1, 1],
[0, 1, 2, 2])))

Pracujący:

Rząd-1: 2, maksimum (2,3), maksimum (2,3,4), maksimum (2,3,4,5) = [2, 3,4,5]

Tak więc, [2, 3,4,5] pozycje indeksu w rzeczywistym tensor są - [0,1,2,3]

Rząd-2: 1, maksimum (1,3), maksimum (1,3,5), maksimum (1,3,5,3) = [1,3,5,5]

Tak więc, [1,3,5,5] pozycje indeksu w rzeczywistym tensorze wynoszą - [0,1,2,2]

Rząd-3: 2, maksimum (2,3), maksimum (2,3,2), maksimum (2,3,2,1) = [2,3,3,3]

Tak więc, [2,3,3,3] pozycje indeksu w rzeczywistym tensor są - [0,1,1,1]

Rząd-4: 2, maksimum (2,3), maksimum (2,3,4), maksimum (2,3,4,2) = [2,3,4,4]

Tak więc, [2,3,4,4] pozycje indeksu w rzeczywistym tensor są - [0,1,2,2]

Przykład 2:

W tym przykładzie utworzymy tensor, który ma cztery wiersze i cztery kolumny i zwrócimy skumulowane maksimum każdego elementu w kolumnie.

#Import Moduł pochodni
Importuj pochodnię
#Tensor
data1 = pochodnia.tensor ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]]))
#wyświetlacz
Drukuj („Rzeczywisty tensor:”)
Drukuj (dane 1)
Drukuj („Skumulowany maksimum w całej kolumnie:”)
#RETURN Skumulowane maksimum
Drukuj (pochodnia.Cummax (dane 1,0))

Wyjście:

Rzeczywisty tensor:
tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Skumulowane maksimum w kolumnie:
latarka.return_types.Cummax (
Wartości = tensor ([[2, 3, 4, 5],
[2, 3, 5, 5],
[2, 3, 5, 5],
[2, 3, 5, 5]]),
indeksy = tensor ([[0, 0, 0, 0],
[0, 1, 1, 0],
[2, 2, 1, 0],
[3, 3, 1, 0])))

Pracujący:
Kolumna 1: 2, maksimum (2,1), maksimum (2,1,2), maksimum (2,1,2,2) = [2, 2,2,2]

Tak więc, [2, 2,2,2] pozycje indeksu w rzeczywistym tensor są - [0,0,2,3]

Kolumna-2: 3, maksimum (3,3), maksimum (3,3,3), maksimum (3,3,3,3) = [3,3,3,3]

Tak więc, [3,3,3,3] pozycje indeksu w rzeczywistym tensor są - [0,1,2,3]

Kolumna-3: 4, maksimum (4,5), maksimum (4,5,2), maksimum (4,5,2,4) = [4,5,5,5]

Tak więc, [4,5,5,5] pozycje indeksu w rzeczywistym tensorze to - [0,1,1,1]

Kolumna-4: 5, maksimum (5,3), maksimum (5,3,1), maksimum (5,3,1,2) = [5,5,5,5]

Tak więc, [5,5,5,5] pozycje indeksu w rzeczywistym tensor są - [0,0,0,0]

Pracuj z CPU

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

W tej chwili, kiedy tworzymy tensor, możemy użyć funkcji CPU ().

Składnia:

latarka.tensor (dane).procesor()

Przykład 1:

W tym przykładzie utworzymy tensor, który ma cztery wiersze i cztery kolumny i zwrócimy skumulowane maksimum każdego elementu w rzędu

#Import Moduł pochodni
Importuj pochodnię
#Tensor
data1 = pochodnia.tensor ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]])).procesor()
#wyświetlacz
Drukuj („Rzeczywisty tensor:”)
Drukuj (dane 1)
Drukuj („Skumulowane maksimum w całym rzędzie:”)
#RETURN Skumulowane maksimum
Drukuj (pochodnia.Cummax (dane 1,1))

Wyjście:

Rzeczywisty tensor:
tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Skumulowane maksimum w całym rzędzie:
latarka.return_types.Cummax (
Wartości = tensor ([[2, 3, 4, 5],
[1, 3, 5, 5],
[2, 3, 3, 3],
[2, 3, 4, 4]]),
wskaźniki = tensor ([[0, 1, 2, 3],
[0, 1, 2, 2],
[0, 1, 1, 1],
[0, 1, 2, 2])))

Pracujący:

Rząd-1: 2, maksimum (2,3), maksimum (2,3,4), maksimum (2,3,4,5) = [2, 3,4,5]

Tak więc, [2, 3,4,5] pozycje indeksu w rzeczywistym tensor są - [0,1,2,3]

Rząd-2: 1, maksimum (1,3), maksimum (1,3,5), maksimum (1,3,5,3) = [1,3,5,5]

Tak więc, [1,3,5,5] pozycje indeksu w rzeczywistym tensorze wynoszą - [0,1,2,2]

Rząd-3: 2, maksimum (2,3), maksimum (2,3,2), maksimum (2,3,2,1) = [2,3,3,3]

Tak więc, [2,3,3,3] pozycje indeksu w rzeczywistym tensor są - [0,1,1,1]

Rząd-4: 2, maksimum (2,3), maksimum (2,3,4), maksimum (2,3,4,2) = [2,3,4,4]

Tak więc, [2,3,4,4] pozycje indeksu w rzeczywistym tensor są - [0,1,2,2]

Przykład 2:

W tym przykładzie utworzymy tensor, który ma cztery wiersze i cztery kolumny i zwrócimy skumulowane maksimum każdego elementu w kolumnie.

#Import Moduł pochodni
Importuj pochodnię
#Tensor
data1 = pochodnia.tensor ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]])).procesor()
#wyświetlacz
Drukuj („Rzeczywisty tensor:”)
Drukuj (dane 1)
Drukuj („Skumulowany maksimum w całej kolumnie:”)
#RETURN Skumulowane maksimum
Drukuj (pochodnia.Cummax (dane 1,0))

Wyjście:

Rzeczywisty tensor:
tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Skumulowane maksimum w kolumnie:
latarka.return_types.Cummax (
Wartości = tensor ([[2, 3, 4, 5],
[2, 3, 5, 5],
[2, 3, 5, 5],
[2, 3, 5, 5]]),
indeksy = tensor ([[0, 0, 0, 0],
[0, 1, 1, 0],
[2, 2, 1, 0],
[3, 3, 1, 0])))

Pracujący:

Kolumna 1: 2, maksimum (2,1), maksimum (2,1,2), maksimum (2,1,2,2) = [2, 2,2,2]

Tak więc, [2, 2,2,2] pozycje indeksu w rzeczywistym tensor są - [0,0,2,3]

Kolumna-2: 3, maksimum (3,3), maksimum (3,3,3), maksimum (3,3,3,3) = [3,3,3,3]

Tak więc, [3,3,3,3] pozycje indeksu w rzeczywistym tensor są - [0,1,2,3]

Kolumna-3: 4, maksimum (4,5), maksimum (4,5,2), maksimum (4,5,2,4) = [4,5,5,5]

Tak więc, [4,5,5,5] pozycje indeksu w rzeczywistym tensorze to - [0,1,1,1]

Kolumna-4: 5, maksimum (5,3), maksimum (5,3,1), maksimum (5,3,1,2) = [5,5,5,5]

Tak więc, [5,5,5,5] pozycje indeksu w rzeczywistym tensor są - [0,0,0,0]

Wniosek

W tym samouczku Pytorcha widzieliśmy, jak wykonać skumulowaną maksymalną operację na tensorze za pomocą pochodni.funkcja cummax (). Zwraca skumulowane maksimum elementów w dwuwymiarowym tensorze, a także indeksuje pozycje maksymalnych wartości w rzędach lub w kolumnach. Wdrożyliśmy również tę funkcję na procesorze za pomocą funkcji CPU ().