Pytorch - Cummax

Pytorch - Cummax
Pytorch é uma estrutura de código aberto para a linguagem de programação Python.

Um tensor é uma matriz multidimensional que é usada para armazenar dados. Então, para usar um tensor, temos que importar o módulo da tocha.

Para criar um tensor, o método usado é tensor ().

Sintaxe:

tocha.Tensor (dados)

Onde os dados são uma matriz multidimensional.

tocha.Cummax ()

tocha.Cummax () retorna o máximo cumulativo de elementos em um tensor bidimensional entre linhas ou em colunas. Ele também retorna os índices dos valores máximos retornados.

Sintaxe:

tocha.Cummax (tensor_object, dim)

Parâmetros:

  1. É preciso tensor_object como o primeiro parâmetro. Tem que ser bidimensional.
  2. Dim = 0 Especifica a computação em coluna e Dim = 1 Especifica a computação em linha

Exemplo 1:

Neste exemplo, criaremos um tensor que tenha quatro linhas e quatro colunas e retorne o máximo cumulativo de cada elemento em toda a linha.

#import módulo tocha
importação de tocha
#Crere Tensor
Data1 = Torch.tensor ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]]))
#mostrar
Imprimir ("Tensor real:")
Imprimir (Data1)
Imprima ("Máximo cumulativo através da linha:")
#return Máximo cumulativo
Imprimir (tocha.Cummax (Data1,1))

Saída:

Tensor real:
tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2])
Máximo cumulativo através da linha:
tocha.return_types.Cummax (
valores = tensor ([[2, 3, 4, 5],
[1, 3, 5, 5],
[2, 3, 3, 3],
[2, 3, 4, 4]]),
índices = tensor ([[0, 1, 2, 3],
[0, 1, 2, 2],
[0, 1, 1, 1],
[0, 1, 2, 2]]))

Trabalhando:

Linha 1: 2, máximo (2,3), máximo (2,3,4), máximo (2,3,4,5) = [2, 3,4,5]

Então, [2, 3,4,5] posições de índice no tensor real são - [0,1,2,3]

Linha-2: 1, máximo (1,3), máximo (1,3,5), máximo (1,3,5,3) = [1,3,5,5]

Portanto, [1,3,5,5] posições de índice no tensor real são - [0,1,2,2]

Linha 3: 2, máximo (2,3), máximo (2,3,2), máximo (2,3,2,1) = [2,3,3,3]

Portanto, [2,3,3,3] posições de índice no tensor real são - [0,1,1,1]

Linha 4: 2, máximo (2,3), máximo (2,3,4), máximo (2,3,4,2) = [2,3,4,4]

Portanto, [2,3,4,4] posições de índice no tensor real são - [0,1,2,2]

Exemplo 2:

Neste exemplo, criaremos um tensor que tenha quatro linhas e quatro colunas e retorne o máximo cumulativo de cada elemento em toda a coluna.

#import módulo tocha
importação de tocha
#Crere Tensor
Data1 = Torch.tensor ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]]))
#mostrar
Imprimir ("Tensor real:")
Imprimir (Data1)
print ("Máximo cumulativo em toda a coluna:")
#return Máximo cumulativo
Imprimir (tocha.Cummax (Data1,0))

Saída:

Tensor real:
tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2])
Máximo cumulativo em toda a coluna:
tocha.return_types.Cummax (
valores = tensor ([[2, 3, 4, 5],
[2, 3, 5, 5],
[2, 3, 5, 5],
[2, 3, 5, 5]]),
índices = tensor ([[0, 0, 0, 0],
[0, 1, 1, 0],
[2, 2, 1, 0],
[3, 3, 1, 0]]))

Trabalhando:
Coluna-1: 2, máximo (2,1), máximo (2,1,2), máximo (2,1,2,2) = [2, 2,2,2]

Então, [2, 2,2,2] posições de índice no tensor real são - [0,0,2,3]

Coluna-2: 3, máximo (3,3), máximo (3,3,3), máximo (3,3,3,3) = [3,3,3,3]

Portanto, [3,3,3,3] posições de índice no tensor real são - [0,1,2,3]

Coluna 3: 4, máximo (4,5), máximo (4,5,2), máximo (4,5,2,4) = [4,5,5,5]

Portanto, [4,5,5,5] posições de índice no tensor real são - [0,1,1,1]

Coluna-4: 5, máximo (5,3), máximo (5,3,1), máximo (5,3,1,2) = [5,5,5,5]

