Pytorch - Cummin

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

Det kumulative minimum av elementer i en todimensjonal tensor over rader eller søyler returneres av fakkel.cummin (). Det returnerer også indeksene for returnerte minimumsverdier.

Syntaks:

lommelykt.cummin (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 det kumulative minimum for 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)
trykk ("Kumulativt minimum over rad:")
#Return kumulativt minimum
trykk (fakkel.Cummin (data1,1)))

Produksjon:

Faktisk tensor:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Kumulativt minimum over rad:
lommelykt.return_types.Cummin (
verdier = tensor ([[2, 2, 2, 2],
[1, 1, 1, 1],
[2, 2, 2, 1],
[2, 2, 2, 2]]),
indekser = tensor ([[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 2, 3],
[0, 0, 0, 3]]))

Arbeider:
Rad-1: 2, minimum (2,3), minimum (2,3,4), minimum (2,3,4,5) = [2, 2, 2, 2]

Så [2,2,2,2] indeksposisjoner i faktisk tensor er - [0,0,0,0]

Rad-2: 1, minimum (1,3), minimum (1,3,5), minimum (1,3,5,3) = [1,1,1,1]

Så [1,1,1,1] indeksposisjoner i faktisk tensor er - [0,0,0,0]

Rad-3: 2, minimum (2,3), minimum (2,3,2), minimum (2,3,2,1) = [2,2,2,1]

Så [2,2,2,1] indeksposisjoner i faktisk tensor er - [0,0,2,3]

Rad-4: 2, minimum (2,3), minimum (2,3,4), minimum (2,3,4,2) = [2,2,2,2]

Så [2,2,2,2] indeksposisjoner i faktisk tensor er - [0,0,0,3]

Eksempel 2:

I dette eksemplet vil vi lage en tensor som har fire rader og fire kolonner og returnere det kumulative minimum for 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 ("Kumulativt minimum over kolonnen:")
#Return kumulativt minimum
trykk (fakkel.Cummin (data1,0)))

Produksjon:

Faktisk tensor:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Kumulativt minimum over kolonnen:
lommelykt.return_types.Cummin (
verdier = tensor ([[2, 3, 4, 5],
[1, 3, 4, 3],
[1, 3, 2, 1],
[1, 3, 2, 1]]),
indekser = tensor ([[0, 0, 0, 0],
[1, 1, 0, 1],
[1, 2, 2, 2],
[1, 3, 2, 2]]))

Arbeider:

Kolonne-1: 2, minimum (2,1), minimum (2,1,2), minimum (2,1,2,2) = [2, 1,1,1]

Så [2, 1,1,1] indeksposisjoner i faktisk tensor er - [0,1,1,1]

Kolonne-2: 3, minimum (3,3), minimum (3,3,3), minimum (3,3,3,3) = [3,3,3,3]

Så [3,3,3,3] indeksposisjoner i faktisk tensor er - [0,1,2,3]

Kolonne-3: 4, minimum (4,5), minimum (4,5,2), minimum (4,5,2,4) = [4,4,2,2]

Så [4,4,2,2] indeksposisjoner i faktisk tensor er - [0,0,2,2]

Kolonne-4: 5, minimum (5,3), minimum (5,3,1), minimum (5,3,1,2) = [5,3,1,1]

Så [5,3,1,1] indeksposisjoner i faktisk tensor er - [0,1,2,2]

Arbeid med CPU

Hvis du vil kjøre en CUMMIN () -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 som har fire rader og fire kolonner på CPU og returnere det kumulative minimum for 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)
trykk ("Kumulativt minimum over rad:")
#Return kumulativt minimum
trykk (fakkel.Cummin (data1,1)))

Produksjon:

Faktisk tensor:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Kumulativt minimum over rad:
lommelykt.return_types.Cummin (
verdier = tensor ([[2, 2, 2, 2],
[1, 1, 1, 1],
[2, 2, 2, 1],
[2, 2, 2, 2]]),
indekser = tensor ([[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 2, 3],
[0, 0, 0, 3]]))

Arbeider:

Rad-1: 2, minimum (2,3), minimum (2,3,4), minimum (2,3,4,5) = [2, 2, 2, 2]

Så [2,2,2,2] indeksposisjoner i faktisk tensor er - [0,0,0,0]

Rad-2: 1, minimum (1,3), minimum (1,3,5), minimum (1,3,5,3) = [1,1,1,1]

Så [1,1,1,1] indeksposisjoner i faktisk tensor er - [0,0,0,0]

Rad-3: 2, minimum (2,3), minimum (2,3,2), minimum (2,3,2,1) = [2,2,2,1]

Så [2,2,2,1] indeksposisjoner i faktisk tensor er - [0,0,2,3]

Rad-4: 2, minimum (2,3), minimum (2,3,4), minimum (2,3,4,2) = [2,2,2,2]

Så [2,2,2,2] indeksposisjoner i faktisk tensor er - [0,0,0,3]

Eksempel 2:

I dette eksemplet vil vi lage en tensor som har fire rader og fire kolonner på CPU og returnere det kumulative minimum for 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 ("Kumulativt minimum over kolonnen:")
#Return kumulativt minimum
trykk (fakkel.Cummin (data1,0)))

Produksjon:

Faktisk tensor:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Kumulativt minimum over kolonnen:
lommelykt.return_types.Cummin (
verdier = tensor ([[2, 3, 4, 5],
[1, 3, 4, 3],
[1, 3, 2, 1],
[1, 3, 2, 1]]),
indekser = tensor ([[0, 0, 0, 0],
[1, 1, 0, 1],
[1, 2, 2, 2],
[1, 3, 2, 2]]))

Arbeider:

Kolonne-1: 2, minimum (2,1), minimum (2,1,2), minimum (2,1,2,2) = [2, 1,1,1]

Så [2, 1,1,1] indeksposisjoner i faktisk tensor er - [0,1,1,1]

Kolonne-2: 3, minimum (3,3), minimum (3,3,3), minimum (3,3,3,3) = [3,3,3,3]

Så [3,3,3,3] indeksposisjoner i faktisk tensor er - [0,1,2,3]

Kolonne-3: 4, minimum (4,5), minimum (4,5,2), minimum (4,5,2,4) = [4,4,2,2]

Så [4,4,2,2] indeksposisjoner i faktisk tensor er - [0,0,2,2]

Kolonne-4: 5, minimum (5,3), minimum (5,3,1), minimum (5,3,1,2) = [5,3,1,1]

Så [5,3,1,1] indeksposisjoner i faktisk tensor er - [0,1,2,2]

Konklusjon

I denne pytorch -opplæringen så vi hvordan vi skulle utføre en kumulativ minimumsoperasjon på en tensor ved hjelp av fakkelen.cummin () -funksjon. Den returnerer det kumulative minimum av elementer i en todimensjonal tensor og indekserer også posisjonene til minimumsverdier på tvers av rader eller på tvers av kolonner. Vi implementerte også denne funksjonen på CPU ved hjelp av CPU () -funksjonen.