Pytorch - MST

Pytorch - MST
Nous verrons comment retourner l'écart type d'un tenseur à l'aide de STD () 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.

Std ()

STD () dans Pytorch est utilisé pour renvoyer l'écart type des éléments présents dans l'objet Tenseur d'entrée.

Syntaxe:

torche.std (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 l'écart type le long d'une colonne et dim = 1 spécifie la comparaison de ligne qui obtient l'écart type 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 std () 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 écart type le long des colonnes
Imprimer ("écart-type entre les colonnes:")
imprimer (torche.std (données, dim = 0))
imprimer()
#get écart type le long des lignes
Imprimer ("écart-type entre les lignes:")
imprimer (torche.std (données, dim = 1))

Sortir:

tenseur ([[0.6548, 1.0587, -0.1196, 0.9985, -0.2190],
[0.3791, 1.5435, -0.5304, 0.8167, 3.5842],
[-0.1122, -0.2159, 0.3844, -0.6877, -0.7479]])
Écart-type entre les colonnes:
Tensor ([0.3886, 0.9088, 0.4582, 0.9255, 2.3633])
Écart-type entre les lignes:
Tensor ([0.6088, 1.5499, 0.4633])

Nous pouvons voir que l'écart type est renvoyé dans les colonnes et les lignes.

Exemple 2:

Créez un tenseur avec 5 * 5 matrice et renvoyez l'écart-type 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)
#afficher
Imprimer (données)
imprimer()
#get écart type le long des colonnes
Imprimer ("écart-type entre les colonnes:")
imprimer (torche.std (données, dim = 0))
imprimer()
#get écart type le long des lignes
Imprimer ("écart-type entre les lignes:")
imprimer (torche.std (données, dim = 1))

Sortir:

Tensor ([[- 0.2092, 0.2423, -0.6894, 0.4194, -0.3451],
[0.0026, 0.0415, 0.0787, 0.3679, 0.6610],
[ 1.1111, -1.2749, -0.5760, 0.0788, -0.7471],
[-0.9320, -0.4619, -0.4667, 0.7881, 0.4340],
[0.6366, -1.0388, -1.3156, 0.3060, 0.7883]])
Écart-type entre les colonnes:
Tensor ([0.7871, 0.6589, 0.4997, 0.2568, 0.6706])
Écart-type entre les lignes:
Tensor ([0.4486, 0.2806, 0.9164, 0.7120, 0.9814])

Nous pouvons voir que l'écart type 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 l'écart type par rapport à l'ensemble du tenseur.

Exemple 1:

Créez un tenseur 2D avec 5 * 5 matrice et renvoyez l'écart type.

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 écart-type
Imprimer ("Écart-type:")
imprimer (torche.std (données))

Sortir:

tenseur ([[0.7371, 0.9772, -0.7774, 0.6982, -1.6117],
[-0.3546, 0.0951, 0.0059, 0.5024, -1.1832],
[0.0237, 1.0456, 1.6042, 0.6445, -0.9371],
[0.7644, -0.8274, 0.8999, 0.3538, -0.0928],
[ 1.4303, 0.8764, -1.6896, 0.0271, -0.1859]])
Écart-type :
tenseur (0.9011)

Exemple 2:

Créez un tenseur 1D avec 5 valeurs et renvoyez l'écart type.

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 écart-type
Imprimer ("Écart-type:")
imprimer (torche.std (données))

Sortir:

Tensor ([10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Écart-type :
tenseur (15.5749)

Travailler avec le processeur

Si vous souhaitez exécuter une fonction std () 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 std () 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 écart type le long des colonnes
Imprimer ("écart-type entre les colonnes:")
imprimer (torche.std (données, dim = 0))
imprimer()
#get écart type le long des lignes
Imprimer ("écart-type entre les lignes:")
imprimer (torche.std (données, dim = 1))

Sortir:

Tensor ([[- 0.6536, -0.4777, 1.6667, 0.0299, 0.1223],
[-1.8604, -0.3503, 0.7509, -0.2912, -1.5708],
[0.1468, 1.2626, 0.6741, 1.8651, 0.1632]])
Écart-type entre les colonnes:
tenseur ([1.0104, 0.9701, 0.5523, 1.1633, 0.9895])
Écart-type entre les lignes:
Tensor ([0.9158, 1.0598, 0.7406])

Nous pouvons voir que l'écart type est renvoyé dans les colonnes et les lignes.

Exemple 2:

Créez un tenseur avec 5 * 5 matrice avec la fonction CPU () et renvoyez l'écart-type 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 écart type le long des colonnes
Imprimer ("écart-type entre les colonnes:")
imprimer (torche.std (données, dim = 0))
imprimer()
#get écart type le long des lignes
Imprimer ("écart-type entre les lignes:")
imprimer (torche.std (données, dim = 1))

Sortir:

tenseur ([[- 1.3900, 1.3594, -0.3603, 1.6448, -0.2708],
[-0.6731, 0.9022, 1.0914, -0.0416, -1.1494],
[0.1134, 1.0007, 0.5488, -1.6023, -1.2196],
[0.4858, 0.2534, -2.2222, -0.1260, -0.0746],
[-0.2175, -1.6167, -1.1183, 0.2427, -0.1219]])
Écart-type entre les colonnes:
Tensor ([0.7273, 1.1853, 1.3192, 1.1561, 0.5686])
Écart-type entre les lignes:
tenseur ([1.2743, 0.9718, 1.1293, 1.0831, 0.7716])

Nous pouvons voir que l'écart type entre les lignes et les colonnes a été retournée.

Conclusion

Dans cette leçon de pytorch, nous avons appris la fonction std () et comment l'appliquer sur un tenseur pour retourner l'écart-type entre les colonnes et les lignes.

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