Pytorch - Cummax

Pytorch - Cummax
Pytorch est un cadre open source pour le langage de programmation Python.

Un tenseur est un tableau multidimensionnel utilisé pour stocker des données. Donc, pour utiliser un tenseur, nous devons importer le module de torche.

Pour créer un tenseur, la méthode utilisée est le tenseur ().

Syntaxe:

torche.tenseur (données)

Où les données sont un tableau multidimensionnel.

torche.Cummax ()

torche.Cummax () renvoie le maximum cumulé d'éléments dans un tenseur bidimensionnel entre les rangées ou les colonnes. Il renvoie également les indices des valeurs maximales renvoyées.

Syntaxe:

torche.Cummax (Tensor_Object, Dim)

Paramètres:

  1. Il prend Tensor_Object comme le premier paramètre. Il doit être bidimensionnel.
  2. DIM = 0 spécifie le calcul de la colonne et DIM = 1 spécifie le calcul en ligne

Exemple 1:

Dans cet exemple, nous créerons un tenseur qui a quatre lignes et quatre colonnes et renvoyer le maximum cumulatif de chaque élément à travers la ligne.

Module de torche #mport
Importer une torche
#Create Tensor
data1 = torche.Tensor ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]]))
#afficher
Imprimer ("Tensor réel:")
Imprimer (DATA1)
Imprimer ("maximum cumulatif sur la ligne:")
#return maximum cumulatif
imprimer (torche.Cummax (data1,1))

Sortir:

Tensor réel:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Maximum cumulatif sur la ligne:
torche.return_types.Cummax (
valeurs = tenseur ([[2, 3, 4, 5],
[1, 3, 5, 5],
[2, 3, 3, 3],
[2, 3, 4, 4]]),
Indices = tenseur ([[0, 1, 2, 3],
[0, 1, 2, 2],
[0, 1, 1, 1],
[0, 1, 2, 2]]))

Fonctionnement:

Row-1: 2, maximum (2,3), maximum (2,3,4), maximum (2,3,4,5) = [2, 3,4,5]

Ainsi, [2, 3,4,5], les positions d'index dans le tenseur réel sont - [0,1,2,3]

Row-2: 1, maximum (1,3), maximum (1,3,5), maximum (1,3,5,3) = [1,3,5,5]

Ainsi, [1,3,5,5] les positions de l'indice dans le tenseur réel sont - [0,1,2,2]

Row-3: 2, maximum (2,3), maximum (2,3,2), maximum (2,3,2,1) = [2,3,3,3]

Ainsi, [2,3,3,3] les positions de l'indice dans le tenseur réel sont - [0,1,1,1]

Row-4: 2, maximum (2,3), maximum (2,3,4), maximum (2,3,4,2) = [2,3,4,4]

Ainsi, [2,3,4,4] les positions de l'indice dans le tenseur réel sont - [0,1,2,2]

Exemple 2:

Dans cet exemple, nous créerons un tenseur qui a quatre lignes et quatre colonnes et retournerons le maximum cumulatif de chaque élément à travers la colonne.

Module de torche #mport
Importer une torche
#Create Tensor
data1 = torche.Tensor ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]]))
#afficher
Imprimer ("Tensor réel:")
Imprimer (DATA1)
Imprimer ("maximum cumulatif à travers la colonne:")
#return maximum cumulatif
imprimer (torche.Cummax (data1,0))

Sortir:

Tensor réel:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Maximum cumulé à travers la colonne:
torche.return_types.Cummax (
valeurs = tenseur ([[2, 3, 4, 5],
[2, 3, 5, 5],
[2, 3, 5, 5],
[2, 3, 5, 5]]),
Indices = Tensor ([[0, 0, 0, 0],
[0, 1, 1, 0],
[2, 2, 1, 0],
[3, 3, 1, 0]]))

Fonctionnement:
Colonne 1: 2, maximum (2,1), maximum (2,1,2), maximum (2,1,2,2) = [2, 2,2,2]

Ainsi, [2, 2,2,2] les positions d'index dans le tenseur réel sont - [0,0,2,3]

Colonne-2: 3, maximum (3,3), maximum (3,3,3), maximum (3,3,3,3) = [3,3,3,3]

Ainsi, [3,3,3,3] les positions de l'indice dans le tenseur réel sont - [0,1,2,3]

Colonne-3: 4, maximum (4,5), maximum (4,5,2), maximum (4,5,2,4) = [4,5,5,5]

Ainsi, [4,5,5,5] les positions de l'indice dans le tenseur réel sont - [0,1,1,1]

Colonne-4: 5, maximum (5,3), maximum (5,3,1), maximum (5,3,1,2) = [5,5,5,5]

