Pytorch - Argmin

Pytorch - Argmin
Pytorch er et open source-ramme for Python-programmeringsspråket. Vi kan behandle dataene i Pytorch i form av en tensor.

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.

Argmin ()

Argmin () i Pytorch brukes til å returnere indeksen for minimumsverdien for alle elementer i inngangstensoren.

Syntaks:
lommelykt.Argmin (Tensor, Dim, Keepdim)

Hvor

  1. Tensoren er inngangstensoren.
  2. Dim er å redusere dimensjonen. DIM = 0 spesifiserer kolonnesammenligning, som vil få indeksen for minimumsverdien langs en kolonne, og DIM = 1 spesifiserer radsammenligning, som vil få indeksen for minimumsverdien langs raden.
  3. Keepdim sjekker om utgangstensoren har dimensjon (dim) beholdt eller ikke.

Eksempel 1:

I dette eksemplet vil vi lage en tensor med to dimensjoner som har tre rader og fem kolonner og påføre Argmin () på radene og kolonnene.

#import fakkelmodul
Importer fakkel
#Create en tensor med 2 dimensjoner (3 * 5)
#med tilfeldige elementer ved bruk av randn () -funksjon
data = fakkel.Randn (3,5)
#vise
Print (data)
#Get minimumsindeks langs kolonner med Argmin
trykk (fakkel.Argmin (data, dim = 0))
#get minimum indeks langs rader med argmin
trykk (fakkel.Argmin (data, dim = 1))

Produksjon:

tensor ([[1.0604, -0.0234, 0.4258, -0.4714, 0.2778],
[-1.2597, -0.3892, 0.2120, 0.1376, 0.6919],
[0.0449, -0.3545, -0.1914, 0.1969, -2.0053]])
Tensor ([1, 1, 2, 0, 2])
tensor ([3, 0, 4])

Som vi kan se, er minimumsverdiene for indeksene og kolonnene:

  1. Min verdi - -1.2597. Indeksen er 1.
  2. Min verdi - 1 -0.3892. Indeksen er 1.
  3. Min verdi - -0.1914. Indeksen er 2.
  4. Min verdi - 0.4714. Indeksen er 0.
  5. Min verdi - -2.0053. Indeksen er 2.

Tilsvarende er minimumsverdiene som er til stede ved indeksen langs radene:

  1. Min verdi - -0.4714. Indeksen er 3.
  2. Min verdi - -1.2597. Indeksen er 0.
  3. Min verdi - -2.0053. Indeksen er 4.

Eksempel 2:

Lag en tensor med en fem av fem matrise og bruk Argmin ().

#import fakkelmodul
Importer fakkel
#Create en tensor med 2 dimensjoner (5 * 5)
#med tilfeldige elementer ved bruk av randn () -funksjon
data = fakkel.Randn (5,5)
#vise
Print (data)
#Get minimumsindeks langs kolonner med Argmin
trykk (fakkel.Argmin (data, dim = 0))
#get minimum indeks langs rader med argmin
trykk (fakkel.Argmin (data, dim = 1))

Produksjon:

Tensor ([[-1.7387, -0.7426, 0.5696, -0.6700, -1.0527],
[0.2564, -0.3471, 1.5256, -1.1608, 0.4367],
[ 1.4390, -0.5474, 0.5909, 0.0491, 0.4655],
[-0.7006, -0.0367, -0.9577, -0.0834, -0.7249],
[-1.9151, 2.3360, 1.1214, 0.4452, -1.1233]])
Tensor ([4, 0, 3, 1, 4])
tensor ([0, 3, 1, 2, 0])

Vi kan se at minimumsverdiene som er til stede i indeksen langs kolonnene er:

  1. Min verdi - -1.9151. Indeksen er 4.
  2. Min verdi - -0.7426. Indeksen er 0.
  3. Min verdi - -0.9577. Indeksen er 3.
  4. Min verdi - -1.1608. Indeksen er 1.
  5. Min verdi - -1.1233. Indeksen er 4.

Tilsvarende er minimumsverdier ved indeks langs radene:

  1. Min verdi - -1.7387. Indeksen er 0.
  2. Min verdi - -1.1608. Indeksen er 3.
  3. Min verdi - -0.5474. Indeksen er 1.
  4. Min verdi - -0.9577. Indeksen er 2.
  5. Min verdi - -1.9151. Indeksen er 0.

