Pytorch - std

Pytorch - std
Veremos como retornar o desvio padrão de um tensor usando std () 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.

Std ()

Std () em pytorch é usado para retornar o desvio padrão dos elementos presentes no objeto de tensor de entrada.

Sintaxe:

tocha.std (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 o desvio padrão ao longo de uma coluna e Dim = 1 Especifica a comparação de linha que obtém o desvio padrão ao longo da linha.

Exemplo 1:

Neste exemplo, criaremos um tensor com 2 dimensões que possuem 3 linhas e 5 colunas e apliquem a função std () 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 desvio padrão ao longo de colunas
print ("Desvio padrão entre as colunas:")
Imprimir (tocha.std (dados, dim = 0))
imprimir()
#get desvio padrão ao longo de linhas
Imprimir ("Desvio padrão entre linhas:")
Imprimir (tocha.std (dados, dim = 1))

Saída:

tensor ([[0.6548, 1.0587, -0.1196, 0.9985, -0.2190],
[0.3791, 1.5435, -0.5304, 0.8167, 3.5842],
[-0.1122, -0.2159, 0.3844, -0.6877, -0.7479]])
Desvio padrão entre as colunas:
tensor ([0.3886, 0.9088, 0.4582, 0.9255, 2.3633])
Desvio padrão entre linhas:
tensor ([0.6088, 1.5499, 0.4633])

Podemos ver que o desvio padrão é devolvido através das colunas e linhas.

Exemplo 2:

Crie um tensor com 5 * 5 matriz e retorne o desvio padrão entre as 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 desvio padrão ao longo de colunas
print ("Desvio padrão entre as colunas:")
Imprimir (tocha.std (dados, dim = 0))
imprimir()
#get desvio padrão ao longo de linhas
Imprimir ("Desvio padrão entre linhas:")
Imprimir (tocha.std (dados, dim = 1))

Saída:

tensor ([[-0.2092, 0.2423, -0.6894, 0.4194, -0.3451],
[0.0026, 0.0415, 0.0787, 0.3679, 0.6610],
[1.1111, -1.2749, -0.5760, 0.0788, -0.7471],
[-0.9320, -0.4619, -0.4667, 0.7881, 0.4340],
[0.6366, -1.0388, -1.3156, 0.3060, 0.7883]])
Desvio padrão entre as colunas:
tensor ([0.7871, 0.6589, 0.4997, 0.2568, 0.6706])
Desvio padrão entre linhas:
tensor ([0.4486, 0.2806, 0.9164, 0.7120, 0.9814])

Podemos ver que o desvio padrão entre as linhas e colunas foi devolvido.

Sem o parâmetro DIM

Se não especificarmos o parâmetro DIM, ele retornará o desvio padrão de todo o tensor.

Exemplo 1:

Crie um tensor 2D com 5*5 matriz e retorne o desvio padrão.

#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 desvio padrão
Imprimir ("Desvio padrão:")
Imprimir (tocha.std (dados))

Saída:

tensor ([[0.7371, 0.9772, -0.7774, 0.6982, -1.6117],
[-0.3546, 0.0951, 0.0059, 0.5024, -1.1832],
[0.0237, 1.0456, 1.6042, 0.6445, -0.9371],
[0.7644, -0.8274, 0.8999, 0.3538, -0.0928],
[1.4303, 0.8764, -1.6896, 0.0271, -0.1859]])
Desvio padrão :
Tensor (0.9011)

Exemplo 2:

Crie um tensor 1D com 5 valores e retorne o desvio padrão.

#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 desvio padrão
Imprimir ("Desvio padrão:")
Imprimir (tocha.std (dados))

Saída:

Tensor ([10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Desvio padrão :
Tensor (15.5749)

Trabalhe com a CPU

Se você deseja executar uma função STD () 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 2 dimensões que possuem 3 linhas e 5 colunas com a função CPU () e aplique a função std () 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 desvio padrão ao longo de colunas
print ("Desvio padrão entre as colunas:")
Imprimir (tocha.std (dados, dim = 0))
imprimir()
#get desvio padrão ao longo de linhas
Imprimir ("Desvio padrão entre linhas:")
Imprimir (tocha.std (dados, dim = 1))

Saída:

tensor ([[-0.6536, -0.4777, 1.6667, 0.0299, 0.1223],
[-1.8604, -0.3503, 0.7509, -0.2912, -1.5708],
[0.1468, 1.2626, 0.6741, 1.8651, 0.1632]])
Desvio padrão entre as colunas:
tensor (1.0104, 0.9701, 0.5523, 1.1633, 0.9895])
Desvio padrão entre linhas:
tensor ([0.9158, 1.0598, 0.7406])

Podemos ver que o desvio padrão é devolvido através das colunas e linhas.

Exemplo 2:

Crie um tensor com 5 * 5 matriz com a função CPU () e retorne o desvio padrão 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 desvio padrão ao longo de colunas
print ("Desvio padrão entre as colunas:")
Imprimir (tocha.std (dados, dim = 0))
imprimir()
#get desvio padrão ao longo de linhas
Imprimir ("Desvio padrão entre linhas:")
Imprimir (tocha.std (dados, dim = 1))

Saída:

tensor ([[-1.3900, 1.3594, -0.3603, 1.6448, -0.2708],
[-0.6731, 0.9022, 1.0914, -0.0416, -1.1494],
[0.1134, 1.0007, 0.5488, -1.6023, -1.2196],
[0.4858, 0.2534, -2.2222, -0.1260, -0.0746],
[-0.2175, -1.6167, -1.1183, 0.2427, -0.1219]])
Desvio padrão entre as colunas:
tensor ([0.7273, 1.1853, 1.3192, 1.1561, 0.5686])
Desvio padrão entre linhas:
tensor (1.2743, 0.9718, 1.1293, 1.0831, 0.7716])

Podemos ver que o desvio padrão entre as linhas e colunas foi devolvido.

Conclusão

Nesta lição de Pytorch, aprendemos sobre a função STD () e como aplicá -la em um tensor para retornar o desvio padrão nas colunas e linhas.

Também criamos um tensor com a função CPU () e retornamos o desvio padrão. Se o dim não for especificado em tensor de dois ou multidimensionais, ele retorna o desvio padrão de todo o tensor.