Pytorch - var

Pytorch - var
Vedremo come restituire la varianza di un tensore usando var () 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.

Var ()

Var () in Pytorch viene utilizzato per restituire la varianza degli elementi presenti nell'oggetto tensore di ingresso.

Sintassi:

torcia.var (tensore, dim)

Dove:

1. Il tensore è il tensore di ingresso.

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

Esempio 1:

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

Produzione:

tensore ([[0.8844, -0.6416, -0.5520, 0.3798, -0.0587],
[0.0633, 1.9403, -1.3161, -0.5293, 0.4061],
[1.3974, 0.9784, -0.1111, -1.7721, -0.5881]])
Varianza tra le colonne:
tensore ([0.4529, 1.7027, 0.3717, 1.1669, 0.2475])
Varianza tra le righe:
tensore ([0.4115, 1.4706, 1.6017])

Possiamo vedere che la varianza viene restituita attraverso le colonne e le righe.

Esempio 2:

Crea un tensore con matrice 5 * 5 e restituisce la varianza 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 varianza lungo le colonne
Stampa ("Varianza tra le colonne:")
Stampa (torcia.var (dati, dim = 0))
stampa()
#get varianza lungo le righe
Stampa ("Varianza attraverso le righe:")
Stampa (torcia.var (dati, dim = 1))

Produzione:

tensore ([[0.1260, 1.1681, 0.2191, -0.3685, -2.0660],
[0.5840, 0.2955, 0.2362, -1.2847, 1.3656],
[0.2925, 1.3555, -1.2881, 0.9167, 0.1882],
[-0.7466, 0.2770, 1.1448, -1.2779, -0.2764],
[-1.1316, -0.6998, 2.5051, -0.6687, -0.1624]])
Varianza tra le colonne:
tensore ([0.5318, 0.6768, 1.9404, 0.8168, 1.5226])
Varianza tra le righe:
tensore ([1.4157, 0.9283, 1.0072, 0.8749, 2.1285])

Possiamo vedere che la varianza tra le righe e le colonne sono state restituite.

Senza il parametro dim

Se non specifichiamo il parametro Dim, restituisce la varianza dall'intero tensore.

Esempio 1:

Crea un tensore 2D con matrice 5*5 e restituisce la varianza.

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 varianza
print ("Varianza:")
Stampa (torcia.var (dati))

Produzione:

tensore ([[-0.0151, -0.7915, -0.9665, -1.4131, 0.9591],
[-0.6647, 0.6698, -1.3399, -0.0513, -0.0519],
[1.0328, -0.3692, 1.0579, 0.5857, 0.3899],
[-0.5928, 1.2447, -0.5782, 1.4461, -0.4847],
[-1.3246, -0.7092, 0.1471, 0.5752, 3.1142]])
Varianza :
tensore (1.1131)

Esempio 2:

Crea un tensore 1D con 5 valori e restituire la varianza.

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 varianza
print ("Varianza:")
Stampa (torcia.var (dati))

Produzione:

tensore ([10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Varianza :
tensore (242.5780)

Lavorare con la CPU

Se si desidera eseguire una funzione var () 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 la funzione CPU () e applicare la funzione var () 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 varianza lungo le colonne
Stampa ("Varianza tra le colonne:")
Stampa (torcia.var (dati, dim = 0))
stampa()
#get varianza lungo le righe
Stampa ("Varianza attraverso le righe:")
Stampa (torcia.var (dati, dim = 1))

Produzione:

tensore ([[0.1278, 1.3140, 0.5116, -0.1922, 0.9349],
[-1.1720, 1.4805, -0.2628, 0.5970, -0.6479],
[-1.7930, 0.2337, -1.3810, -0.9092, -0.0778]])
Varianza tra le colonne:
tensore ([0.9607, 0.4582, 0.9053, 0.5676, 0.6427])
Varianza tra le righe:
tensore ([0.3655, 1.1027, 0.7312])

Possiamo vedere che la varianza viene restituita attraverso le colonne e le righe.

Esempio 2:

Crea un tensore con matrice 5 * 5 con la funzione CPU () e restituisce la varianza 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 varianza lungo le colonne
Stampa ("Varianza tra le colonne:")
Stampa (torcia.var (dati, dim = 0))
stampa()
#get varianza lungo le righe
Stampa ("Varianza attraverso le righe:")
Stampa (torcia.var (dati, dim = 1))

Produzione:

tensore ([[-0.3587, 1.2200, -0.8744, -0.8184, -1.1658],
[0.1428, -0.6122, -0.9894, 1.8219, -0.0248],
[-1.9626, -0.3423, 1.3046, 0.9737, 1.1691],
[-0.1054, -0.3935, -0.3632, -0.7317, -0.1751],
[0.9651, -0.6595, 0.3152, 0.6908, -0.0370]])
Varianza tra le colonne:
tensore ([1.1489, 0.6115, 0.9007, 1.2999, 0.6869])
Varianza tra le righe:
tensore ([0.9032, 1.1678, 1.9312, 0.0595, 0.4048])

Possiamo vedere che la varianza tra le righe e le colonne sono state restituite.

Conclusione

In questa lezione di Pytorch, abbiamo discusso della funzione var () e su come applicarlo su un tensore per restituire la varianza attraverso le colonne e le righe.

Abbiamo anche creato un tensore con la funzione CPU () e restituito la varianza. Se il DIM non è specificato in un tensore a due o multidimensionali, restituisce la varianza dell'intero tensore.