Pytorch - Max

Pytorch - Max
Vedremo come restituire i valori massimi da un tensore usando max () in questo tutorial Pytorch.

Pytorch è un framework open source disponibile con un linguaggio di programmazione Python. Il tensore è un array multidimensionale che viene utilizzato per archiviare i dati. Per usare un tensore, dobbiamo importare il modulo Torch. Per creare un tensore, il metodo utilizzato è tensore ().

Sintassi:

torcia.tensore (dati)

Dove i dati sono un array multidimensionale.

Max ()

Max () in pytorch viene utilizzato per restituire il massimo degli elementi presenti nell'oggetto tensore di ingresso.

Sintassi:

torcia.max (tensore, dim)

Dove:

1. Il tensore è il tensore di ingresso.

2. Dim è ridurre la dimensione. Dim = 0 Specifica il confronto della colonna che ottiene i valori massimi lungo una colonna e Dim = 1 specifica il confronto delle righe, che ottiene i valori massimi lungo la riga.

Ritorno:

Restituisce anche gli indici dei valori massimi.

Esempio 1:

In questo esempio, creeremo un tensore con 2 dimensioni con 3 righe e 5 colonne e applicheremo la funzione max () su righe e 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)
stampa()
#get i valori massimi lungo le colonne
Stampa ("Valori massimi tra le colonne:")
Stampa (torcia.max (dati, dim = 0))
stampa()
#get valori massimi lungo le righe
Stampa ("Valori massimi tra le righe:")
Stampa (torcia.max (dati, dim = 1))

Produzione:

tensore ([[-0.4322, -1.9488, -1.9488, -0.1291, 2.0196],
[0.0421, -0.7765, -1.4377, 1.3680, -0.1703],
[1.2953, 0.2773, 0.5380, 0.1011, 0.0136]])
Valori massimi tra le colonne:
torcia.return_types.max (
valori = tensore ([1.2953, 0.2773, 0.5380, 1.3680, 2.0196]),
indici = tensore ([2, 2, 2, 1, 0])
Valori massimi tra le righe:
torcia.return_types.max (
valori = tensore ([2.0196, 1.3680, 1.2953]),
indici = tensore ([4, 3, 0]))

Possiamo vedere che i valori massimi vengono restituiti attraverso le colonne e le righe insieme ai loro indici.

Esempio 2:

Crea un tensore con matrice 5 * 5 e restituisce i valori massimi attraverso le righe e le colonne.

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)
stampa()
#get i valori massimi lungo le colonne
Stampa ("Valori massimi tra le colonne:")
Stampa (torcia.max (dati, dim = 0))
stampa()
#get valori massimi lungo le righe
Stampa ("Valori massimi tra le righe:")
Stampa (torcia.max (dati, dim = 1))

Produzione:

