Pytorch -Hstack

Pytorch -Hstack
Pytorch é uma estrutura de código aberto para a linguagem de programação Python.

Um tensor é uma matriz multidimensional que é usada para armazenar dados. Então, 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.

tocha.hstack ()

tocha.hstack () se junta a dois ou mais tensores horizontalmente,

Sintaxe:
tocha.hstack (tensor_object1, tensor_object2,…)

Parâmetro:
Leva dois ou mais tensores.

Exemplo 1:
Neste exemplo, criaremos dois tensores unidimensionais e nos juntaremos a eles horizontalmente usando uma tocha.hstack ().

#import módulo tocha
importação de tocha
#Crie 2 tensores
Data1 = Torch.Tensor ([10,20,40,50])
Data2 = Torch.tensor ([2,3,4,5])
#mostrar
Imprimir ("Tensores reais:")
Imprimir (Data1)
Imprimir (Data2)
#até dois tensores
impressão ("juntou -se a tensor:", tocha.hstack ((data1, data2)))

Saída:

Tensores reais:
tensor ([10, 20, 40, 50])
tensor ([2, 3, 4, 5])
Juntou -se ao tensor: tensor ([10, 20, 40, 50, 2, 3, 4, 5])
Dois tensores se juntaram à horizontal.

Exemplo 2:
Neste exemplo, criaremos cinco tensores unidimensionais e nos juntaremos a eles horizontalmente usando uma tocha.hstack ().

#import módulo tocha
importação de tocha
#Crie 5 tensores
Data1 = Torch.Tensor ([10,20,40,50])
Data2 = Torch.tensor ([2,3,4,5])
Data3 = Torch.Tensor ([12])
Data4 = Torch.Tensor ([100])
Data5 = Torch.Tensor ([120.456])
#mostrar
Imprimir ("Tensores reais:")
Imprimir (Data1)
Imprimir (Data2)
Imprimir (Data3)
Imprimir (Data4)
Imprimir (Data5)
#até cinco tensores
impressão ("juntou -se a tensor:", tocha.hstack ((Data1, Data2, Data3, Data4, Data5))))

Saída:

Tensores reais:
tensor ([10, 20, 40, 50])
tensor ([2, 3, 4, 5])
Tensor ([12])
Tensor ([100])
Tensor ([120, 456])
Juntou -se ao tensor: tensor ([10, 20, 40, 50, 2, 3, 4, 5, 12, 100, 120, 456])

Cinco tensores são unidos horizontalmente.

Exemplo 3:
Neste exemplo, criaremos cinco tensores bidimensionais e nos juntaremos a eles horizontalmente usando uma tocha.hstack ().

#import módulo tocha
importação de tocha
#crete 5 tensores com 2 dimensões cada
Data1 = Torch.tensor ([[10,20,40,50], [1,2,3,4]]))
Data2 = Torch.tensor ([[2,3,4,5], [20,70,89,0]])
Data3 = Torch.Tensor ([[12], [56]])
Data4 = Torch.Tensor ([[100], [67]])
Data5 = Torch.Tensor ([[120], [456]])
#mostrar
Imprimir ("Tensores reais:")
Imprimir (Data1)
Imprimir (Data2)
Imprimir (Data3)
Imprimir (Data4)
Imprimir (Data5)
#até cinco tensores
impressão ("juntou -se a tensor:", tocha.hstack ((Data1, Data2, Data3, Data4, Data5))))

Saída:

Tensores reais:
tensor ([[10, 20, 40, 50],
[1, 2, 3, 4]])
tensor ([[2, 3, 4, 5],
[20, 70, 89, 0]])
Tensor ([[12],
[56]])
tensor ([[100],
[67]])
Tensor ([[120],
[456]])
Juntou -se ao tensor: tensor ([[10, 20, 40, 50, 2, 3, 4, 5, 12, 100, 120],
[1, 2, 3, 4, 20, 70, 89, 0, 56, 67, 456]])

Cinco tensores são unidos horizontalmente.

Trabalhe com a CPU

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

Neste momento, quando estamos criando um tensor, podemos usar a função CPU ().

