Pytorch - Cat

Pytorch - Cat
Pytorch er et open source-ramme for Python-programmeringsspråket.

En tensor er et flerdimensjonalt utvalg som brukes til å lagre data. Så for å bruke en tensor, må vi importere fakkelmodulen.

For å lage en tensor er metoden som brukes er tensor ().

Syntaks:

lommelykt.Tensor (data)

Hvor data er en flerdimensjonal matrise.

lommelykt.katt()

For å sammenkoble to eller flere tensorer med en rad eller kolonne, bruk fakkel.katt().

Syntaks:

lommelykt.CAT ((Tensor_Object1, Tensor_Object2, ...), dim)

Parametere:

  1. Det tar to eller flere tensorer som sin første parameter.
  2. Hvis dim = 0, er tensorene sammenkoblet kolonnemessig. Hvis dim = 1, er tensorene sammenkoblet radmessig.

Eksempel 1:

I dette eksemplet vil vi lage to endimensjonale tensorer og sammenkoble dem via rader ved hjelp av fakkel.katt()

#import fakkelmodul
Importer fakkel
#Create 2 Tensors
data1 = fakkel.Tensor ([10,20,30,40,50])
Data2 = fakkel.tensor ([1,2,3,4,5])
#vise
trykk ("Faktiske tensorer:")
Print (Data1)
Print (Data2)
#Concatenate to tensorer
trykk ("Concatenated Tensor:", fakkel.CAT ((Data1, Data2)))

Produksjon:

Faktiske tensorer:
Tensor ([10, 20, 30, 40, 50])
Tensor ([1, 2, 3, 4, 5])
Concatenated Tensor: Tensor ([10, 20, 30, 40, 50, 1, 2, 3, 4, 5])

To tensorer er sammenkoblet horisontalt (radmessig) siden tensorene er av type 1 dimensjonal.

Eksempel 2:

I dette eksemplet vil vi lage fem endimensjonale tensorer og sammenkoble dem radmessig ved hjelp av fakkel.katt().

#import fakkelmodul
Importer fakkel
#Create 5 Tensors
data1 = fakkel.Tensor ([10,20,40,50])
Data2 = fakkel.tensor ([2,3,4,5])
data3 = fakkel.Tensor ([12,45,67,89])
Data4 = fakkel.Tensor ([100,32,45,67])
data5 = fakkel.Tensor ([120,456,1,1])
#vise
trykk ("Faktiske tensorer:")
Print (Data1)
Print (Data2)
Print (Data3)
Print (Data4)
Print (Data5)
#concatenate to tensorer
trykk ("Concatenated Tensor:", fakkel.CAT ((Data1, Data2, Data3, Data4, Data5)))

Produksjon:

Faktiske tensorer:
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])
Concatenated Tensor: Tensor ([10, 20, 40, 50, 2, 3, 4, 5, 12, 45, 67, 89, 100, 32,
45, 67, 120, 456, 1, 1])

Fem tensorer er sammenkoblet horisontalt (radmessig) siden tensorene er av type 1 dimensjonal ..

Eksempel 3:

I dette eksemplet vil vi lage fem todimensjonale tensorer og sammenkoble dem via rader ved hjelp av fakkel.katt().

#import fakkelmodul
Importer fakkel
#skap 5 tensorer med 2 dimensjoner hver
data1 = fakkel.Tensor ([[10,20,40,50], [1,2,3,4]])
Data2 = fakkel.Tensor ([[2,3,4,5], [20,70,89,0]]))
data3 = fakkel.Tensor ([[12,4,5,6], [56,34,56,787]]))
Data4 = fakkel.Tensor ([[100,1,2,3], [67,87,6,78]]))
data5 = fakkel.Tensor ([[120,33,56,78], [45,56,78,6]])
#vise
trykk ("Faktiske tensorer:")
Print (Data1)
Print (Data2)
Print (Data3)
Print (Data4)
Print (Data5)
#Concatenate tensorer via rader
trykk ("Concatenated Tensor:", fakkel.CAT ((Data1, Data2, Data3, Data4, Data5), DIM = 1))

Produksjon:

Faktiske tensorer:
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]])
Concatenated Tensor: 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]])

Fem tensorer er sammenkoblet horisontalt (radmessig) som vi spesifiserte DIM = 1.

Eksempel 4:

I dette eksemplet vil vi lage fem todimensjonale tensorer og sammenkoble dem via kolonner ved hjelp av fakkel.katt().

#import fakkelmodul
Importer fakkel
#skap 5 tensorer med 2 dimensjoner hver
data1 = fakkel.Tensor ([[10,20,40,50], [1,2,3,4]])
Data2 = fakkel.Tensor ([[2,3,4,5], [20,70,89,0]]))
data3 = fakkel.Tensor ([[12,4,5,6], [56,34,56,787]]))
Data4 = fakkel.Tensor ([[100,1,2,3], [67,87,6,78]]))
data5 = fakkel.Tensor ([[120,33,56,78], [45,56,78,6]])
#vise
trykk ("Faktiske tensorer:")
Print (Data1)
Print (Data2)
Print (Data3)
Print (Data4)
Print (Data5)
#Concatenate tensorer via kolonner
trykk ("Concatenated Tensor:", fakkel.CAT ((data1, data2, data3, data4, data5), dim = 0)))

Produksjon:

Faktiske tensorer:
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]])
Sammenkoblet tensor: 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]])

Fem tensorer er sammenkoblet vertikalt (kolonnemessig) som vi spesifiserte DIM = 0.

Arbeid med CPU

Hvis du vil kjøre en katt () -funksjon på CPU, må vi lage en tensor med en CPU () -funksjon. Dette kjøres på en CPU -maskin.

