PYTORCH - CUMMAX

PYTORCH - CUMMAX
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.CUMMAX ()

lommelykt.CUMMAX () returnerer det kumulative maksimum av elementer i en todimensjonal tensor over rader eller på tvers av kolonner. Den returnerer også indeksene for de returnerte maksimale verdiene.

Syntaks:

lommelykt.CUMMAX (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 maksimum 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 maksimum over rad:")
#Return kumulativt maksimum
trykk (fakkel.CUMMAX (data1,1)))

Produksjon:

Faktisk tensor:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Kumulativt maksimum over rad:
lommelykt.return_types.CUMMAX (
verdier = tensor ([[2, 3, 4, 5],
[1, 3, 5, 5],
[2, 3, 3, 3],
[2, 3, 4, 4]]),
Indekser = Tensor ([[0, 1, 2, 3],
[0, 1, 2, 2],
[0, 1, 1, 1],
[0, 1, 2, 2]]))

Arbeider:

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

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

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

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

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

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

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

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

Eksempel 2:

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

Produksjon:

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

Arbeider:
Kolonne-1: 2, maksimum (2,1), maksimum (2,1,2), maksimum (2,1,2,2) = [2, 2,2,2]

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

Kolonne-2: 3, maksimum (3,3), maksimum (3,3,3), maksimum (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, maksimum (4,5), maksimum (4,5,2), maksimum (4,5,2,4) = [4,5,5,5]

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

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

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

Arbeid med CPU

Hvis du vil kjøre en CUMMAX () -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 og returnere det kumulative maksimum 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 maksimum over rad:")
#Return kumulativt maksimum
trykk (fakkel.CUMMAX (data1,1)))

Produksjon:

Faktisk tensor:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Kumulativt maksimum over rad:
lommelykt.return_types.CUMMAX (
verdier = tensor ([[2, 3, 4, 5],
[1, 3, 5, 5],
[2, 3, 3, 3],
[2, 3, 4, 4]]),
Indekser = Tensor ([[0, 1, 2, 3],
[0, 1, 2, 2],
[0, 1, 1, 1],
[0, 1, 2, 2]]))

Arbeider:

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

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

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

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

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

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

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

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

Eksempel 2:

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

Produksjon:

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

Arbeider:

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

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

Kolonne-2: 3, maksimum (3,3), maksimum (3,3,3), maksimum (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, maksimum (4,5), maksimum (4,5,2), maksimum (4,5,2,4) = [4,5,5,5]

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

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

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

Konklusjon

I denne pytorch -opplæringen så vi hvordan vi skulle utføre en kumulativ maksimal operasjon på en tensor ved hjelp av fakkel.CUMMAX () -funksjon. Den returnerer det kumulative maksimumet av elementer i en todimensjonal tensor og indekserer også posisjoner med maksimumsverdier på tvers av rader eller på tvers av kolonner. Vi implementerte også denne funksjonen på CPU ved hjelp av CPU () -funksjonen.