Nous verrons comment renvoyer les valeurs maximales d'un tenseur à l'aide de Max () 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.
Max ()
Max () dans pytorch est utilisé pour renvoyer le maximum d'éléments présents dans l'objet tendule d'entrée.
Syntaxe:
torche.Max (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 les valeurs maximales le long d'une colonne et dim = 1 spécifie la comparaison de ligne, qui obtient les valeurs maximales le long de la ligne.
Retour:
Il renvoie également les indices de valeurs maximales.
Exemple 1:
Dans cet exemple, nous créerons un tenseur avec 2 dimensions qui a 3 lignes et 5 colonnes et appliquer la fonction max () 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 maximales le long des colonnes
Imprimer ("Valeurs maximales entre les colonnes:")
imprimer (torche.max (données, dim = 0))
imprimer()
#get les valeurs maximales le long des lignes
Imprimer ("Valeurs maximales entre les lignes:")
imprimer (torche.max (données, dim = 1))
Sortir:
Tensor ([[- 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]])
Valeurs maximales entre les colonnes:
torche.return_types.Max (
valeurs = tenseur ([1.2953, 0.2773, 0.5380, 1.3680, 2.0196]),
Indices = tenseur ([2, 2, 2, 1, 0]))
Valeurs maximales entre les lignes:
torche.return_types.Max (
valeurs = tenseur ([2.0196, 1.3680, 1.2953]),
Indices = tenseur ([4, 3, 0]))
Nous pouvons voir que les valeurs maximales sont renvoyées à travers les colonnes et les lignes ainsi que leurs indices.
Exemple 2:
Créez un tenseur avec 5 * 5 matrice et renvoyez les valeurs maximales à 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 les valeurs maximales le long des colonnes
Imprimer ("Valeurs maximales entre les colonnes:")
imprimer (torche.max (données, dim = 0))
imprimer()
#get les valeurs maximales le long des lignes
Imprimer ("Valeurs maximales entre les lignes:")
imprimer (torche.max (données, dim = 1))
Sortir:
tenseur ([[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]])
Valeurs maximales entre les colonnes:
torche.return_types.Max (
valeurs = tenseur ([1.5677, 1.6926, 1.1491, -0.1141, 1.8014]),
Indices = tenseur ([0, 2, 1, 3, 1]))
Valeurs maximales entre les lignes:
torche.return_types.Max (
valeurs = tenseur ([1.5677, 1.8014, 1.6926, 0.2317, 0.2535]),
Indices = tenseur ([0, 4, 1, 1, 0]))
Nous pouvons voir que les valeurs maximales entre les lignes et les colonnes ont été renvoyées avec leurs indices.
Sans le paramètre DIM
Si nous n'avons pas spécifié le paramètre DIM, il renvoie la valeur maximale de l'ensemble du tenseur.
Exemple 1:
Créez un tenseur 2D avec 5 * 5 matrice et renvoyez la valeur maximale.
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 valeur maximale
Imprimer ("Valeur maximale:")
imprimer (torche.Max (données))
Sortir:
tenseur ([[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]])
Valeur maximum :
tenseur (1.8376)
Exemple 2:
Créez un tenseur 1D avec 5 valeurs et renvoyez la valeur maximale.
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 la valeur maximale
Imprimer ("Valeur maximale:")
imprimer (torche.Max (données))
Sortir:
Tensor ([10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Valeur maximum :
tenseur (50.)
Travailler avec le processeur
Si vous souhaitez exécuter une fonction max () 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 une fonction CPU () et appliquer la fonction max () 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 les valeurs maximales le long des colonnes
Imprimer ("Valeurs maximales entre les colonnes:")
imprimer (torche.max (données, dim = 0))
imprimer()
#get les valeurs maximales le long des lignes
Imprimer ("Valeurs maximales entre les lignes:")
imprimer (torche.max (données, dim = 1))
Sortir:
Tensor ([[- 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]])
Valeurs maximales entre les colonnes:
torche.return_types.Max (
valeurs = tenseur ([- 0.1843, 0.5834, 0.4953, 1.3483, -0.0414]),
Indices = tenseur ([0, 2, 2, 1, 2]))
Valeurs maximales entre les lignes:
torche.return_types.Max (
valeurs = tenseur ([0.3713, 1.3483, 0.5834]),
Indices = tenseur ([3, 3, 1]))
Nous pouvons voir que les valeurs maximales sont renvoyées à travers les colonnes et les lignes ainsi que leurs indices.
Exemple 2:
Créez un tenseur avec une matrice 5 * 5 avec la fonction CPU () et renvoyez les valeurs maximales à 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 les valeurs maximales le long des colonnes
Imprimer ("Valeurs maximales entre les colonnes:")
imprimer (torche.max (données, dim = 0))
imprimer()
#get les valeurs maximales le long des lignes
Imprimer ("Valeurs maximales entre les lignes:")
imprimer (torche.max (données, dim = 1))
Sortir:
tenseur ([[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]])
Valeurs maximales entre les colonnes:
torche.return_types.Max (
valeurs = tenseur ([2.2844, 1.0477, 1.1996, 0.9824, 1.6930]),
Indices = tenseur ([0, 0, 2, 1, 1]))
Valeurs maximales entre les lignes:
torche.return_types.Max (
valeurs = tenseur ([2.2844, 1.6930, 1.1996, 0.6327, 0.5929]),
Indices = tenseur ([0, 4, 2, 1, 4]))
Nous pouvons voir que les valeurs maximales entre les lignes et les colonnes ont été renvoyées avec leurs indices.
Conclusion
Dans cette leçon de pytorch, nous avons appris la fonction max () et comment l'appliquer sur un tenseur pour renvoyer les valeurs maximales à travers les colonnes et les lignes. Il renvoie également les positions d'index avec les valeurs maximales renvoyées.
Nous avons également créé un tenseur avec la fonction CPU () et renvoyé les valeurs maximales. Si le DIM n'est pas spécifié dans deux ou le tenseur multidimensionnel, il renvoie la valeur maximale de l'ensemble du tenseur.