Sortering av elementene i en tensor i Pytorch

Sortering av elementene i en tensor i Pytorch
Vi vil se hvordan du sorterer alle elementene i en pytorch -tensor i denne Pytorch -opplæringen.

Pytorch er et open source-ramme tilgjengelig med et Python-programmeringsspråk. Vi kan behandle dataene i Pytorch i form av en tensor. Tensor er et flerdimensjonalt utvalg som brukes til å lagre dataene. For å bruke en tensor, må vi importere fakkelmodulen. For å lage en tensor er metoden som brukes tensor ().

Syntaks:

lommelykt.Tensor (data)

Der dataene er en flerdimensjonal matrise.

Lommelykt.sortere()

Lommelykt.sorter () i Pytorch brukes til å sortere elementene i en tensor i stigende rekkefølge. Hvis tensoren er todimensjonal, sorterer den radmessig når vi spesifiserer 1. Og det sorterer i kolonnemessig når vi spesifiserer 0.

Syntaks:
Rad klok: lommelykt.Sorter (Two_Demensional_Tensor_Object, 1)

Kolonnemessig: lommelykt.Sorter (Two_Demensional_Tensor_Object, 0)

Parameter:

  1. Two_Demensional_Tensor_Object er tensoren som har to dimensjoner.
  2. Én (1) refererer til radmessig sortering og 0 refererer til kolonnemessig sortering.

Det sorterer radmessig som standard.

Komme tilbake:
Den returnerer den sorterte tensoren sammen med indeksposisjonene i selve tensoren.

Eksempel 1:

La oss lage en 2D -tensor som har 5 rader og 5 kolonner. Deretter sorterer vi det radmessig uten å spesifisere en andre parameter.

#import fakkelmodul
Importer fakkel
#Create A 2D Tensor - Data1 med 5 numeriske verdier i 4 rader
data1 = fakkel.Tensor ([[23,45,67,0,0], [12,21,10,34,78], [3,4,5,2,3], [45,67,54,32,22] ])
#vise
Print ("Tensor:", Data1)
#sort ovennevnte tensor
trykk ("Etter å ha sortert radmessig:")
trykk (fakkel.Sorter (data1))

Produksjon:

Tensor: Tensor ([[23, 45, 67, 0, 0],
[12, 21, 10, 34, 78],
[3, 4, 5, 2, 3],
[45, 67, 54, 32, 22]])
Etter å ha sortert radmessig:
lommelykt.return_types.sortere(
Verdier = tensor ([[0, 0, 23, 45, 67],
[10, 12, 21, 34, 78],
[2, 3, 3, 4, 5],
[22, 32, 45, 54, 67]]),
Indekser = tensor ([[3, 4, 0, 1, 2],
[2, 0, 1, 3, 4],
[3, 0, 4, 1, 2],
[4, 3, 0, 2, 1]]))

Vi kan observere at elementer er sortert radmessig i en tensor i stigende rekkefølge og returnerte indeksene for sine posisjoner i selve tensoren.

Eksempel 2:

La oss lage en 2D -tensor som har 5 rader og 5 kolonner. Deretter sorterer vi det radmessig ved å spesifisere en andre parameter som 1.

#import fakkelmodul
Importer fakkel
#Create A 2D Tensor - Data1 med 5 numeriske verdier i 4 rader
data1 = fakkel.Tensor ([[23,45,67,0,0], [12,21,10,34,78], [3,4,5,2,3], [45,67,54,32,22] ])
#vise
Print ("Tensor:", Data1)
#sort ovennevnte tensor
trykk ("Etter å ha sortert radmessig:")
trykk (fakkel.Sorter (data1,1)))

Produksjon:

Tensor: Tensor ([[23, 45, 67, 0, 0],
[12, 21, 10, 34, 78],
[3, 4, 5, 2, 3],
[45, 67, 54, 32, 22]])
Etter å ha sortert radmessig:
lommelykt.return_types.sortere(
Verdier = tensor ([[0, 0, 23, 45, 67],
[10, 12, 21, 34, 78],
[2, 3, 3, 4, 5],
[22, 32, 45, 54, 67]]),
Indekser = tensor ([[3, 4, 0, 1, 2],
[2, 0, 1, 3, 4],
[3, 0, 4, 1, 2],
[4, 3, 0, 2, 1]]))

Vi kan observere at elementene er sortert radmessig i en tensor i stigende rekkefølge og returnerte indeksene for sine posisjoner i selve tensoren.

Eksempel 3:

La oss lage en 2D -tensor som har 5 rader og 5 kolonner. Deretter sorterer vi det kolonnevis ved å spesifisere en andre parameter som 0.

#import fakkelmodul
Importer fakkel
#Create A 2D Tensor - Data1 med 5 numeriske verdier i 4 rader
data1 = fakkel.Tensor ([[23,45,67,0,0], [12,21,10,34,78], [3,4,5,2,3], [45,67,54,32,22] ])
#vise
Print ("Tensor:", Data1)
#sort ovennevnte tensor
trykk ("Etter å ha sortert kolonnevis:")
trykk (fakkel.sorter (data1,0)))

