Veremos como retornar a variação de um tensor usando var () 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.
Var ()
Var () em pytorch é usado para retornar a variação dos elementos presentes no objeto Tensor de entrada.
Sintaxe:
tocha.var (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 variação ao longo de uma coluna e Dim = 1 especifica a comparação de linha que recebe a variaçã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 var () 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()
#Obtenha variação ao longo de colunas
print ("Variação entre as colunas:")
Imprimir (tocha.var (dados, dim = 0))
imprimir()
#Obter variação ao longo de linhas
Print ("Variação entre linhas:")
Imprimir (tocha.var (dados, dim = 1))
Saída:
tensor ([[0.8844, -0.6416, -0.5520, 0.3798, -0.0587],
[0.0633, 1.9403, -1.3161, -0.5293, 0.4061],
[1.3974, 0.9784, -0.1111, -1.7721, -0.5881]])
Variação entre as colunas:
tensor ([0.4529, 1.7027, 0.3717, 1.1669, 0.2475])
Variação entre linhas:
tensor ([0.4115, 1.4706, 1.6017])
Podemos ver que a variação é devolvida nas colunas e linhas.
Exemplo 2:
Crie um tensor com 5 * 5 matriz e retorne a variaçã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()
#Obtenha variação ao longo de colunas
print ("Variação entre as colunas:")
Imprimir (tocha.var (dados, dim = 0))
imprimir()
#Obter variação ao longo de linhas
Print ("Variação entre linhas:")
Imprimir (tocha.var (dados, dim = 1))
Saída:
tensor ([[0.1260, 1.1681, 0.2191, -0.3685, -2.0660],
[0.5840, 0.2955, 0.2362, -1.2847, 1.3656],
[0.2925, 1.3555, -1.2881, 0.9167, 0.1882],
[-0.7466, 0.2770, 1.1448, -1.2779, -0.2764],
[-1.1316, -0.6998, 2.5051, -0.6687, -0.1624]])
Variação entre as colunas:
tensor ([0.5318, 0.6768, 1.9404, 0.8168, 1.5226])
Variação entre linhas:
tensor (1.4157, 0.9283, 1.0072, 0.8749, 2.1285])
Podemos ver que a variação entre as linhas e colunas foi devolvida.
Sem o parâmetro DIM
Se não especificarmos o parâmetro DIM, ele retornará a variação de todo o tensor.
Exemplo 1:
Crie um tensor 2D com 5*5 matriz e retorne a variaçã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 variação
print ("Variação:")
Imprimir (tocha.var (dados))
Saída:
tensor ([[-0.0151, -0.7915, -0.9665, -1.4131, 0.9591],
[-0.6647, 0.6698, -1.3399, -0.0513, -0.0519],
[1.0328, -0.3692, 1.0579, 0.5857, 0.3899],
[-0.5928, 1.2447, -0.5782, 1.4461, -0.4847],
[-1.3246, -0.7092, 0.1471, 0.5752, 3.1142]])
Variação:
Tensor (1.1131)
Exemplo 2:
Crie um tensor 1D com 5 valores e retorne a variaçã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 variação
print ("Variação:")
Imprimir (tocha.var (dados))
Saída:
Tensor ([10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Variação:
Tensor (242.5780)
Trabalhe com a CPU
Se você deseja executar uma função var () 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 var () 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()
#Obtenha variação ao longo de colunas
print ("Variação entre as colunas:")
Imprimir (tocha.var (dados, dim = 0))
imprimir()
#Obter variação ao longo de linhas
Print ("Variação entre linhas:")
Imprimir (tocha.var (dados, dim = 1))
Saída:
tensor ([[0.1278, 1.3140, 0.5116, -0.1922, 0.9349],
[-1.1720, 1.4805, -0.2628, 0.5970, -0.6479],
[-1.7930, 0.2337, -1.3810, -0.9092, -0.0778]])
Variação entre as colunas:
tensor ([0.9607, 0.4582, 0.9053, 0.5676, 0.6427])
Variação entre linhas:
tensor ([0.3655, 1.1027, 0.7312])
Podemos ver que a variação é devolvida nas colunas e linhas.
Exemplo 2:
Crie um tensor com 5 * 5 matriz com a função CPU () e retorne a variação entre as linhas e as 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()
#Obtenha variação ao longo de colunas
print ("Variação entre as colunas:")
Imprimir (tocha.var (dados, dim = 0))
imprimir()
#Obter variação ao longo de linhas
Print ("Variação entre linhas:")
Imprimir (tocha.var (dados, dim = 1))
Saída:
tensor ([[-0.3587, 1.2200, -0.8744, -0.8184, -1.1658],
[0.1428, -0.6122, -0.9894, 1.8219, -0.0248],
[-1.9626, -0.3423, 1.3046, 0.9737, 1.1691],
[-0.1054, -0.3935, -0.3632, -0.7317, -0.1751],
[0.9651, -0.6595, 0.3152, 0.6908, -0.0370]])
Variação entre as colunas:
tensor (1.1489, 0.6115, 0.9007, 1.2999, 0.6869])
Variação entre linhas:
tensor ([0.9032, 1.1678, 1.9312, 0.0595, 0.4048])
Podemos ver que a variação entre as linhas e colunas foi devolvida.
Conclusão
Nesta lição de Pytorch, discutimos sobre a função var () e como aplicá -la em um tensor para retornar a variação nas colunas e linhas.
Também criamos um tensor com a função CPU () e retornamos a variação. Se o dim não for especificado em tensor de dois ou multidimensionais, ele retorna a variação de todo o tensor.