Pytorch - somme

Pytorch - somme
Nous verrons comment renvoyer la somme des valeurs dans un tenseur en utilisant sum () 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.

Somme()

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

Syntaxe:

torche.sum (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 somme totale des valeurs le long d'une colonne et DIM = 1 spécifie la comparaison des lignes qui obtient la somme totale des valeurs le long de la ligne.

Exemple 1:

Dans cet exemple, nous créerons un tenseur avec 3 dimensions qui a 3 lignes et 5 colonnes et appliquer la fonction SUM () 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 les valeurs de somme le long des colonnes
Imprimer ("Sum Valeurs entre les colonnes:")
imprimer (torche.sum (data, dim = 0))
imprimer()
#get les valeurs de somme le long des lignes
Imprimer ("Sum Valeurs entre les lignes:")
imprimer (torche.somme (données, dim = 1))

Sortir:

Tensor ([[- 0.0556, 0.4207, 2.0077, 0.2641, -1.2607],
[-0.6305, 0.2493, -1.8812, 1.3837, 0.7238],
[ 1.7078, -0.8948, -1.2484, -0.2079, -0.9078]])
Sommez les valeurs entre les colonnes:
tenseur ([1.0217, -0.2247, -1.1220, 1.4399, -1.4447])
Sommez les valeurs entre les lignes:
tenseur ([1.3762, -0.1548, -1.5512])

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

Exemple 2:

Créez un tenseur avec 5 * 5 matrice et renvoyez la somme totale des valeurs 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 la somme des valeurs le long des colonnes
Imprimer ("Somme des valeurs entre les colonnes:")
imprimer (torche.sum (data, dim = 0))
imprimer()
#get la somme des valeurs le long des lignes
Imprimer ("Somme des valeurs entre les lignes:")
imprimer (torche.somme (données, dim = 1))

Sortir:

tenseur ([[- 1.0473, 0.5575, -0.3595, 1.2286, -0.2730],
[-0.2578, 0.8914, 1.1879, -1.4176, -1.6000],
[0.2300, -0.8414, 0.7395, 0.2362, 0.9471],
[-0.1933, -0.3221, 1.6938, 1.0898, -1.1636],
[ 1.4314, -1.3938, 0.6046, 0.7937, 1.9621]])
Somme des valeurs entre les colonnes:
Tensor ([0.1631, -1.1084, 3.8663, 1.9308, -0.1275])
Somme de valeurs entre les lignes:
Tensor ([0.1063, -1.1960, 1.3114, 1.1046, 3.3980])

Nous pouvons voir la somme des valeurs à travers les lignes et les colonnes.

Sans le paramètre DIM

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

Exemple 1:

Créez un tenseur 2D avec 5 * 5 matrice et renvoyez la somme totale.

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 somme totale
Imprimer ("Sum total:")
imprimer (torche.somme (données))

Sortir:

Tensor ([[- 0.7637, -0.5952, 1.1987, -1.6382, 0.2750],
[-0.6120, 0.1565, -0.3482, -0.9082, -1.2066],
[0.5195, 0.3678, 1.1712, -0.3106, -0.1575],
[ 1.7759, -0.1936, 1.7604, -0.5895, 1.9677],
[ 1.5080, -0.1691, 0.2007, -0.7224, 0.0071]])
Somme totale :
tenseur (2.6937)

Exemple 2:

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

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 somme totale
Print ("Sum mtotal:")
imprimer (torche.somme (données))

Sortir:

Tensor ([10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Somme mtotale:
tenseur (152.3000)

Travailler avec le processeur

Si vous souhaitez exécuter une fonction sum () 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 3 dimensions qui a 3 lignes et 5 colonnes avec une fonction CPU () et appliquer la somme () 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 la somme des valeurs le long des colonnes
Imprimer ("Somme des valeurs entre les colonnes:")
imprimer (torche.sum (data, dim = 0))
imprimer()
#get la somme des valeurs le long des lignes
Imprimer ("Somme des valeurs entre les lignes:")
imprimer (torche.somme (données, dim = 1))

Sortir:

Tensor ([[- 0.2128, 0.7013, 1.5819, -0.7530, -0.9235],
[0.4140, 0.6337, 0.8007, -0.8377, -0.7650],
[0.8471, 0.6988, 0.2508, 0.2901, -0.4939]])
Somme des valeurs entre les colonnes:
tenseur ([1.0483, 2.0339, 2.6334, -1.3006, -2.1824])
Somme de valeurs entre les lignes:
Tensor ([0.3939, 0.2457, 1.5930])

Nous pouvons voir que la somme des valeurs 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 somme des valeurs à 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).CPU()
#afficher
Imprimer (données)
imprimer()
#get la somme des valeurs le long des colonnes
Imprimer ("Somme des valeurs entre les colonnes:")
imprimer (torche.sum (data, dim = 0))
imprimer()
#get la somme des valeurs le long des lignes
Imprimer ("Somme des valeurs entre les lignes:")
imprimer (torche.somme (données, dim = 1))

Sortir:

tenseur ([[0.2954, -0.1462, 1.3691, 0.1799, 0.2489],
[-1.4990, -0.8262, -1.2368, 0.0618, 1.0522],
[-0.7371, 0.6237, -0.8857, -0.4474, -1.7985],
[0.0569, 1.4520, -1.6996, 1.2843, 0.6789],
[-1.8241, 0.4399, 0.1749, -2.5850, 1.3348]])
somme des valeurs entre les colonnes:
tenseur ([- 3.7080, 1.5432, -2.2781, -1.5064, 1.5163])
somme de valeurs entre les lignes:
tenseur ([1.9471, -2.4480, -3.2450, 1.7725, -2.4595])

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

Conclusion

Dans cette leçon de pytorch, nous avons appris la fonction SUM () et comment l'appliquer sur un tenseur pour retourner la somme totale des valeurs à travers les colonnes et les lignes. Nous avons également créé un tenseur avec la fonction CPU () et retourné la somme de toutes les valeurs. Si le DIM n'est pas spécifié dans deux ou le tenseur multidimensionnel, il renvoie la somme totale de l'ensemble du tenseur.