Pytorch - min

Pytorch - min
Nous verrons comment renvoyer les valeurs minimales d'un tenseur à l'aide de min () 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.

Min ()

Min () dans pytorch est utilisé pour renvoyer le minimum d'éléments présents dans l'objet tenseur d'entrée.

Syntaxe:

torche.min (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 minimales le long d'une colonne et dim = 1 spécifie la comparaison de ligne qui obtient les valeurs minimales le long de la ligne.

Retour:

Il renvoie également les indices de valeurs minimales.

Exemple 1:

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

Sortir:

tenseur ([[1.2472E-01, -8.7776E-01, 4.5338E-01, 2.2461E-01, -1.4291E + 00],
[2.6528E + 00, -1.1316E-03, 1.4365e + 00, 3.8547E-01, 2.1671E-01],
[-7.2345E-01, -4.1827e-01, 4.8590E-01, -1.3218E + 00, 1.5717E + 00]])
Valeurs minimales entre les colonnes:
torche.return_types.min (
valeurs = tenseur ([- 0.7235, -0.8778, 0.4534, -1.3218, -1.4291]),
Indices = tenseur ([2, 0, 0, 2, 0]))
Valeurs minimales entre les lignes:
torche.return_types.min (
valeurs = tenseur ([- 1.4291E + 00, -1.1316E-03, -1.3218E + 00]),
Indices = tenseur ([4, 1, 3]))

Nous pouvons voir que les valeurs minimales 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 minimales à 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 minimales le long des colonnes
Imprimer ("Valeurs minimales entre les colonnes:")
imprimer (torche.min (données, dim = 0))
imprimer()
#get les valeurs minimales le long des lignes
Imprimer ("Valeurs minimales entre les lignes:")
imprimer (torche.min (données, dim = 1))

Sortir:

tenseur ([[0.3584, -0.8393, -0.3111, -0.4203, 1.4332],
[ 1.2702, 2.4583, -1.5547, -1.4465, 1.0672],
[-0.2497, -1.7490, 0.2130, 0.3989, -0.1520],
[-1.1165, -2.1209, 0.7191, 0.4764, 2.6431],
[ 1.8286, 0.8787, -0.4475, 1.1866, -1.4123]])
Valeurs minimales entre les colonnes:
torche.return_types.min (
valeurs = tenseur ([- 1.1165, -2.1209, -1.5547, -1.4465, -1.4123]),
Indices = tenseur ([3, 3, 1, 1, 4]))
Valeurs minimales entre les lignes:
torche.return_types.min (
valeurs = tenseur ([- 0.8393, -1.5547, -1.7490, -2.1209, -1.4123]),
Indices = tenseur ([1, 2, 1, 1, 4]))

Nous pouvons voir que les valeurs minimales entre les lignes et les colonnes ont été renvoyées avec leurs indices.

Sans le paramètre DIM

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

Exemple 1:

Créez un tenseur 2D avec 5 * 5 matrice et renvoyez la valeur minimale.

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 minimale
Imprimer ("Valeur minimale:")
imprimer (torche.min (données))

Sortir:

Tensor ([[- 0.5350, 0.5439, -0.1100, -1.0623, -1.3757],
[ 1.5085, -1.0191, 0.4068, -0.4972, 0.3982],
[-0.3360, 0.2665, -0.3139, 0.7079, 0.6624],
[-0.5330, 0.0763, -0.8529, -0.5675, 0.0718],
[0.4249, -1.3827, -1.7805, -1.1841, -0.5587]])
Valeur minimum :
tenseur (-1.7805)

Exemple 2:

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

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 minimale
Imprimer ("Valeur minimale:")
imprimer (torche.min (données))

Sortir:

Tensor ([10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Valeur minimum :
tenseur (10.6000)

Travailler avec le processeur

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

Sortir:

Tensor ([[- 0.7268, -0.6932, 1.3316, -1.3355, -0.5170],
[ 1.1113, -1.1252, 0.4458, -0.7343, 2.2207],
[-0.3300, 0.7784, -0.6643, 0.7307, 1.4468]])
Valeurs minimales entre les colonnes:
torche.return_types.min (
valeurs = tenseur ([- 0.7268, -1.1252, -0.6643, -1.3355, -0.5170]),
Indices = tenseur ([0, 1, 2, 0, 0]))
Valeurs minimales entre les lignes:
torche.return_types.min (
valeurs = tenseur ([- 1.3355, -1.1252, -0.6643]),
Indices = tenseur ([3, 1, 2]))

Nous pouvons voir que les valeurs minimales 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 minimales à 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 minimales le long des colonnes
Imprimer ("Valeurs minimales entre les colonnes:")
imprimer (torche.min (données, dim = 0))
imprimer()
#get les valeurs minimales le long des lignes
Imprimer ("Valeurs minimales entre les lignes:")
imprimer (torche.min (données, dim = 1))

Sortir:

Tensor ([[- 0.4774, -0.6484, -1.5810, 0.9154, 0.9417],
[-1.1097, -0.9460, 1.3099, 2.0782, -0.3319],
[0.2239, 1.1931, -0.8064, -1.5089, 2.0238],
[-0.6963, -0.0779, 0.1755, 0.9848, 1.3191],
[ 1.0035, -0.2865, 1.6750, 0.0255, 1.2538]])
Valeurs minimales entre les colonnes:
torche.return_types.min (
valeurs = tenseur ([- 1.1097, -0.9460, -1.5810, -1.5089, -0.3319]),
Indices = tenseur ([1, 1, 0, 2, 1]))
Valeurs minimales entre les lignes:
torche.return_types.min (
valeurs = tenseur ([- 1.5810, -1.1097, -1.5089, -0.6963, -0.2865]),
Indices = tenseur ([2, 0, 3, 0, 1]))

Nous pouvons voir que les valeurs minimales 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 min () et comment l'appliquer sur un tenseur pour renvoyer les valeurs minimales à travers les colonnes et les lignes. Il renvoie également les positions d'index avec les valeurs minimales renvoyées.

Nous avons également créé un tenseur avec la fonction CPU () et retourné les valeurs minimales. Si le DIM n'est pas spécifié dans deux ou le tenseur multidimensionnel, il renvoie la valeur minimale de l'ensemble du tenseur.