Ainsi, [5,5,5,5] les positions de l'indice dans le tenseur réel sont - [0,0,0,0]

Travailler avec le processeur

Si vous souhaitez exécuter une fonction Cummax () sur le CPU, alors nous devons créer un tenseur avec une fonction CPU (). Cela fonctionnera sur une machine CPU.

Pour le moment, lorsque nous créons un tenseur, nous pouvons utiliser la fonction CPU ().

Syntaxe:

torche.tenseur (données).CPU()

Exemple 1:

Dans cet exemple, nous créerons un tenseur qui a quatre lignes et quatre colonnes et renvoyer le maximum cumulatif de chaque élément à travers la ligne

Module de torche #mport
Importer une torche
#Create Tensor
data1 = torche.Tensor ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]])).CPU()
#afficher
Imprimer ("Tensor réel:")
Imprimer (DATA1)
Imprimer ("maximum cumulatif sur la ligne:")
#return maximum cumulatif
imprimer (torche.Cummax (data1,1))

Sortir:

Tensor réel:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Maximum cumulatif sur la ligne:
torche.return_types.Cummax (
valeurs = tenseur ([[2, 3, 4, 5],
[1, 3, 5, 5],
[2, 3, 3, 3],
[2, 3, 4, 4]]),
Indices = tenseur ([[0, 1, 2, 3],
[0, 1, 2, 2],
[0, 1, 1, 1],
[0, 1, 2, 2]]))

Fonctionnement:

Row-1: 2, maximum (2,3), maximum (2,3,4), maximum (2,3,4,5) = [2, 3,4,5]

Ainsi, [2, 3,4,5], les positions d'index dans le tenseur réel sont - [0,1,2,3]

Row-2: 1, maximum (1,3), maximum (1,3,5), maximum (1,3,5,3) = [1,3,5,5]

Ainsi, [1,3,5,5] les positions de l'indice dans le tenseur réel sont - [0,1,2,2]

Row-3: 2, maximum (2,3), maximum (2,3,2), maximum (2,3,2,1) = [2,3,3,3]

Ainsi, [2,3,3,3] les positions de l'indice dans le tenseur réel sont - [0,1,1,1]

Row-4: 2, maximum (2,3), maximum (2,3,4), maximum (2,3,4,2) = [2,3,4,4]

Ainsi, [2,3,4,4] les positions de l'indice dans le tenseur réel sont - [0,1,2,2]

Exemple 2:

Dans cet exemple, nous créerons un tenseur qui a quatre lignes et quatre colonnes et retournerons le maximum cumulatif de chaque élément à travers la colonne.

Module de torche #mport
Importer une torche
#Create Tensor
data1 = torche.Tensor ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]])).CPU()
#afficher
Imprimer ("Tensor réel:")
Imprimer (DATA1)
Imprimer ("maximum cumulatif à travers la colonne:")
#return maximum cumulatif
imprimer (torche.Cummax (data1,0))

Sortir:

Tensor réel:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Maximum cumulé à travers la colonne:
torche.return_types.Cummax (
valeurs = tenseur ([[2, 3, 4, 5],
[2, 3, 5, 5],
[2, 3, 5, 5],
[2, 3, 5, 5]]),
Indices = Tensor ([[0, 0, 0, 0],
[0, 1, 1, 0],
[2, 2, 1, 0],
[3, 3, 1, 0]]))

Fonctionnement:

Colonne 1: 2, maximum (2,1), maximum (2,1,2), maximum (2,1,2,2) = [2, 2,2,2]

Ainsi, [2, 2,2,2] les positions d'index dans le tenseur réel sont - [0,0,2,3]

Colonne-2: 3, maximum (3,3), maximum (3,3,3), maximum (3,3,3,3) = [3,3,3,3]

Ainsi, [3,3,3,3] les positions de l'indice dans le tenseur réel sont - [0,1,2,3]

Colonne-3: 4, maximum (4,5), maximum (4,5,2), maximum (4,5,2,4) = [4,5,5,5]

Ainsi, [4,5,5,5] les positions de l'indice dans le tenseur réel sont - [0,1,1,1]

Colonne-4: 5, maximum (5,3), maximum (5,3,1), maximum (5,3,1,2) = [5,5,5,5]

Ainsi, [5,5,5,5] les positions de l'indice dans le tenseur réel sont - [0,0,0,0]

Conclusion

Dans ce tutoriel Pytorch, nous avons vu comment effectuer une opération maximale cumulée sur un tenseur à l'aide de la torche.Fonction Cummax (). Il renvoie le maximum cumulatif d'éléments dans un tenseur bidimensionnel et indexe également les positions de valeurs maximales entre les lignes ou les colonnes à travers les colonnes. Nous avons également implémenté cette fonction sur le CPU à l'aide de la fonction CPU ().