Pytorch - soma

Pytorch - soma
Veremos como retornar a soma dos valores em um tensor usando sum () neste tutorial de pytorch.

Pytorch é uma estrutura de código aberto disponível com uma linguagem de programação Python. Tensor é uma matriz multidimensional usada para armazenar os dados. 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.

Soma()

Sum () em Pytorch é usado para retornar a soma total dos elementos presentes no objeto Tensor de entrada.

Sintaxe:

tocha.soma (tensor, dim)

Onde:

1. O tensor é o tensor de entrada.

2. Dim é reduzir a dimensão. Dim = 0 Especifica a comparação da coluna que obtém a soma total de valores ao longo de uma coluna e Dim = 1 Especifica a comparação de linha que obtém a soma total de valores ao longo da linha.

Exemplo 1:

Neste exemplo, criaremos um tensor com três dimensões que possuem 3 linhas e 5 colunas e apliquem a função Sum () em linhas e colunas.

#import módulo tocha
importação de tocha
#Crie um tensor com 2 dimensões (3 * 5)
#com elementos aleatórios usando a função Randn ()
Dados = Torch.Randn (3,5)
#mostrar
Impressão (dados)
imprimir()
#get soma valores ao longo de colunas
Print ("Valores da soma nas colunas:")
Imprimir (tocha.soma (dados, dim = 0))
imprimir()
#get soma valores ao longo de linhas
Imprima ("Valores da soma entre linhas:")
Imprimir (tocha.soma (dados, dim = 1))

Saída:

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]])
Valores da soma nas colunas:
tensor (1.0217, -0.2247, -1.1220, 1.4399, -1.4447])
Valores de soma entre linhas:
tensor (1.3762, -0.1548, -1.5512])

Podemos ver que a soma dos valores é retornada nas colunas e linhas.

Exemplo 2:

Crie um tensor com 5 * 5 matriz e retorne a soma total de valores nas linhas e colunas.

#import módulo tocha
importação de tocha
#Crie um tensor com 2 dimensões (5 * 5)
#com elementos aleatórios usando a função Randn ()
Dados = Torch.Randn (5,5)
#mostrar
Impressão (dados)
imprimir()
#get soma de valores ao longo de colunas
print ("Soma dos valores nas colunas:")
Imprimir (tocha.soma (dados, dim = 0))
imprimir()
#gen soma de valores ao longo de linhas
Imprima ("Soma dos valores entre linhas:")
Imprimir (tocha.soma (dados, dim = 1))

Saída:

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]])
Soma dos valores nas colunas:
tensor ([0.1631, -1.1084, 3.8663, 1.9308, -0.1275])
Soma dos valores entre linhas:
tensor ([0.1063, -1.1960, 1.3114, 1.1046, 3.3980])

Podemos ver a soma dos valores nas linhas e colunas.

Sem o parâmetro DIM

Se não especificarmos o parâmetro DIM, ele retornará a soma total de todo o tensor.

Exemplo 1:

Crie um tensor 2D com 5*5 matriz e retorne a soma total.

#import módulo tocha
importação de tocha
#Crie um tensor com 2 dimensões (5 * 5)
#com elementos aleatórios usando a função Randn ()
Dados = Torch.Randn (5,5)
#mostrar
Impressão (dados)
imprimir()
#get soma total
Imprimir ("Soma total:")
Imprimir (tocha.soma (dados))

Saída:

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]])
Soma total :
Tensor (2.6937)

Exemplo 2:

Crie um tensor 1D com 5 valores e retorne a soma total.

#import módulo tocha
importação de tocha
#Crie um tensor com 5 valores numéricos
Dados = Torch.Tensor ([10.6,20.7,30.6,40.4,50.0])
#mostrar
Impressão (dados)
imprimir()
#get soma total
Print ("MTOTAL SUM:")
Imprimir (tocha.soma (dados))

Saída:

Tensor ([10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Soma mtotal:
Tensor (152.3000)

Trabalhe com a CPU

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

Quando criamos um tensor, desta vez, podemos usar a função CPU ().

Sintaxe:

tocha.Tensor (dados).CPU()

Exemplo 1:

Neste exemplo, criaremos um tensor com três dimensões que possuem 3 linhas e 5 colunas com uma função CPU () e aplique a soma () em linhas e colunas.

#import módulo tocha
importação de tocha
#Crie um tensor com 2 dimensões (3 * 5)
#com elementos aleatórios usando a função Randn ()
Dados = Torch.Randn (3,5).CPU()
#mostrar
Impressão (dados)
imprimir()
#get soma de valores ao longo de colunas
print ("Soma dos valores nas colunas:")
Imprimir (tocha.soma (dados, dim = 0))
imprimir()
#gen soma de valores ao longo de linhas
Imprima ("Soma dos valores entre linhas:")
Imprimir (tocha.soma (dados, dim = 1))

Saída:

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]])
Soma dos valores nas colunas:
tensor (1.0483, 2.0339, 2.6334, -1.3006, -2.1824])
Soma dos valores entre linhas:
tensor ([0.3939, 0.2457, 1.5930])

Podemos ver que a soma dos valores é retornada nas colunas e linhas.

Exemplo 2:

Crie um tensor com 5 * 5 matriz com a função CPU () e retorne a soma dos valores nas linhas e colunas.

#import módulo tocha
importação de tocha
#Crie um tensor com 2 dimensões (5 * 5)
#com elementos aleatórios usando a função Randn ()
Dados = Torch.Randn (5,5).CPU()
#mostrar
Impressão (dados)
imprimir()
#get soma de valores ao longo de colunas
print ("Soma dos valores nas colunas:")
Imprimir (tocha.soma (dados, dim = 0))
imprimir()
#gen soma de valores ao longo de linhas
Imprima ("Soma dos valores entre linhas:")
Imprimir (tocha.soma (dados, dim = 1))

Saída:

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]])
Soma dos valores nas colunas:
tensor ([-3.7080, 1.5432, -2.2781, -1.5064, 1.5163])
Soma dos valores entre linhas:
tensor (1.9471, -2.4480, -3.2450, 1.7725, -2.4595])

Podemos ver que a soma dos valores entre as linhas e colunas foi devolvida.

Conclusão

Nesta lição de Pytorch, aprendemos sobre a função SUM () e como aplicá -la em um tensor para retornar a soma total de valores nas colunas e linhas. Também criamos um tensor com a função CPU () e retornamos a soma de todos os valores. Se o dim não for especificado em tensor de dois ou multidimensionais, ele retorna a soma total de todo o tensor.