Sintaxe:
tocha.Tensor (dados).CPU()

Exemplo 1:
Neste exemplo, criaremos dois tensores unidimensionais na CPU e nos juntaremos a eles horizontalmente usando uma tocha.hstack ().

#import módulo tocha
importação de tocha
#Crie 2 tensores
Data1 = Torch.Tensor ([10,20,40,50].CPU()
Data2 = Torch.Tensor ([2,3,4,5].CPU()
#mostrar
Imprimir ("Tensores reais:")
Imprimir (Data1)
Imprimir (Data2)
#até dois tensores
impressão ("juntou -se a tensor:", tocha.hstack ((data1, data2)))

Saída:

Tensores reais:
tensor ([10, 20, 40, 50])
tensor ([2, 3, 4, 5])
Juntou -se ao tensor: tensor ([10, 20, 40, 50, 2, 3, 4, 5])

Dois tensores são unidos horizontalmente.

Exemplo 2:

Neste exemplo, criaremos cinco tensores unidimensionais na CPU e nos juntaremos a eles horizontalmente usando uma tocha.hstack ().

#import módulo tocha
importação de tocha
#Crie 5 tensores
Data1 = Torch.Tensor ([10,20,40,50]).CPU()
Data2 = Torch.tensor ([2,3,4,5]).CPU()
Data3 = Torch.Tensor ([12]).CPU()
Data4 = Torch.Tensor ([100]).CPU()
Data5 = Torch.Tensor ([120.456]).CPU()
#mostrar
Imprimir ("Tensores reais:")
Imprimir (Data1)
Imprimir (Data2)
Imprimir (Data3)
Imprimir (Data4)
Imprimir (Data5)
#até cinco tensores
impressão ("juntou -se a tensor:", tocha.hstack ((Data1, Data2, Data3, Data4, Data5))))

Saída:

Tensores reais:
tensor ([10, 20, 40, 50])
tensor ([2, 3, 4, 5])
Tensor ([12])
Tensor ([100])
Tensor ([120, 456])
Juntou -se ao tensor: tensor ([10, 20, 40, 50, 2, 3, 4, 5, 12, 100, 120, 456])

Cinco tensores são unidos horizontalmente.

Exemplo 3:
Neste exemplo, criaremos cinco tensores bidimensionais na CPU e nos juntaremos a eles horizontalmente usando uma tocha.hstack ().

#import módulo tocha
importação de tocha
#crete 5 tensores com 2 dimensões cada
Data1 = Torch.tensor ([[10,20,40,50], [1,2,3,4]])).CPU()
Data2 = Torch.tensor ([[2,3,4,5], [20,70,89,0]]).CPU()
Data3 = Torch.Tensor ([[12], [56]]).CPU()
Data4 = Torch.Tensor ([[100], [67]]).CPU()
Data5 = Torch.Tensor ([[120], [456]]).CPU()
#mostrar
Imprimir ("Tensores reais:")
Imprimir (Data1)
Imprimir (Data2)
Imprimir (Data3)
Imprimir (Data4)
Imprimir (Data5)
#até cinco tensores
impressão ("juntou -se a tensor:", tocha.hstack ((Data1, Data2, Data3, Data4, Data5))))

Saída:

Tensores reais:
tensor ([[10, 20, 40, 50],
[1, 2, 3, 4]])
tensor ([[2, 3, 4, 5],
[20, 70, 89, 0]])
Tensor ([[12],
[56]])
tensor ([[100],
[67]])
Tensor ([[120],
[456]])
Juntou -se ao tensor: tensor ([[10, 20, 40, 50, 2, 3, 4, 5, 12, 100, 120],
[1, 2, 3, 4, 20, 70, 89, 0, 56, 67, 456]])

Cinco tensores são unidos horizontalmente.

Conclusão

Vimos como ingressar em dois ou mais tensores horizontalmente em pytorch usando a função hstack (). Neste artigo, implementamos vários exemplos para ingressar em um e bidimensional tensores e também implementamos o hstack () na CPU usando a função CPU ().