tensore ([[1.5677, -0.8765, -1.7053, -0.4323, 1.1156],
[1.0781, -0.6891, 1.1491, -0.7799, 1.8014],
[-0.0449, 1.6926, -0.9708, -0.1957, 0.6765],
[-0.0336, 0.2317, -1.5785, -0.1141, -0.4226],
[0.2535, -0.2302, -0.1518, -0.6725, -0.6502]])
Valori massimi tra le colonne:
torcia.return_types.max (
valori = tensore ([1.5677, 1.6926, 1.1491, -0.1141, 1.8014]),
indici = tensore ([0, 2, 1, 3, 1])
Valori massimi tra le righe:
torcia.return_types.max (
valori = tensore ([1.5677, 1.8014, 1.6926, 0.2317, 0.2535]),
indici = tensore ([0, 4, 1, 1, 0])

Possiamo vedere che i valori massimi tra le righe e le colonne sono stati restituiti insieme ai loro indici.

Senza il parametro dim

Se non abbiamo specificato il parametro Dim, restituisce il valore massimo dall'intero tensore.

Esempio 1:

Crea un tensore 2D con matrice 5*5 e restituisce il valore massimo.

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)
stampa()
#get massimo valore
Stampa ("Valore massimo:")
Stampa (torcia.max (dati))

Produzione:

tensore ([[1.5618, 0.5195, -0.2018, 0.7128, 0.0599],
[-2.4063, -0.0888, -0.3935, 0.2521, 1.3079],
[-1.1231, -0.3366, -1.5907, -1.6770, -0.2147],
[-0.7070, -1.5281, 0.2971, 1.8376, -1.6415],
[-0.8639, 0.5545, 1.2174, -1.3734, -0.7389]])
Valore massimo :
tensore (1.8376)

Esempio 2:

Crea un tensore 1D con 5 valori e restituire il valore massimo.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore con 5 valori numerici
data = torcia.tensore ([10.6,20.7,30.6,40.4,50.0])
#Schermo
Stampa (dati)
stampa()
#get massimo valore
Stampa ("Valore massimo:")
Stampa (torcia.max (dati))

Produzione:

tensore ([10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Valore massimo :
tensore (50.)

Lavorare con la CPU

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

Quando creiamo un tensore, questa volta, possiamo usare la funzione CPU ().

Sintassi:

torcia.tensore (dati).processore()

Esempio 1:

In questo esempio, creeremo un tensore con 2 dimensioni con 3 righe e 5 colonne con una funzione CPU () e applicare la funzione max () su righe e 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).processore()
#Schermo
Stampa (dati)
stampa()
#get i valori massimi lungo le colonne
Stampa ("Valori massimi tra le colonne:")
Stampa (torcia.max (dati, dim = 0))
stampa()
#get valori massimi lungo le righe
Stampa ("Valori massimi tra le righe:")
Stampa (torcia.max (dati, dim = 1))

Produzione:

tensore ([[-0.1843, 0.0419, -0.0474, 0.3713, -0.6861],
[-0.4083, -0.4918, -1.7254, 1.3483, -0.7855],
[-0.2685, 0.5834, 0.4953, -1.1605, -0.0414]])
Valori massimi tra le colonne:
torcia.return_types.max (
valori = tensore ([-0.1843, 0.5834, 0.4953, 1.3483, -0.0414]),
indici = tensore ([0, 2, 2, 1, 2])
Valori massimi tra le righe:
torcia.return_types.max (
valori = tensore ([0.3713, 1.3483, 0.5834]),
indici = tensore ([3, 3, 1]))

Possiamo vedere che i valori massimi vengono restituiti attraverso le colonne e le righe insieme ai loro indici.

Esempio 2:

Crea un tensore con matrice 5 * 5 con la funzione CPU () e restituire i valori massimi attraverso le righe e le colonne.

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)
stampa()
#get i valori massimi lungo le colonne
Stampa ("Valori massimi tra le colonne:")
Stampa (torcia.max (dati, dim = 0))
stampa()
#get valori massimi lungo le righe
Stampa ("Valori massimi tra le righe:")
Stampa (torcia.max (dati, dim = 1))

Produzione:

tensore ([[2.2844e+00, 1.0477E+00, -7.5003E-01, 6.2289E-01, 3.6587E-01],
[1.4600e+00, -9.5055E-01, 1.0254E+00, 9.8235E-01, 1.6930e+00],
[-1.6253E-01, 4.6555E-02, 1.1996e+00, -1.0124e+00, 9.4128E-01],
[1.6245E-01, 6.3275E -01, -2.4493E -01, -1.2998E+00, -4.8166E-01],
[-1.7680e+00, 1.2203E-01, 1.9420E -03, -6.2728E-01, 5.9291e-01]])
Valori massimi tra le colonne:
torcia.return_types.max (
valori = tensore ([2.2844, 1.0477, 1.1996, 0.9824, 1.6930]),
indici = tensore ([0, 0, 2, 1, 1])
Valori massimi tra le righe:
torcia.return_types.max (
valori = tensore ([2.2844, 1.6930, 1.1996, 0.6327, 0.5929]),
indici = tensore ([0, 4, 2, 1, 4])

Possiamo vedere che i valori massimi tra le righe e le colonne sono stati restituiti insieme ai loro indici.

Conclusione

In questa lezione di Pytorch, abbiamo appreso la funzione Max () e come applicarla su un tensore per restituire i valori massimi tra le colonne e le righe. Restituisce anche le posizioni dell'indice insieme ai valori massimi restituiti.

Abbiamo anche creato un tensore con la funzione CPU () e restituito i valori massimi. Se il DIM non è specificato in un tensore a due o multidimensionali, restituisce il valore massimo dall'intero tensore.