Pytorch - Argmin

Pytorch - Argmin
Pytorch è un framework open source per il linguaggio di programmazione Python. Possiamo elaborare i dati in Pytorch sotto forma di tensore.

Un tensore è un array multidimensionale che viene utilizzato per archiviare i dati. Quindi, per usare un tensore, dobbiamo importare il modulo Torcia.

Per creare un tensore il metodo utilizzato è tensore ().

Sintassi:

torcia.tensore (dati)

Dove i dati sono un array multidimensionale.

argmin ()

Argmin () in Pytorch viene utilizzato per restituire l'indice del valore minimo di tutti gli elementi nel tensore di input.

Sintassi:
torcia.Argmin (tensore, dim, mantene)

Dove

  1. Il tensore è il tensore di ingresso.
  2. Dim è ridurre la dimensione. Dim = 0 specifica il confronto della colonna, che otterrà l'indice per il valore minimo lungo una colonna e Dim = 1 specifica il confronto delle righe, che otterrà l'indice per il valore minimo lungo la riga.
  3. KeepDim controlla se il tensore di output ha una dimensione (Dim) mantenuta o meno.

Esempio 1:

In questo esempio, creeremo un tensore con due dimensioni con tre righe e cinque colonne e applicheremo argmin () sulle righe e sulle colonne.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore con 2 dimensioni (3 * 5)
#con elementi casuali usando la funzione randn ()
data = torcia.Randn (3,5)
#Schermo
Stampa (dati)
#get indice minimo lungo le colonne con argmin
Stampa (torcia.argmin (dati, dim = 0))
#get indice minimo lungo le righe con argmin
Stampa (torcia.argmin (dati, dim = 1))

Produzione:

tensore ([[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]])
tensore ([1, 1, 2, 0, 2])
tensore ([3, 0, 4])

Come possiamo vedere, i valori minimi degli indici e delle colonne sono:

  1. Valore min - -1.2597. Il suo indice è 1.
  2. Valore min - 1 -0.3892. Il suo indice è 1.
  3. Valore min - -0.1914. Il suo indice è 2.
  4. Valore min - 0.4714. Il suo indice è 0.
  5. Valore min - -2.0053. Il suo indice è 2.

Allo stesso modo, i valori minimi presenti all'indice lungo le righe sono:

  1. Valore min - -0.4714. Il suo indice è 3.
  2. Valore min - -1.2597. Il suo indice è 0.
  3. Valore min - -2.0053. Il suo indice è 4.

Esempio 2:

Crea un tensore con una matrice cinque per cinque e applica argmin ().

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore con 2 dimensioni (5 * 5)
#con elementi casuali usando la funzione randn ()
data = torcia.Randn (5,5)
#Schermo
Stampa (dati)
#get indice minimo lungo le colonne con argmin
Stampa (torcia.argmin (dati, dim = 0))
#get indice minimo lungo le righe con argmin
Stampa (torcia.argmin (dati, dim = 1))

Produzione:

tensore ([[-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]])
tensore ([4, 0, 3, 1, 4])
tensore ([0, 3, 1, 2, 0])

Possiamo vedere che i valori minimi presenti nell'indice lungo le colonne sono:

  1. Valore min - -1.9151. Il suo indice è 4.
  2. Valore min - -0.7426. Il suo indice è 0.
  3. Valore min - -0.9577. Il suo indice è 3.
  4. Valore min - -1.1608. Il suo indice è 1.
  5. Valore min - -1.1233. Il suo indice è 4.

Allo stesso modo, i valori minimi all'indice lungo le righe sono:

  1. Valore min - -1.7387. Il suo indice è 0.
  2. Valore min - -1.1608. Il suo indice è 3.
  3. Valore min - -0.5474. Il suo indice è 1.
  4. Valore min - -0.9577. Il suo indice è 2.
  5. Valore min - -1.9151. Il suo indice è 0.

Lavorare con la CPU

Se si desidera eseguire una funzione Argmin () sulla CPU, allora dobbiamo creare un tensore con una funzione CPU (). Questo funzionerà su una macchina CPU.

Al momento, quando stiamo creando un tensore, possiamo usare la funzione CPU ().

Sintassi:
torcia.tensore (dati).processore()

Esempio 1:

In questo esempio, creeremo un tensore con due dimensioni sulla CPU che ha tre righe e cinque colonne e applicare Argmin () sulle righe e sulle colonne.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore con 2 dimensioni (3 * 5)
#con elementi casuali che utilizzano Randn () con la funzione CPU ()
data = torcia.Randn (3,5).processore()
#Schermo
Stampa (dati)
#get indice minimo lungo le colonne con argmin
Stampa (torcia.argmin (dati, dim = 0))
#get indice minimo lungo le righe con argmin
Stampa (torcia.argmin (dati, dim = 1))

Produzione:

tensore ([[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]])
tensore ([1, 1, 2, 0, 2])
tensore ([3, 0, 4])

Come possiamo vedere, i valori minimi per gli indici e le colonne sono:

  1. Valore min - -1.2597. Il suo indice è 1.
  2. Valore min - 1 -0.3892. Il suo indice è 1.
  3. Valore min - -0.1914. Il suo indice è 2.
  4. Valore min - 0.4714. Il suo indice è 0.
  5. Valore min - -2.0053. Il suo indice è 2.

Allo stesso modo, i valori minimi all'indice lungo le righe sono:

  1. Valore min - -0.4714. Il suo indice è 3.
  2. Valore min - -1.2597. Il suo indice è 0.
  3. Valore min - -2.0053. Il suo indice è 4.

Esempio 2:

Crea un tensore con una matrice cinque per cinque sulla CPU e applica argmin ().

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore con 2 dimensioni (5 * 5)
#con elementi casuali usando la funzione randn ()
data = torcia.Randn (5,5).processore()
#Schermo
Stampa (dati)
#get indice minimo lungo le colonne con argmin
Stampa (torcia.argmin (dati, dim = 0))
#get indice minimo lungo le righe con argmin
Stampa (torcia.argmin (dati, dim = 1))

Produzione:

tensore ([[-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]])
tensore ([4, 0, 3, 1, 4])
tensore ([0, 3, 1, 2, 0])

Come possiamo vedere, i valori minimi per gli indici e le colonne sono:

  1. Valore min - -1.9151. Il suo indice è 4.
  2. Valore min - -0.7426. Il suo indice è 0.
  3. Valore min - -0.9577. Il suo indice è 3.
  4. Valore min - -1.1608. Il suo indice è 1.
  5. Valore min - -1.1233. Il suo indice è 4.

Allo stesso modo, i valori minimi all'indice lungo le righe sono:

  1. Valore min - -1.7387. Il suo indice è 0.
  2. Valore min - -1.1608. Il suo indice è 3.
  3. Valore min - -0.5474. Il suo indice è 1.
  4. Valore min - -0.9577. Il suo indice è 2.
  5. Valore min - -1.9151. Il suo indice è 0.

Conclusione

In questa lezione di Pytorch, abbiamo visto cosa è Argmin () e come applicare Argmin () a un tensore per restituire gli indici di valori minimi tra colonne e righe.

Abbiamo anche creato un tensore con la funzione CPU () e gli indici restituiti dei suoi valori minimi. Dim è il parametro utilizzato per restituire gli indici di valori minimi tra le colonne quando è impostato su 0 e gli indici di restituzione di valori minimi tra le righe quando è impostato su 1.