Portanto, [5,5,5,5] posições de índice no tensor real são - [0,0,0,0]

Trabalhe com a CPU

Se você deseja executar uma função Cummax () na CPU, temos que criar um tensor com uma função CPU (). Isso será executado em uma máquina de CPU.

Neste momento, quando estamos criando um tensor, podemos usar a função CPU ().

Sintaxe:

tocha.Tensor (dados).CPU()

Exemplo 1:

Neste exemplo, criaremos um tensor que tenha quatro linhas e quatro colunas e retorne o máximo cumulativo de cada elemento em toda a linha

#import módulo tocha
importação de tocha
#Crere Tensor
Data1 = Torch.tensor ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]])).CPU()
#mostrar
Imprimir ("Tensor real:")
Imprimir (Data1)
Imprima ("Máximo cumulativo através da linha:")
#return Máximo cumulativo
Imprimir (tocha.Cummax (Data1,1))

Saída:

Tensor real:
tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2])
Máximo cumulativo através da linha:
tocha.return_types.Cummax (
valores = tensor ([[2, 3, 4, 5],
[1, 3, 5, 5],
[2, 3, 3, 3],
[2, 3, 4, 4]]),
índices = tensor ([[0, 1, 2, 3],
[0, 1, 2, 2],
[0, 1, 1, 1],
[0, 1, 2, 2]]))

Trabalhando:

Linha 1: 2, máximo (2,3), máximo (2,3,4), máximo (2,3,4,5) = [2, 3,4,5]

Então, [2, 3,4,5] posições de índice no tensor real são - [0,1,2,3]

Linha-2: 1, máximo (1,3), máximo (1,3,5), máximo (1,3,5,3) = [1,3,5,5]

Portanto, [1,3,5,5] posições de índice no tensor real são - [0,1,2,2]

Linha 3: 2, máximo (2,3), máximo (2,3,2), máximo (2,3,2,1) = [2,3,3,3]

Portanto, [2,3,3,3] posições de índice no tensor real são - [0,1,1,1]

Linha 4: 2, máximo (2,3), máximo (2,3,4), máximo (2,3,4,2) = [2,3,4,4]

Portanto, [2,3,4,4] posições de índice no tensor real são - [0,1,2,2]

Exemplo 2:

Neste exemplo, criaremos um tensor que tenha quatro linhas e quatro colunas e retorne o máximo cumulativo de cada elemento em toda a coluna.

#import módulo tocha
importação de tocha
#Crere Tensor
Data1 = Torch.tensor ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]])).CPU()
#mostrar
Imprimir ("Tensor real:")
Imprimir (Data1)
print ("Máximo cumulativo em toda a coluna:")
#return Máximo cumulativo
Imprimir (tocha.Cummax (Data1,0))

Saída:

Tensor real:
tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2])
Máximo cumulativo em toda a coluna:
tocha.return_types.Cummax (
valores = tensor ([[2, 3, 4, 5],
[2, 3, 5, 5],
[2, 3, 5, 5],
[2, 3, 5, 5]]),
índices = tensor ([[0, 0, 0, 0],
[0, 1, 1, 0],
[2, 2, 1, 0],
[3, 3, 1, 0]]))

Trabalhando:

Coluna-1: 2, máximo (2,1), máximo (2,1,2), máximo (2,1,2,2) = [2, 2,2,2]

Então, [2, 2,2,2] posições de índice no tensor real são - [0,0,2,3]

Coluna-2: 3, máximo (3,3), máximo (3,3,3), máximo (3,3,3,3) = [3,3,3,3]

Portanto, [3,3,3,3] posições de índice no tensor real são - [0,1,2,3]

Coluna 3: 4, máximo (4,5), máximo (4,5,2), máximo (4,5,2,4) = [4,5,5,5]

Portanto, [4,5,5,5] posições de índice no tensor real são - [0,1,1,1]

Coluna-4: 5, máximo (5,3), máximo (5,3,1), máximo (5,3,1,2) = [5,5,5,5]

Portanto, [5,5,5,5] posições de índice no tensor real são - [0,0,0,0]

Conclusão

Neste tutorial de Pytorch, vimos como realizar uma operação máxima cumulativa em um tensor usando tocha.função cummax (). Ele retorna o máximo cumulativo de elementos em um tensor bidimensional e também indexa posições de valores máximos em linhas ou entre colunas. Também implementamos essa função na CPU usando a função CPU ().