Pytorch - médian

Pytorch - médian
Nous verrons comment retourner la médiane d'un tenseur en utilisant Median () 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.

Médian()

Median () dans Pytorch est utilisé pour retourner la médiane des éléments présents dans l'objet tenseur d'entrée.

Syntaxe:

torche.médian (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 fait passer la médiane le long d'une colonne et DIM = 1 spécifie la comparaison de ligne qui obtient la médiane le long de la ligne.

Retour:

Il renvoie la médiane avec la position d'index où elle est présente dans le tenseur.

Exemple 1:

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

Sortir:

tenseur ([[0.9562, 0.4517, 2.1758, -0.7846, -0.7103],
[-0.4080, 1.9359, 1.0324, 0.0120, -0.4021],
[0.6448, -0.6840, 1.5963, 0.4659, 0.5414]])
Médian à travers les colonnes:
torche.return_types.médian(
valeurs = tenseur ([0.6448, 0.4517, 1.5963, 0.0120, -0.4021]),
Indices = tenseur ([2, 0, 2, 1, 1]))
Médian à travers les rangées:
torche.return_types.médian(
valeurs = tenseur ([0.4517, 0.0120, 0.5414]),
Indices = tenseur ([1, 3, 4]))

Nous pouvons voir que la médiane est retournée à travers les colonnes et les lignes ainsi que les positions d'index (indices).

Exemple 2:

Créez un tenseur avec 5 * 5 matrice et retournez la médiane à 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 médian le long des colonnes
Imprimer ("médiane à travers les colonnes:")
imprimer (torche.médian (données, dim = 0))
imprimer()
#get médian le long des lignes
Imprimer ("médian à travers les lignes:")
imprimer (torche.médian (données, dim = 1))

Sortir:

tenseur ([[- 1.0895, 1.2629, 0.5036, -0.8317, 0.9415],
[-0.1067, 0.5748, 0.1773, 0.1904, 0.1359],
[-0.7851, -0.1791, -0.1605, 1.8524, 0.3375],
[-0.6451, 0.5093, -2.0334, -0.6462, -0.5074],
[-0.7813, -1.5316, 0.3567, 1.5330, 0.6483]])
Médian à travers les colonnes:
torche.return_types.médian(
valeurs = tenseur ([- 0.7813, 0.5093, 0.1773, 0.1904, 0.3375]),
Indices = tenseur ([4, 3, 1, 1, 2]))
Médian à travers les rangées:
torche.return_types.médian(
valeurs = tenseur ([0.5036, 0.1773, -0.1605, -0.6451, 0.3567]),
Indices = tenseur ([2, 2, 2, 0, 2]))

Nous pouvons voir que la médiane à travers les rangées et les colonnes a été retournée avec les indices.

Sans le paramètre DIM

Si nous ne spécifions pas le paramètre DIM, il renvoie toute la médiane.

Exemple 1:

Créez un tenseur 2D avec une matrice 5 * 5 et retournez la médiane.

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 médian
imprimer ("médian:")
imprimer (torche.médian (données))

Sortir:

tenseur ([[0.7692, 1.9155, 1.0876, 0.6794, 0.5791],
[-0.2212, -1.4801, 0.5487, -0.5765, -0.4750],
[-0.0681, 0.5216, 1.1400, -0.1743, 0.0344],
[-0.4639, -1.2341, -1.0520, 0.1718, -0.1909],
[0.6911, -1.4869, 2.7762, -0.3645, -0.4775]])
Médian:
tenseur (-0.0681)

Exemple 2:

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

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 médian
imprimer ("médian:")
imprimer (torche.médian (données))

Sortir:

Tensor ([10.6000, 20.7000, 30.6000, 40.4000, 50.0000])
Médian:
tenseur (30.6000)

Travailler avec le processeur

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

Sortir:

tenseur ([[0.9872, 0.1258, -0.0952, 0.3269, -1.6033],
[-0.2432, -1.0049, -0.9058, 0.9438, 0.3060],
[-2.8293, 1.4515, -0.9482, 0.9876, 0.2767]])
Médian à travers les colonnes:
torche.return_types.médian(
valeurs = tenseur ([- 0.2432, 0.1258, -0.9058, 0.9438, 0.2767]),
Indices = tenseur ([1, 0, 1, 1, 2]))
Médian à travers les rangées:
torche.return_types.médian(
valeurs = tenseur ([0.1258, -0.2432, 0.2767]),
Indices = tenseur ([1, 0, 4]))

Nous pouvons voir que la médiane est retournée à travers les colonnes et les rangées avec des indices.

Exemple 2:

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

Sortir:

Tensor ([[- 0.3739, -1.2500, -1.9125, -0.4597, 0.2058],
[-0.1885, -0.4993, -1.0801, -0.1367, -0.5683],
[-0.1242, 0.1221, -0.2267, -0.7851, 0.6797],
[2.2487, 0.0141, 0.1632, -0.4924, -0.9134],
[-1.6101, 0.5051, -0.2004, -0.4901, -0.3358]])
Médian à travers les colonnes:
torche.return_types.médian(
valeurs = tenseur ([- 0.1885, 0.0141, -0.2267, -0.4901, -0.3358]),
Indices = tenseur ([1, 3, 2, 4, 4]))
Médian à travers les rangées:
torche.return_types.médian(
valeurs = tenseur ([- 0.4597, -0.4993, -0.1242, 0.0141, -0.3358]),
Indices = tenseur ([3, 1, 0, 1, 4]))

Nous pouvons voir que la médiane à travers les rangées et les colonnes a été retournée.

Conclusion

Dans cette leçon de pytorch, nous avons appris la fonction médiane () et comment l'appliquer sur un tenseur pour retourner une médiane à travers les colonnes et les rangées.

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