Pytorch - var

Pytorch - var
Nous verrons comment retourner la variance d'un tenseur à l'aide de var () dans ce tutoriel pytorch.

Pytorch est un cadre open source disponible avec un langage de programmation Python. Tensor est un tableau multidimensionnel utilisé pour stocker les données. Pour utiliser un tenseur, nous devons importer le module de torche. Pour créer un tenseur, la méthode utilisée est tenseur ().

Syntaxe:

torche.tenseur (données)

Où les données sont un tableau multidimensionnel.

Var ()

Var () dans pytorch est utilisé pour retourner la variance des éléments présents dans l'objet tenseur d'entrée.

Syntaxe:

torche.var (tenseur, dim)

Où:

1. Le tenseur est le tenseur d'entrée.

2. DIM est de réduire la dimension. Dim = 0 spécifie la comparaison de la colonne qui obtient la variance le long d'une colonne et dim = 1 spécifie la comparaison de ligne qui obtient la variance le long de la ligne.

Exemple 1:

Dans cet exemple, nous créerons un tenseur avec 2 dimensions qui a 3 lignes et 5 colonnes et appliquer la fonction var () sur les lignes et les colonnes.

Module de torche #mport
Importer une torche
#create un tenseur avec 2 dimensions (3 * 5)
# avec des éléments aléatoires en utilisant la fonction randn ()
données = torche.Randn (3,5)
#afficher
Imprimer (données)
imprimer()
#get variance le long des colonnes
Imprimer ("variance entre les colonnes:")
imprimer (torche.var (données, dim = 0))
imprimer()
#get la variance le long des lignes
Imprimer ("variance entre les lignes:")
imprimer (torche.var (données, dim = 1))

Sortir:

tenseur ([[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]])
Variance entre les colonnes:
Tensor ([0.4529, 1.7027, 0.3717, 1.1669, 0.2475])
Variance entre les lignes:
Tensor ([0.4115, 1.4706, 1.6017])

Nous pouvons voir que la variance est retournée à travers les colonnes et les lignes.

Exemple 2:

Créez un tenseur avec 5 * 5 matrice et renvoyez la variance à travers les lignes et les colonnes.

Module de torche #mport
Importer une torche
#create un tenseur avec 2 dimensions (5 * 5)
# avec des éléments aléatoires en utilisant la fonction randn ()
données = torche.Randn (5,5)
#afficher
Imprimer (données)
imprimer()
#get variance le long des colonnes
Imprimer ("variance entre les colonnes:")
imprimer (torche.var (données, dim = 0))
imprimer()
#get la variance le long des lignes
Imprimer ("variance entre les lignes:")
imprimer (torche.var (données, dim = 1))

Sortir:

tenseur ([[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]])
Variance entre les colonnes:
Tensor ([0.5318, 0.6768, 1.9404, 0.8168, 1.5226])
Variance entre les lignes:
tenseur ([1.4157, 0.9283, 1.0072, 0.8749, 2.1285])

Nous pouvons voir que la variance entre les lignes et les colonnes a été retournée.

Sans le paramètre DIM

Si nous ne spécifions pas le paramètre DIM, il renvoie la variance de l'ensemble du tenseur.

Exemple 1:

Créez un tenseur 2D avec une matrice 5 * 5 et renvoyez la variance.

Module de torche #mport
Importer une torche
#create un tenseur avec 2 dimensions (5 * 5)
# avec des éléments aléatoires en utilisant la fonction randn ()
données = torche.Randn (5,5)
#afficher
Imprimer (données)
imprimer()
#get variance
Imprimer ("variance:")
imprimer (torche.var (données))

Sortir:

Tensor ([[- 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]])
Variance:
tenseur (1.1131)

Exemple 2:

Créez un tenseur 1D avec 5 valeurs et renvoyez la variance.

Module de torche #mport
Importer une torche
#create un tenseur avec 5 valeurs numériques
données = torche.Tensor ([10.6,20.7,30.6,40.4,50.0])
#afficher
Imprimer (données)
imprimer()
#get variance
Imprimer ("variance:")
imprimer (torche.var (données))

Sortir:

Tensor ([10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Variance:
tenseur (242.5780)

Travailler avec le processeur

Si vous souhaitez exécuter une fonction var () sur le CPU, nous devons créer un tenseur avec une fonction CPU (). Cela fonctionnera sur une machine CPU.

Lorsque nous créons un tenseur, cette fois, nous pouvons utiliser la fonction CPU ().

Syntaxe:

torche.tenseur (données).CPU()

Exemple 1:

Dans cet exemple, nous créerons un tenseur avec 2 dimensions qui a 3 lignes et 5 colonnes avec la fonction CPU () et appliquer la fonction var () sur les lignes et les colonnes.

Module de torche #mport
Importer une torche
#create un tenseur avec 2 dimensions (3 * 5)
# avec des éléments aléatoires en utilisant la fonction randn ()
données = torche.Randn (3,5).CPU()
#afficher
Imprimer (données)
imprimer()
#get variance le long des colonnes
Imprimer ("variance entre les colonnes:")
imprimer (torche.var (données, dim = 0))
imprimer()
#get la variance le long des lignes
Imprimer ("variance entre les lignes:")
imprimer (torche.var (données, dim = 1))

Sortir:

tenseur ([[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]])
Variance entre les colonnes:
Tensor ([0.9607, 0.4582, 0.9053, 0.5676, 0.6427])
Variance entre les lignes:
Tensor ([0.3655, 1.1027, 0.7312])

Nous pouvons voir que la variance est retournée à travers les colonnes et les lignes.

Exemple 2:

Créez un tenseur avec une matrice 5 * 5 avec la fonction CPU () et renvoyez la variance entre les lignes et les colonnes.

Module de torche #mport
Importer une torche
#create un tenseur avec 2 dimensions (5 * 5)
# avec des éléments aléatoires en utilisant la fonction randn ()
données = torche.Randn (5,5).CPU()
#afficher
Imprimer (données)
imprimer()
#get variance le long des colonnes
Imprimer ("variance entre les colonnes:")
imprimer (torche.var (données, dim = 0))
imprimer()
#get la variance le long des lignes
Imprimer ("variance entre les lignes:")
imprimer (torche.var (données, dim = 1))

Sortir:

Tensor ([[- 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]])
Variance entre les colonnes:
tenseur ([1.1489, 0.6115, 0.9007, 1.2999, 0.6869])
Variance entre les lignes:
Tensor ([0.9032, 1.1678, 1.9312, 0.0595, 0.4048])

Nous pouvons voir que la variance entre les lignes et les colonnes a été retournée.

Conclusion

Dans cette leçon de pytorch, nous avons discuté de la fonction var () et comment l'appliquer sur un tenseur pour retourner la variance à travers les colonnes et les lignes.

Nous avons également créé un tenseur avec la fonction CPU () et retourné la variance. Si le DIM n'est pas spécifié dans le tenseur à deux ou plusieurs dimensions, il renvoie la variance de l'ensemble du tenseur.