Pytorch - min

Pytorch - min
Veremos como retornar os valores mínimos de um tensor usando min () 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.

Min ()

Min () em pytorch é usado para retornar o mínimo de elementos presentes no objeto de tensor de entrada.

Sintaxe:

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

Retornar:

Ele também retorna os índices de valores mínimos.

Exemplo 1:

Neste exemplo, criaremos um tensor com 2 dimensões que possuem 3 linhas e 5 colunas e apliquem a função min () 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()
#gen valores mínimos ao longo das colunas
print ("Valores mínimos nas colunas:")
Imprimir (tocha.min (dados, dim = 0))
imprimir()
#gen valores mínimos ao longo de linhas
Imprima ("Valores mínimos entre linhas:")
Imprimir (tocha.min (dados, dim = 1))

Saída:

Tensor ([[1.2472E -01, -8.7776e-01, 4.5338E-01, 2.2461E -01, -1.4291E+00],
[2.6528E+00, -1.1316e-03, 1.4365E+00, 3.8547E-01, 2.1671E-01],
[-7.2345E -01, -4.1827E-01, 4.8590E -01, -1.3218e+00, 1.5717E+00]])
Valores mínimos nas colunas:
tocha.return_types.min (
valores = tensor ([-0.7235, -0.8778, 0.4534, -1.3218, -1.4291]),
índices = tensor ([2, 0, 0, 2, 0])))
Valores mínimos entre linhas:
tocha.return_types.min (
valores = tensor ([-1.4291E+00, -1.1316E -03, -1.3218E+00]),
índices = tensor ([4, 1, 3])))

Podemos ver que os valores mínimos são retornados nas colunas e linhas junto com seus índices.

Exemplo 2:

Crie um tensor com 5 * 5 matriz e retorne os valores mínimos 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()
#gen valores mínimos ao longo das colunas
print ("Valores mínimos nas colunas:")
Imprimir (tocha.min (dados, dim = 0))
imprimir()
#gen valores mínimos ao longo de linhas
Imprima ("Valores mínimos entre linhas:")
Imprimir (tocha.min (dados, dim = 1))

Saída:

tensor ([[0.3584, -0.8393, -0.3111, -0.4203, 1.4332],
[1.2702, 2.4583, -1.5547, -1.4465, 1.0672],
[-0.2497, -1.7490, 0.2130, 0.3989, -0.1520],
[-1.1165, -2.1209, 0.7191, 0.4764, 2.6431],
[1.8286, 0.8787, -0.4475, 1.1866, -1.4123]])
Valores mínimos nas colunas:
tocha.return_types.min (
valores = tensor ([-1.1165, -2.1209, -1.5547, -1.4465, -1.4123]),
índices = tensor ([3, 3, 1, 1, 4])))
Valores mínimos entre linhas:
tocha.return_types.min (
valores = tensor ([-0.8393, -1.5547, -1.7490, -2.1209, -1.4123]),
índices = tensor ([1, 2, 1, 1, 4])))

Podemos ver que os valores mínimos entre as linhas e colunas foram devolvidos junto com seus índices.

Sem o parâmetro DIM

Se não especificarmos o parâmetro DIM, ele retornará o valor mínimo de todo o tensor.

Exemplo 1:

Crie um tensor 2D com 5*5 matriz e retorne o valor mínimo.

#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 valor mínimo
print ("Valor mínimo:")
Imprimir (tocha.min (dados))

Saída:

tensor ([[-0.5350, 0.5439, -0.1100, -1.0623, -1.3757],
[1.5085, -1.0191, 0.4068, -0.4972, 0.3982],
[-0.3360, 0.2665, -0.3139, 0.7079, 0.6624],
[-0.5330, 0.0763, -0.8529, -0.5675, 0.0718],
[0.4249, -1.3827, -1.7805, -1.1841, -0.5587]])
Valor mínimo:
tensor (-1.7805)

Exemplo 2:

Crie um tensor 1D com 5 valores e retorne o valor mínimo.

#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 valor mínimo
print ("Valor mínimo:")
Imprimir (tocha.min (dados))

Saída:

Tensor ([10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Valor mínimo:
Tensor (10.6000)

Trabalhe com a CPU

Se você deseja executar uma função min () 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 min () 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()
#gen valores mínimos ao longo das colunas
print ("Valores mínimos nas colunas:")
Imprimir (tocha.min (dados, dim = 0))
imprimir()
#gen valores mínimos ao longo de linhas
Imprima ("Valores mínimos entre linhas:")
Imprimir (tocha.min (dados, dim = 1))

Saída:

tensor ([[-0.7268, -0.6932, 1.3316, -1.3355, -0.5170],
[1.1113, -1.1252, 0.4458, -0.7343, 2.2207],
[-0.3300, 0.7784, -0.6643, 0.7307, 1.4468]])
Valores mínimos nas colunas:
tocha.return_types.min (
valores = tensor ([-0.7268, -1.1252, -0.6643, -1.3355, -0.5170]),
índices = tensor ([0, 1, 2, 0, 0])))
Valores mínimos entre linhas:
tocha.return_types.min (
valores = tensor ([-1.3355, -1.1252, -0.6643]),
índices = tensor ([3, 1, 2])))

Podemos ver que os valores mínimos são retornados nas colunas e linhas junto com seus índices.

Exemplo 2:

Crie um tensor com 5 * 5 matriz com a função CPU () e retorne os valores mínimos 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()
#gen valores mínimos ao longo das colunas
print ("Valores mínimos nas colunas:")
Imprimir (tocha.min (dados, dim = 0))
imprimir()
#gen valores mínimos ao longo de linhas
Imprima ("Valores mínimos entre linhas:")
Imprimir (tocha.min (dados, dim = 1))

Saída:

tensor ([[-0.4774, -0.6484, -1.5810, 0.9154, 0.9417],
[-1.1097, -0.9460, 1.3099, 2.0782, -0.3319],
[0.2239, 1.1931, -0.8064, -1.5089, 2.0238],
[-0.6963, -0.0779, 0.1755, 0.9848, 1.3191],
[1.0035, -0.2865, 1.6750, 0.0255, 1.2538]])
Valores mínimos nas colunas:
tocha.return_types.min (
valores = tensor ([-1.1097, -0.9460, -1.5810, -1.5089, -0.3319]),
índices = tensor ([1, 1, 0, 2, 1])))
Valores mínimos entre linhas:
tocha.return_types.min (
valores = tensor ([-1.5810, -1.1097, -1.5089, -0.6963, -0.2865]),
índices = tensor ([2, 0, 3, 0, 1])))

Podemos ver que os valores mínimos entre as linhas e colunas foram devolvidos junto com seus índices.

Conclusão

Nesta lição de Pytorch, aprendemos sobre a função min () e como aplicá -la em um tensor para retornar os valores mínimos nas colunas e linhas. Ele também retorna as posições do índice junto com os valores mínimos retornados.

Também criamos um tensor com a função CPU () e retornamos os valores mínimos. Se o dim não for especificado em tensor de dois ou multidimensionais, ele retornará o valor mínimo de todo o tensor.