Pytorch - Cat

Pytorch - Cat
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.gato()

Para concatenar dois ou mais tensores por uma linha ou coluna, use tocha.gato().

Sintaxe:

tocha.gato ((tensor_object1, tensor_object2,…), dim)

Parâmetros:

  1. São necessários dois ou mais tensores como seu primeiro parâmetro.
  2. Se dim = 0, os tensores são concatenados em termos de coluna. Se dim = 1, os tensores são concatenados em termos de linha.

Exemplo 1:

Neste exemplo, criaremos dois tensores unidimensionais e os concatenaremos via linhas usando a tocha.gato()

#import módulo tocha
importação de tocha
#Crie 2 tensores
Data1 = Torch.Tensor ([10,20,30,40,50])
Data2 = Torch.tensor ([1,2,3,4,5])
#mostrar
Imprimir ("Tensores reais:")
Imprimir (Data1)
Imprimir (Data2)
#CONCATENATE DOIS TENSORES
Imprima ("Tensor concatenado:", tocha.Cat ((Data1, Data2)))

Saída:

Tensores reais:
tensor ([10, 20, 30, 40, 50])
tensor ([1, 2, 3, 4, 5])
Tensor concatenado: tensor ([10, 20, 30, 40, 50, 1, 2, 3, 4, 5])

Dois tensores são concatenados horizontalmente (em termos de remos), pois os tensores são de dimensões do tipo 1.

Exemplo 2:

Neste exemplo, criaremos cinco tensores unidimensionais e os concataremos em termos de remar usando a tocha.gato().

#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,45,67,89])
Data4 = Torch.Tensor ([100,32,45,67])
Data5 = Torch.Tensor ([120,456,1,1])
#mostrar
Imprimir ("Tensores reais:")
Imprimir (Data1)
Imprimir (Data2)
Imprimir (Data3)
Imprimir (Data4)
Imprimir (Data5)
#CONCATENATE DOIS TENSORES
Imprima ("Tensor concatenado:", tocha.CAT ((Data1, Data2, Data3, Data4, Data5))))

Saída:

Tensores reais:
tensor ([10, 20, 40, 50])
tensor ([2, 3, 4, 5])
Tensor ([12, 45, 67, 89])
tensor ([100, 32, 45, 67])
tensor ([120, 456, 1, 1])
Tensor concatenado: tensor ([10, 20, 40, 50, 2, 3, 4, 5, 12, 45, 67, 89, 100, 32,
45, 67, 120, 456, 1, 1])

Cinco tensores são concatenados horizontalmente (emoção), pois os tensores são de dimensionários tipo 1…

Exemplo 3:

Neste exemplo, criaremos cinco tensores bidimensionais e os concatenaremos via linhas usando tocha.gato().

#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,4,5,6], [56,34,56,787]])
Data4 = Torch.tensor ([[100,1,2,3], [67,87,6,78]])
Data5 = Torch.tensor ([[120,33,56,78], [45,56,78,6]])))
#mostrar
Imprimir ("Tensores reais:")
Imprimir (Data1)
Imprimir (Data2)
Imprimir (Data3)
Imprimir (Data4)
Imprimir (Data5)
#CONCATENATE Tensores via linhas
Imprima ("Tensor concatenado:", tocha.CAT ((Data1, Data2, Data3, Data4, Data5), Dim = 1))

Saída:

Tensores reais:
tensor ([[10, 20, 40, 50],
[1, 2, 3, 4]])
tensor ([[2, 3, 4, 5],
[20, 70, 89, 0]])
tensor ([[12, 4, 5, 6],
[56, 34, 56, 787]])
tensor ([[100, 1, 2, 3],
[67, 87, 6, 78]])
Tensor ([[120, 33, 56, 78],
[45, 56, 78, 6]])
Tensor concatenado: tensor ([[10, 20, 40, 50, 2, 3, 4, 5, 12, 4, 5, 6, 100, 1,
2, 3, 120, 33, 56, 78],
[1, 2, 3, 4, 20, 70, 89, 0, 56, 34, 56, 787, 67, 87,
6, 78, 45, 56, 78, 6]])

