Pytorch - count_nonzero

Pytorch - count_nonzero
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.count_nonzero ()

torche.count_nonzero () est utilisé pour renvoyer le nombre total d'éléments non nuls présents dans le tenseur. Il faut deux paramètres.

Syntaxe:
torche.count_nonzero (tensor_object, dim)

Paramètres:

  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 obtiendra la somme totale des non-zéos le long d'une colonne, et DIM = 1 spécifie la comparaison des lignes, qui obtiendra la somme totale des non-zéros le long de la ligne.

Exemple 1:

Dans cet exemple, nous créerons un tenseur avec deux dimensions qui a deux lignes et deux colonnes et appliquer le count_nonzero () sur les lignes.

# Importons le module Torch
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.Tensor ([[0,0], [1,0]])
#afficher
Imprimer (données)
imprimer()
#get Count of Non Zeros le long des lignes
Impression («Nombre total de non-zéros entre les lignes:»)
imprimer (torche.count_nonzero (données, dim = 1))

Sortir:

Tensor ([[0, 0],
[dix]])
Nombre total de non-zéros entre les lignes:
tenseur ([0, 1])

On peut voir que le nombre total de nonzeros dans la première ligne est de 0 et dans la deuxième ligne est 1.

Exemple 2:

Dans cet exemple, nous créerons un tenseur avec deux dimensions qui a deux lignes et deux colonnes et appliquer le count_nonzero () sur les colonnes.

# Importons le module Torch
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.Tensor ([[0,0], [1,0]])
#afficher
Imprimer (données)
imprimer()
#get Count of Non Zeros le long des colonnes
Impression («Nombre total de non-zéros entre les colonnes:»)
imprimer (torche.count_nonzero (données, dim = 0))

Sortir:

Tensor ([[0, 0],
[dix]])
Nombre total de non-zéros entre les colonnes:
tenseur ([1, 0])

On peut voir que le nombre total de nonzeros dans la première colonne est 1 et dans la deuxième colonne est 0.

Travailler avec le processeur

Si vous souhaitez exécuter la fonction count_nonzero () sur le CPU, 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 avec deux dimensions sur le processeur qui a deux lignes et deux colonnes et appliquer le count_nonzero () sur les lignes.

# Importons le module Torch
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.Tensor ([[0,0], [1,0]]).CPU()
#afficher
Imprimer (données)
imprimer()
#get Count of Non Zeros le long des lignes
Imprimer ("Nombre total de non-zéros entre les lignes:")
imprimer (torche.count_nonzero (données, dim = 1))

Sortir:

Tensor ([[0, 0],
[dix]])
Nombre total de non-zéros entre les lignes:
tenseur ([0, 1])

On peut voir que le nombre total de nonzeros dans la première ligne est de 0 et dans la deuxième ligne est 1.

Exemple 2:

Dans cet exemple, nous créerons un tenseur avec 2 dimensions sur le CPU qui a deux lignes et deux colonnes et appliquer le count_nonzero () sur les colonnes.

# Importons le module Torch
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.Tensor ([[0,0], [1,0]]).CPU()
#afficher
Imprimer (données)
imprimer()
#get Count of Non Zeros le long des colonnes
Imprimer ("Nombre total de non-zéros entre les colonnes:")
imprimer (torche.count_nonzero (données, dim = 0))

Sortir:

Tensor ([[0, 0],
[dix]])
Nombre total de non-zéros entre les colonnes:
tenseur ([1, 0])

On peut voir que le nombre total de nonzeros dans la première colonne est 1 et dans la deuxième colonne est 0.

Conclusion

Dans cette leçon de pytorch, nous avons discuté de la fonction count_nonzero (). Il renvoie le nombre total d'éléments non nuls présents dans le tenseur. Nous avons vu différents exemples et travaillé ces exemples sur une machine CPU.