Pytorch - mediana

Pytorch - mediana
Veremos como devolver a mediana de um tensor usando mediana () 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.

Mediana()

A mediana () em Pytorch é usada para devolver a mediana dos elementos presentes no objeto de tensor de entrada.

Sintaxe:

tocha.mediana (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 leva a mediana ao longo de uma coluna e Dim = 1 especifica a comparação de linha que leva a mediana ao longo da linha.

Retornar:

Ele retorna a mediana junto com a posição do índice onde está presente no tensor.

Exemplo 1:

Neste exemplo, criaremos um tensor com 2 dimensões que possuem 3 linhas e 5 colunas e apliquem a função mediana () 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 mediana ao longo de colunas
Imprimir ("mediana entre colunas:")
Imprimir (tocha.mediana (dados, dim = 0))
imprimir()
#Get Mediana ao longo das linhas
Imprima ("mediana através das linhas:")
Imprimir (tocha.mediana (dados, dim = 1))

Saída:

tensor ([[0.9562, 0.4517, 2.1758, -0.7846, -0.7103],
[-0.4080, 1.9359, 1.0324, 0.0120, -0.4021],
[0.6448, -0.6840, 1.5963, 0.4659, 0.5414]])
Mediana entre colunas:
tocha.return_types.mediana(
valores = tensor ([0.6448, 0.4517, 1.5963, 0.0120, -0.4021]),
índices = tensor ([2, 0, 2, 1, 1])))
Mediana entre linhas:
tocha.return_types.mediana(
valores = tensor ([0.4517, 0.0120, 0.5414]),
índices = tensor ([1, 3, 4])))

Podemos ver que a mediana é devolvida nas colunas e linhas junto com as posições do índice (índices).

Exemplo 2:

Crie um tensor com 5 * 5 matriz e devolva a mediana através das 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 mediana ao longo de colunas
Imprimir ("mediana entre colunas:")
Imprimir (tocha.mediana (dados, dim = 0))
imprimir()
#Get Mediana ao longo das linhas
Imprima ("mediana através das linhas:")
Imprimir (tocha.mediana (dados, dim = 1))

Saída:

tensor ([[-1.0895, 1.2629, 0.5036, -0.8317, 0.9415],
[-0.1067, 0.5748, 0.1773, 0.1904, 0.1359],
[-0.7851, -0.1791, -0.1605, 1.8524, 0.3375],
[-0.6451, 0.5093, -2.0334, -0.6462, -0.5074],
[-0.7813, -1.5316, 0.3567, 1.5330, 0.6483]])
Mediana entre colunas:
tocha.return_types.mediana(
valores = tensor ([-0.7813, 0.5093, 0.1773, 0.1904, 0.3375]),
índices = tensor ([4, 3, 1, 1, 2])))
Mediana entre linhas:
tocha.return_types.mediana(
valores = tensor ([0.5036, 0.1773, -0.1605, -0.6451, 0.3567]),
índices = tensor ([2, 2, 2, 0, 2])))

Podemos ver que a mediana através das fileiras e colunas foi devolvida junto com os índices.

Sem o parâmetro DIM

Se não especificarmos o parâmetro DIM, ele retorna toda a mediana.

Exemplo 1:

Crie um tensor 2D com 5*5 matriz e devolva a mediana.

#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 mediana
Imprimir ("mediana:")
Imprimir (tocha.mediana (dados))

Saída:

tensor ([[0.7692, 1.9155, 1.0876, 0.6794, 0.5791],
[-0.2212, -1.4801, 0.5487, -0.5765, -0.4750],
[-0.0681, 0.5216, 1.1400, -0.1743, 0.0344],
[-0.4639, -1.2341, -1.0520, 0.1718, -0.1909],
[0.6911, -1.4869, 2.7762, -0.3645, -0.4775]])
Mediana:
Tensor (-0.0681)

Exemplo 2:

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

#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 mediana
Imprimir ("mediana:")
Imprimir (tocha.mediana (dados))

Saída:

Tensor ([10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Mediana:
Tensor (30.6000)

Trabalhe com a CPU

Se você deseja executar uma função mediana () 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 mediana () 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 mediana ao longo de colunas
Imprimir ("mediana entre colunas:")
Imprimir (tocha.mediana (dados, dim = 0))
imprimir()
#Get Mediana ao longo das linhas
Imprima ("mediana através das linhas:")
Imprimir (tocha.mediana (dados, dim = 1))

Saída:

tensor ([[0.9872, 0.1258, -0.0952, 0.3269, -1.6033],
[-0.2432, -1.0049, -0.9058, 0.9438, 0.3060],
[-2.8293, 1.4515, -0.9482, 0.9876, 0.2767]])
Mediana entre colunas:
tocha.return_types.mediana(
valores = tensor ([-0.2432, 0.1258, -0.9058, 0.9438, 0.2767]),
índices = tensor ([1, 0, 1, 1, 2])))
Mediana entre linhas:
tocha.return_types.mediana(
valores = tensor ([0.1258, -0.2432, 0.2767]),
índices = tensor ([1, 0, 4])))

Podemos ver que a mediana é devolvida através das colunas e fileiras com índices.

Exemplo 2:

Crie um tensor com 5 * 5 matriz com a função CPU () e retorne a mediana através das 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 mediana ao longo de colunas
Imprimir ("mediana entre colunas:")
Imprimir (tocha.mediana (dados, dim = 0))
imprimir()
#Get Mediana ao longo das linhas
Imprima ("mediana através das linhas:")
Imprimir (tocha.mediana (dados, dim = 1))

Saída:

tensor ([[-0.3739, -1.2500, -1.9125, -0.4597, 0.2058],
[-0.1885, -0.4993, -1.0801, -0.1367, -0.5683],
[-0.1242, 0.1221, -0.2267, -0.7851, 0.6797],
[2.2487, 0.0141, 0.1632, -0.4924, -0.9134],
[-1.6101, 0.5051, -0.2004, -0.4901, -0.3358]])
Mediana entre colunas:
tocha.return_types.mediana(
valores = tensor ([-0.1885, 0.0141, -0.2267, -0.4901, -0.3358]),
índices = tensor ([1, 3, 2, 4, 4])))
Mediana entre linhas:
tocha.return_types.mediana(
valores = tensor ([-0.4597, -0.4993, -0.1242, 0.0141, -0.3358]),
índices = tensor ([3, 1, 0, 1, 4])))

Podemos ver que a mediana através das fileiras e colunas foi devolvida.

Conclusão

Nesta lição de Pytorch, aprendemos sobre a função mediana () e como aplicá -la em um tensor para retornar uma mediana através das colunas e linhas.

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