Arbeid med CPU

Hvis du vil kjøre en Argmin () -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 med to dimensjoner på CPU -en som har tre rader og fem kolonner og påføre Argmin () på radene og kolonnene.

#import fakkelmodul
Importer fakkel
#Create en tensor med 2 dimensjoner (3 * 5)
#med tilfeldige elementer som bruker randn () med CPU () -funksjon
data = fakkel.Randn (3,5).prosessor()
#vise
Print (data)
#Get minimumsindeks langs kolonner med Argmin
trykk (fakkel.Argmin (data, dim = 0))
#get minimum indeks langs rader med argmin
trykk (fakkel.Argmin (data, dim = 1))

Produksjon:

tensor ([[1.0604, -0.0234, 0.4258, -0.4714, 0.2778],
[-1.2597, -0.3892, 0.2120, 0.1376, 0.6919],
[0.0449, -0.3545, -0.1914, 0.1969, -2.0053]])
Tensor ([1, 1, 2, 0, 2])
tensor ([3, 0, 4])

Som vi kan se, er minimumsverdiene for indeksene og kolonnene:

  1. Min verdi - -1.2597. Indeksen er 1.
  2. Min verdi - 1 -0.3892. Indeksen er 1.
  3. Min verdi - -0.1914. Indeksen er 2.
  4. Min verdi - 0.4714. Indeksen er 0.
  5. Min verdi - -2.0053. Indeksen er 2.

Tilsvarende er minimumsverdiene ved indeksen langs radene:

  1. Min verdi - -0.4714. Indeksen er 3.
  2. Min verdi - -1.2597. Indeksen er 0.
  3. Min verdi - -2.0053. Indeksen er 4.

Eksempel 2:

Lag en tensor med en fem av fem matrise på CPU og bruk Argmin ().

#import fakkelmodul
Importer fakkel
#Create en tensor med 2 dimensjoner (5 * 5)
#med tilfeldige elementer ved bruk av randn () -funksjon
data = fakkel.Randn (5,5).prosessor()
#vise
Print (data)
#Get minimumsindeks langs kolonner med Argmin
trykk (fakkel.Argmin (data, dim = 0))
#get minimum indeks langs rader med argmin
trykk (fakkel.Argmin (data, dim = 1))

Produksjon:

Tensor ([[-1.7387, -0.7426, 0.5696, -0.6700, -1.0527],
[0.2564, -0.3471, 1.5256, -1.1608, 0.4367],
[ 1.4390, -0.5474, 0.5909, 0.0491, 0.4655],
[-0.7006, -0.0367, -0.9577, -0.0834, -0.7249],
[-1.9151, 2.3360, 1.1214, 0.4452, -1.1233]])
Tensor ([4, 0, 3, 1, 4])
tensor ([0, 3, 1, 2, 0])

Som vi kan se, er minimumsverdiene for indeksene og kolonnene:

  1. Min verdi - -1.9151. Indeksen er 4.
  2. Min verdi - -0.7426. Indeksen er 0.
  3. Min verdi - -0.9577. Indeksen er 3.
  4. Min verdi - -1.1608. Indeksen er 1.
  5. Min verdi - -1.1233. Indeksen er 4.

Tilsvarende er minimumsverdiene ved indeksen langs radene:

  1. Min verdi - -1.7387. Indeksen er 0.
  2. Min verdi - -1.1608. Indeksen er 3.
  3. Min verdi - -0.5474. Indeksen er 1.
  4. Min verdi - -0.9577. Indeksen er 2.
  5. Min verdi - -1.9151. Indeksen er 0.

Konklusjon

I denne Pytorch -leksjonen så vi hva Argmin () er og hvordan du bruker Argmin () på en tensor for å returnere indekser av minimumsverdier på tvers av kolonner og rader.

Vi opprettet også en tensor med CPU () -funksjonen og returnerte indeksene for minst mulig verdier. DIM er parameteren som brukes til å returnere indekser for minimumsverdier på tvers av kolonner når den er satt til 0 og returnerer indekser for minimumsverdier på tvers av rader når den er satt til 1.