Produksjon:

Tensor: Tensor ([[23, 45, 67, 0, 0],
[12, 21, 10, 34, 78],
[3, 4, 5, 2, 3],
[45, 67, 54, 32, 22]])
Etter å ha sortert kolonnemessig:
lommelykt.return_types.sortere(
verdier = tensor ([[3, 4, 5, 0, 0],
[12, 21, 10, 2, 3],
[23, 45, 54, 32, 22],
[45, 67, 67, 34, 78]]),
indekser = tensor ([[2, 2, 2, 0, 0],
[1, 1, 1, 2, 2],
[0, 0, 3, 3, 3],
[3, 3, 0, 1, 1]]))

Vi kan observere at elementene er sortert kolonnemessig i en tensor i stigende rekkefølge og returnerte indeksene for sine posisjoner i selve tensoren.

Eksempel 4:

La oss lage en 1D -tensor som har 5 verdier. Deretter sorterer vi det ved å bruke sort () -funksjonen.

#import fakkelmodul
Importer fakkel
#Create A 1D Tensor - Data1 med 5 numeriske verdier
data1 = fakkel.Tensor ([23,45,67,0,0])
#vise
Print ("Tensor:", Data1)
#sort ovennevnte tensor
trykk ("Etter sortering ::")
trykk (fakkel.Sorter (data1))

Produksjon:

Tensor: Tensor ([23, 45, 67, 0, 0])
Etter sortering ::
lommelykt.return_types.sortere(
verdier = tensor ([0, 0, 23, 45, 67]),
indekser = tensor ([3, 4, 0, 1, 2]))

Vi kan observere at elementene er sortert i stigende rekkefølge og returnert indeksene for sine posisjoner i selve tensoren.

Arbeid med CPU

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

Når vi lager en tensor, kan vi bruke CPU () -funksjonen denne gangen.

Syntaks:

lommelykt.Tensor (data).prosessor()

Eksempel:

La oss lage en 2D -tensor som har 5 rader og 5 kolonner. Deretter sorterer vi det radmessig ved å spesifisere en andre parameter som 1 og sortere den kolonnevis ved å spesifisere en andre parameter som 0.

#import fakkelmodul
Importer fakkel
#Create A 2D Tensor - Data1 med 5 numeriske verdier i 4 rader
data1 = fakkel.Tensor ([[23,45,67,0,0], [12,21,10,34,78], [3,4,5,2,3], [45,67,54,32,22] ]).prosessor()
#vise
Print ("Tensor:", Data1)
skrive ut()
#sort ovennevnte tensor
trykk ("Etter å ha sortert radmessig:")
trykk (fakkel.Sorter (data1,1)))
skrive ut()
#sort ovennevnte tensor
trykk ("Etter å ha sortert kolonnevis:")
trykk (fakkel.sorter (data1,0)))

Produksjon:

Tensor: Tensor ([[23, 45, 67, 0, 0],
[12, 21, 10, 34, 78],
[3, 4, 5, 2, 3],
[45, 67, 54, 32, 22]])
Etter å ha sortert radmessig:
lommelykt.return_types.sortere(
Verdier = tensor ([[0, 0, 23, 45, 67],
[10, 12, 21, 34, 78],
[2, 3, 3, 4, 5],
[22, 32, 45, 54, 67]]),
Indekser = tensor ([[3, 4, 0, 1, 2],
[2, 0, 1, 3, 4],
[3, 0, 4, 1, 2],
[4, 3, 0, 2, 1]]))
Etter å ha sortert kolonnemessig:
lommelykt.return_types.sortere(
verdier = tensor ([[3, 4, 5, 0, 0],
[12, 21, 10, 2, 3],
[23, 45, 54, 32, 22],
[45, 67, 67, 34, 78]]),
indekser = tensor ([[2, 2, 2, 0, 0],
[1, 1, 1, 2, 2],
[0, 0, 3, 3, 3],
[3, 3, 0, 1, 1]]))

Vi kan observere at elementene er sortert radmessig og kolonnemessig i en tensor i stigende rekkefølge og returnerte indeksene for sine posisjoner i selve tensoren.

Konklusjon

I denne pytorch -opplæringen lærte vi hvordan du sorterer elementene i en tensor i stigende rekkefølge ved hjelp av fakkel.sorter () funksjon. Hvis tensoren er todimensjonal, sorterer den radmessig når vi spesifiserer 1 og sorterer kolonnemessig når vi spesifiserer 0. Den returnerer den sorterte tensoren sammen med indeksposisjonene i selve tensoren.

Vi lærte de forskjellige eksemplene sammen med CPU () -funksjonen. Fakkelen.Sorter () Funksjon ikke ta noen parameter mens du bruker den på 1D -tensoren.