Cinco tensores são concatenados horizontalmente (emoções) como especificamos dim = 1.

Exemplo 4:

Neste exemplo, criaremos cinco tensores bidimensionais e os concatenaremos por meio de colunas usando tocha.gato().

#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,4,5,6], [56,34,56,787]])
Data4 = Torch.tensor ([[100,1,2,3], [67,87,6,78]])
Data5 = Torch.tensor ([[120,33,56,78], [45,56,78,6]])))
#mostrar
Imprimir ("Tensores reais:")
Imprimir (Data1)
Imprimir (Data2)
Imprimir (Data3)
Imprimir (Data4)
Imprimir (Data5)
#CONCATENATE Tensores via colunas
Imprima ("Tensor concatenado:", tocha.CAT ((Data1, Data2, Data3, Data4, Data5), Dim = 0))

Saída:

Tensores reais:
tensor ([[10, 20, 40, 50],
[1, 2, 3, 4]])
tensor ([[2, 3, 4, 5],
[20, 70, 89, 0]])
tensor ([[12, 4, 5, 6],
[56, 34, 56, 787]])
tensor ([[100, 1, 2, 3],
[67, 87, 6, 78]])
Tensor ([[120, 33, 56, 78],
[45, 56, 78, 6]])
Tensor concatenado: tensor ([[10, 20, 40, 50],
[1, 2, 3, 4],
[2, 3, 4, 5],
[20, 70, 89, 0],
[12, 4, 5, 6],
[56, 34, 56, 787],
[100, 1, 2, 3],
[67, 87, 6, 78],
[120, 33, 56, 78],
[45, 56, 78, 6]])

Cinco tensores são concatenados verticalmente (em termos de coluna) como especificamos dim = 0.

Trabalhe com a CPU

Se você deseja executar uma função CAT () 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 os concatenaremos via linhas usando tocha.gato().

#import módulo tocha
importação de tocha
#Crie 2 tensores
Data1 = Torch.Tensor ([10,20,30,40,50]).CPU()
Data2 = Torch.tensor ([1,2,3,4,5]).CPU()
#mostrar
Imprimir ("Tensores reais:")
Imprimir (Data1)
Imprimir (Data2)
#CONCATENATE DOIS TENSORES
Imprima ("Tensor concatenado:", tocha.Cat ((Data1, Data2)))

Saída:

Tensores reais:
tensor ([10, 20, 30, 40, 50])
tensor ([1, 2, 3, 4, 5])
Tensor concatenado: tensor ([10, 20, 30, 40, 50, 1, 2, 3, 4, 5])

Dois tensores são concatenados horizontalmente (em termos de remos), pois os tensores são de dimensões do tipo 1.

Exemplo 2:

Neste exemplo, criaremos cinco tensores unidimensionais na CPU e concatenaremos em termos de linha usando tocha.gato().

#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,45,67,89]).CPU()
Data4 = Torch.Tensor ([100,32,45,67]).CPU()
Data5 = Torch.Tensor ([120,456,1,1]).CPU()
#mostrar
Imprimir ("Tensores reais:")
Imprimir (Data1)
Imprimir (Data2)
Imprimir (Data3)
Imprimir (Data4)
Imprimir (Data5)
#CONCATENATE DOIS TENSORES
Imprima ("Tensor concatenado:", tocha.CAT ((Data1, Data2, Data3, Data4, Data5))))

Saída:

Tensores reais:
tensor ([10, 20, 40, 50])
tensor ([2, 3, 4, 5])
Tensor ([12, 45, 67, 89])
tensor ([100, 32, 45, 67])
tensor ([120, 456, 1, 1])
Tensor concatenado: tensor ([10, 20, 40, 50, 2, 3, 4, 5, 12, 45, 67, 89, 100, 32,
45, 67, 120, 456, 1, 1])

