Pytorch - Cumsum

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

lommelykt.Cumsum () returnerer den kumulative summen av elementer i en todimensjonal tensor over rader eller på tvers av kolonner.

Syntaks:
lommelykt.cumsum (tensor_object, dim)

Parametere:

  1. Det tar Tensor_Object som den første parameteren. Det må være todimensjonalt.
  2. DIM = 0 spesifiserer kolonnemessig beregning og DIM = 1 spesifiserer radmessig beregning.

Eksempel 1:
I dette eksemplet vil vi lage en tensor som har fire rader og fire kolonner og returnere den kumulative summen av hvert element over raden.

#import fakkelmodul
Importer fakkel
#Create Tensor
data1 = fakkel.Tensor ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]])
#vise
trykk ("Faktisk tensor:")
Print (Data1)
Print ("Kumulativ sum over rad:")
#Return Cumulative Sum
trykk (fakkel.Cumsum (data1,1)))

Produksjon:

Faktisk tensor:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Kumulativ sum over rad:
Tensor ([[2, 5, 9, 14],
[1, 4, 9, 12],
[2, 5, 7, 8],
[2, 5, 9, 11]])

Arbeider:
Rad-1: 2,2+3,2+3+4,2+3+4+5 = [2, 5, 9, 14]
ROW-2: 1,1+3,1+3+5,1+3+5+3 = [1, 4, 9, 12]

ROW-3: 2,2+3,2+3+2,2+3+2+1 = [2, 5, 7, 8]
ROW-4: 2,2+3,2+3+4,2+3+4+2 = [2, 5, 9, 11]

Eksempel 2:
I dette eksemplet vil vi lage en tensor som har fire rader og fire kolonner og returnere den kumulative summen av hvert element over kolonnen.

#import fakkelmodul
Importer fakkel
#Create Tensor
data1 = fakkel.Tensor ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]])
#vise
trykk ("Faktisk tensor:")
Print (Data1)
Print ("Kumulativ sum over kolonnen:")
#Return Cumulative Sum
trykk (fakkel.Cumsum (data1,0)))

Produksjon:

Faktisk tensor:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Kumulativ sum over kolonnen:
Tensor ([[2, 3, 4, 5],
[3, 6, 9, 8],
[5, 9, 11, 9],
[7, 12, 15, 11]])

Arbeider:
Kolonne-1: 2,2+1,2+1+2,2+1+2+2 = [2, 3, 5, 7]
Kolonne-2: 3,3+3,3+3+3,3+3+3+3 = [3,6,9,12]
Kolonne-3: 4,4+5,4+5+2,4+5+2+4 = [4,9,11,15]
Kolonne-4: 5,5+3,5+3+1,5+3+1+2 = [5,8,9,11]

Arbeid med CPU

Hvis du vil kjøre en cumsum () -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 en tensor på CPU som har fire rader og fire kolonner og returnere den kumulative summen av hvert element over raden.

#import fakkelmodul
Importer fakkel
#Create Tensor
data1 = fakkel.Tensor ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]]).prosessor()
#vise
trykk ("Faktisk tensor:")
Print (Data1)
Print ("Kumulativ sum over rad:")
#Return Cumulative Sum
trykk (fakkel.Cumsum (data1,1)))

Produksjon:

Faktisk tensor:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Kumulativ sum over rad:
Tensor ([[2, 5, 9, 14],
[1, 4, 9, 12],
[2, 5, 7, 8],
[2, 5, 9, 11]])

Arbeider:
Rad-1: 2,2+3,2+3+4,2+3+4+5 = [2, 5, 9, 14]
ROW-2: 1,1+3,1+3+5,1+3+5+3 = [1, 4, 9, 12]

ROW-3: 2,2+3,2+3+2,2+3+2+1 = [2, 5, 7, 8]
ROW-4: 2,2+3,2+3+4,2+3+4+2 = [2, 5, 9, 11]

Eksempel 2:
I dette eksemplet vil vi lage en tensor på CPU som har fire rader og fire kolonner og returnere den kumulative summen av hvert element over kolonnen.

#import fakkelmodul
Importer fakkel
#Create Tensor
data1 = fakkel.Tensor ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]]).prosessor()
#vise
trykk ("Faktisk tensor:")
Print (Data1)
Print ("Kumulativ sum over kolonnen:")
#Return Cumulative Sum
trykk (fakkel.Cumsum (data1,0)))

Produksjon:

Faktisk tensor:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Kumulativ sum over kolonnen:
Tensor ([[2, 3, 4, 5],
[3, 6, 9, 8],
[5, 9, 11, 9],
[7, 12, 15, 11]])

Arbeider:
Kolonne-1: 2,2+1,2+1+2,2+1+2+2 = [2, 3, 5, 7]
Kolonne-2: 3,3+3,3+3+3,3+3+3+3 = [3,6,9,12]
Kolonne-3: 4,4+5,4+5+2,4+5+2+4 = [4,9,11,15]
Kolonne-4: 5,5+3,5+3+1,5+3+1+2 = [5,8,9,11]

Konklusjon

I denne pytorch -opplæringen så vi hvordan vi skulle utføre en kumulativ sumoperasjon på en tensor ved hjelp av fakkel.Cumsum () -funksjon. Den returnerer den kumulative summen av elementer i en todimensjonal tensor over rader eller på tvers av kolonner. Vi implementerte også denne funksjonen på CPU ved hjelp av CPU () -funksjonen.