På dette tidspunktet, når vi lager en tensor, kan vi bruke CPU () -funksjonen.

Syntaks:
lommelykt.Tensor (data).prosessor()

Eksempel 1:

I dette eksemplet vil vi lage to endimensjonale tensorer på CPU og sammenkoble dem via rader ved hjelp av fakkel.katt().

#import fakkelmodul
Importer fakkel
#Create 2 Tensors
data1 = fakkel.Tensor ([10,20,30,40,50]).prosessor()
Data2 = fakkel.tensor ([1,2,3,4,5]).prosessor()
#vise
trykk ("Faktiske tensorer:")
Print (Data1)
Print (Data2)
#Concatenate to tensorer
trykk ("Concatenated Tensor:", fakkel.CAT ((Data1, Data2)))

Produksjon:

Faktiske tensorer:
Tensor ([10, 20, 30, 40, 50])
Tensor ([1, 2, 3, 4, 5])
Concatenated Tensor: Tensor ([10, 20, 30, 40, 50, 1, 2, 3, 4, 5])

To tensorer er sammenkoblet horisontalt (radmessig) siden tensorene er av type 1 dimensjonal.

Eksempel 2:

I dette eksemplet vil vi lage fem endimensjonale tensorer på CPU og concatenate radmessig ved hjelp av fakkel.katt().

#import fakkelmodul
Importer fakkel
#Create 5 Tensors
data1 = fakkel.Tensor ([10,20,40,50]).prosessor()
Data2 = fakkel.tensor ([2,3,4,5]).prosessor()
data3 = fakkel.Tensor ([12,45,67,89]).prosessor()
Data4 = fakkel.Tensor ([100,32,45,67]).prosessor()
data5 = fakkel.Tensor ([120,456,1,1]).prosessor()
#vise
trykk ("Faktiske tensorer:")
Print (Data1)
Print (Data2)
Print (Data3)
Print (Data4)
Print (Data5)
#concatenate to tensorer
trykk ("Concatenated Tensor:", fakkel.CAT ((Data1, Data2, Data3, Data4, Data5)))

Produksjon:

Faktiske tensorer:
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])
Concatenated Tensor: Tensor ([10, 20, 40, 50, 2, 3, 4, 5, 12, 45, 67, 89, 100, 32,
45, 67, 120, 456, 1, 1])

Fem tensorer er sammenkoblet horisontalt (radmessig) siden tensorene er av type 1 dimensjonal.

Eksempel 3:

I dette eksemplet vil vi lage fem todimensjonale tensorer på CPU og sammenkoble dem via rader ved hjelp av fakkel.katt().

#import fakkelmodul
Importer fakkel
#skap 5 tensorer med 2 dimensjoner hver
data1 = fakkel.Tensor ([[10,20,40,50], [1,2,3,4]]).prosessor()
Data2 = fakkel.Tensor ([[2,3,4,5], [20,70,89,0]])).prosessor()
data3 = fakkel.Tensor ([[12,4,5,6], [56,34,56,787]])).prosessor()
Data4 = fakkel.Tensor ([[100,1,2,3], [67,87,6,78]])).prosessor()
data5 = fakkel.Tensor ([[120,33,56,78], [45,56,78,6]]).prosessor()
#vise
trykk ("Faktiske tensorer:")
Print (Data1)
Print (Data2)
Print (Data3)
Print (Data4)
Print (Data5)
#Concatenate tensorer via rader
trykk ("Concatenated Tensor:", fakkel.CAT ((Data1, Data2, Data3, Data4, Data5), DIM = 1))

Produksjon:

Faktiske tensorer:
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]])
Concatenated Tensor: 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]])

Fem tensorer er sammenkoblet horisontalt (rad0-vis) som vi spesifiserte DIM = 1.

Eksempel 4:

I dette eksemplet vil vi lage fem todimensjonale tensorer på CPU og sammenkoble dem via kolonner ved hjelp av fakkel.katt().

#import fakkelmodul
Importer fakkel
#skap 5 tensorer med 2 dimensjoner hver
data1 = fakkel.Tensor ([[10,20,40,50], [1,2,3,4]]).prosessor()
Data2 = fakkel.Tensor ([[2,3,4,5], [20,70,89,0]])).prosessor()
data3 = fakkel.Tensor ([[12,4,5,6], [56,34,56,787]])).prosessor()
Data4 = fakkel.Tensor ([[100,1,2,3], [67,87,6,78]])).prosessor()
data5 = fakkel.Tensor ([[120,33,56,78], [45,56,78,6]]).prosessor()
#vise
trykk ("Faktiske tensorer:")
Print (Data1)
Print (Data2)
Print (Data3)
Print (Data4)
Print (Data5)
#Concatenate tensorer via kolonner
trykk ("Concatenated Tensor:", fakkel.CAT ((data1, data2, data3, data4, data5), dim = 0)))

Produksjon:

Faktiske tensorer:
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]])
Sammenkoblet tensor: 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]])

Fem tensorer er sammenkoblet vertikalt (kolonnemessig) som vi spesifiserte DIM = 0.

Konklusjon

Vi så hvordan vi kan sammenkoble to eller flere tensorer horisontalt og vertikalt i Pytorch ved bruk av CAT () -funksjonen. Hvis dim = 0, er tensorene sammenkoblet kolonnemessig; Hvis dim = 1, er tensorene sammenkoblet radmessig. I denne artikkelen implementerte vi flere eksempler for å sammenkoble en og todimensjonal tensorer og implementerte også CAT () på CPU ved hjelp av CPU () -funksjonen.