Cinco tensores são concatenados horizontalmente (emoção), pois os tensores são de dimensões do tipo 1.

Exemplo 3:

Neste exemplo, criaremos cinco tensores bidimensionais na CPU e os concatenarão via linhas usando tocha.gato().

#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,4,5,6], [56,34,56,787]]).CPU()
Data4 = Torch.tensor ([[100,1,2,3], [67,87,6,78]]).CPU()
Data5 = Torch.tensor ([[120,33,56,78], [45,56,78,6]]))).CPU()
#mostrar
Imprimir ("Tensores reais:")
Imprimir (Data1)
Imprimir (Data2)
Imprimir (Data3)
Imprimir (Data4)
Imprimir (Data5)
#CONCATENATE Tensores via linhas
Imprima ("Tensor concatenado:", tocha.CAT ((Data1, Data2, Data3, Data4, Data5), Dim = 1))

Saída:

Tensores reais:
tensor ([[10, 20, 40, 50],
[1, 2, 3, 4]])
tensor ([[2, 3, 4, 5],
[20, 70, 89, 0]])
tensor ([[12, 4, 5, 6],
[56, 34, 56, 787]])
tensor ([[100, 1, 2, 3],
[67, 87, 6, 78]])
Tensor ([[120, 33, 56, 78],
[45, 56, 78, 6]])
Tensor concatenado: tensor ([[10, 20, 40, 50, 2, 3, 4, 5, 12, 4, 5, 6, 100, 1,
2, 3, 120, 33, 56, 78],
[1, 2, 3, 4, 20, 70, 89, 0, 56, 34, 56, 787, 67, 87,
6, 78, 45, 56, 78, 6]])

Cinco tensores são concatenados horizontalmente (Row0-Wise) como especificamos dim = 1.

Exemplo 4:

Neste exemplo, criaremos cinco tensores bidimensionais na CPU e os concatenarão por meio de colunas usando tocha.gato().

#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,4,5,6], [56,34,56,787]]).CPU()
Data4 = Torch.tensor ([[100,1,2,3], [67,87,6,78]]).CPU()
Data5 = Torch.tensor ([[120,33,56,78], [45,56,78,6]]))).CPU()
#mostrar
Imprimir ("Tensores reais:")
Imprimir (Data1)
Imprimir (Data2)
Imprimir (Data3)
Imprimir (Data4)
Imprimir (Data5)
#CONCATENATE Tensores via colunas
Imprima ("Tensor concatenado:", tocha.CAT ((Data1, Data2, Data3, Data4, Data5), Dim = 0))

Saída:

Tensores reais:
tensor ([[10, 20, 40, 50],
[1, 2, 3, 4]])
tensor ([[2, 3, 4, 5],
[20, 70, 89, 0]])
tensor ([[12, 4, 5, 6],
[56, 34, 56, 787]])
tensor ([[100, 1, 2, 3],
[67, 87, 6, 78]])
Tensor ([[120, 33, 56, 78],
[45, 56, 78, 6]])
Tensor concatenado: tensor ([[10, 20, 40, 50],
[1, 2, 3, 4],
[2, 3, 4, 5],
[20, 70, 89, 0],
[12, 4, 5, 6],
[56, 34, 56, 787],
[100, 1, 2, 3],
[67, 87, 6, 78],
[120, 33, 56, 78],
[45, 56, 78, 6]])

Cinco tensores são concatenados verticalmente (em termos de coluna) como especificamos dim = 0.

Conclusão

Vimos como concatenar dois ou mais tensores horizontalmente e verticalmente em pytorch usando a função Cat (). Se dim = 0, os tensores são concatenados em coluna; Se dim = 1, os tensores são concatenados em termos de linha. Neste artigo, implementamos vários exemplos para concatenar os tensores bidimensionais e também implementamos Cat () na CPU usando a função CPU ().