Calculez le logarithme des éléments d'un tenseur à Pytorch

Calculez le logarithme des éléments d'un tenseur à Pytorch
«Dans ce tutoriel Pytorch, nous verrons comment effectuer des fonctions logarithmiques sur un tenseur donné.

Pytorch est un cadre open source disponible avec un langage de programmation Python.

Un tenseur est un tableau multidimensionnel utilisé pour stocker les 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 tenseur () »

Syntaxe:

torche.tenseur (données)

Où les données sont un tableau multidimensionnel.

enregistrer()

Log () dans Pytorch est utilisé pour retourner le logarithme naturel de tous les éléments présents dans l'objet tenseur. Il ne prend qu'un seul paramètre.

Syntaxe:

torche.log (tensor_object)

Paramètre:

Le tensor_object est le tenseur d'entrée

Exemple 1

Dans cet exemple, nous créerons un tenseur avec 3 dimensions qui ont 3 lignes et 5 colonnes et appliquer le log ().

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 logarithmiques
Print ("Valeurs logarithmiques:")
imprimer (torche.journal (données))

Sortir:

tenseur ([[- 1.0134, -0.0345, 0.0841, 0.7704, 0.3895],
[0.5293, -0.9141, 0.4486, -1.1050, -0.1396],
[-2.7476, -1.6378, -0.3021, 0.0936, 1.9816]])
Valeurs logarithmiques:
Tensor ([[nan, nan, -2.4762, -0.2608, -0.9429],
[-0.6361, nan, -0.8017, nan, nan],
[Nan, nan, nan, -2.3682, 0.6839]])

Nous pouvons voir que les valeurs de journal naturel pour tous les éléments d'un tenseur ont été retournés.

Exemple 2

Créer le tenseur avec une matrice 5 * 5 et retourner les valeurs de journal naturel.

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 logarithmiques
Print ("Valeurs logarithmiques:")
imprimer (torche.journal (données))

Sortir:

Tensor ([[- 0.2143, 0.4640, -0.7694, 0.2063, 0.1471],
[-0.9600, 0.3431, 0.0933, -0.7847, -0.6198],
[ 1.9533, 0.7456, -0.8035, -0.2091, -2.1858],
[-0.3841, 0.4142, -1.6795, -1.3310, 1.5622],
[0.3093, 0.6724, 0.5488, -1.3811, 1.6062]])
Valeurs logarithmiques:
tenseur ([[nan, -0.7679, nan, -1.5782, -1.9169],
[Nan, -1.0698, -2.3719, nan, nan],
[0.6695, -0.2936, Nan, Nan, Nan],
[Nan, -0.8815, nan, nan, 0.4461],
[-1.1735, -0.3969, -0.6001, nan, 0.4739]])

Nous pouvons voir que les valeurs de journal naturel pour tous les éléments d'un tenseur ont été retournés.

log10 ()

log10 () dans pytorch est utilisé pour retourner le logarithme à la base 10 de tous les éléments présents dans l'objet tensor. Il ne prend qu'un seul paramètre.

Syntaxe:

torche.log10 (Tensor_Object)

Paramètre:

Le tensor_object est le tenseur d'entrée

Exemple 1

Dans cet exemple, nous créerons un tenseur avec 3 dimensions qui ont 3 lignes et 5 colonnes et appliquer un log10 ().

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 logarithmiques à la base 10
Imprimer ("Valeurs logarithmiques à la base 10:")
imprimer (torche.log10 (données))

Sortir:

tenseur ([[0.1137, 1.8604, 0.1547, 0.1092, 0.0385],
[-1.2716, 1.8937, -0.4259, 0.4512, 0.5377],
[-1.3074, 2.2634, 1.0972, -0.3502, 0.4971]])
Valeurs logarithmiques à la base 10:
Tensor ([[- 0.9441, 0.2696, -0.8105, -0.9617, -1.4140],
[Nan, 0.2773, nan, -0.3456, -0.2695],
[Nan, 0.3548, 0.0403, nan, -0.3035]])

Nous pouvons voir que les valeurs de journal à la base 10 pour tous les éléments d'un tenseur ont été retournés.

Exemple 2

Créez du tenseur avec 5 * 5 matrice et retournez les valeurs du journal à la base 10.

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 logarithmiques à la base 10
Imprimer ("Valeurs logarithmiques à la base 10:")
imprimer (torche.log10 (données))

Sortir:

Tensor ([[- 0.2903, -0.1354, -0.7794, -0.5695, -0.7214],
[0.5197, 0.5463, 1.4539, 0.0285, -0.7019],
[-0.0714, -1.2804, 0.0606, 1.1813, 0.9769],
[0.2130, 1.1354, 0.2970, -0.2755, -0.0466],
[2.8192, -0.9078, 0.5023, 1.1128, 0.3141]])
Valeurs logarithmiques à la base 10:
Tensor ([[Nan, Nan, Nan, Nan, Nan],
[-0.2842, -0.2626, 0.1625, -1.5455, nan],
[Nan, nan, -1.2177, 0.0724, -0.0101],
[-0.6717, 0.0551, -0.5273, nan, nan],
[0.4501, nan, -0.2990, 0.0464, -0.5029]])

Nous pouvons voir que les valeurs de journal à la base 10 pour tous les éléments d'un tenseur ont été retournés.

log2 ()

log2 () dans pytorch est utilisé pour retourner le logarithme à la base 2 de tous les éléments présents dans l'objet tensor. Il ne prend qu'un seul paramètre.

Syntaxe:

torche.log2 (Tensor_Object)

Paramètre:

Le tensor_object est le tenseur d'entrée

Exemple 1

Dans cet exemple, nous créerons un tenseur avec 3 dimensions qui ont 3 lignes et 5 colonnes et appliquer Log2 ().

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 logarithmiques à la base 2
Imprimer ("Valeurs logarithmiques à la base 2:")
imprimer (torche.log2 (données))

Sortir:

Tensor ([[- 0.0242, 0.6124, -1.2847, -0.2737, 1.2455],
[-0.5786, -0.1747, 0.6064, -0.5265, 0.3504],
[-0.3898, 0.5609, -0.0565, 0.5324, 0.0105]])
Valeurs logarithmiques à la base 2:
tenseur ([[nan, -0.7075, nan, nan, 0.3168],
[Nan, nan, -0.7216, nan, -1.5128],
[Nan, -0.8342, nan, -0.9095, -6.5752]])

Nous pouvons voir que les valeurs de journal à la base 2 pour tous les éléments d'un tenseur ont été retournés.

Exemple 2

Créez du tenseur avec 5 * 5 matrice et retournez les valeurs de journal à la base 2.

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 logarithmiques à la base 2
Imprimer ("Valeurs logarithmiques à la base 2:")
imprimer (torche.log2 (données))

Sortir:

tenseur ([[3.0918, 0.2328, 0.6354, -0.6991, 2.1373],
[-1.2590, -1.5860, -0.1142, -0.1805, -1.9556],
[ 1.2391, 1.0197, 0.1663, 0.9892, -1.4073],
[0.0174, 0.8185, 0.3453, -0.7556, 1.0040],
[-1.0775, 0.4131, -0.7916, -0.9372, 0.1482]])
Valeurs logarithmiques à la base 2:
tenseur ([[1.6285e + 00, -2.1029E + 00, -6.5418E-01, NAN, 1.0958E + 00],
[Nan, Nan, Nan, Nan, Nan],
[3.0926E-01, 2.8108E-02, -2.5882e + 00, -1.5649E-02, NAN],
[-5.8447e + 00, -2.8896E-01, -1.5339E + 00, nan, 5.7767E-03],
[Nan, -1.2754e + 00, nan, nan, -2.7546e + 00]])

Nous pouvons voir que les valeurs de journal à la base 2 pour tous les éléments d'un tenseur ont été retournés.

Travailler avec le processeur

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

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

Syntaxe:

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

Exemple

Créez du tenseur avec une matrice 5 * 5 sur le CPU et renvoyez les valeurs de journal naturel, les valeurs de journal avec Base2 et les valeurs de journal avec la base 10.

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 de journal naturel
Imprimer ("Valeurs du journal naturel:")
imprimer (torche.journal (données))
imprimer()
#get les valeurs logarithmiques à la base 2
Imprimer ("Valeurs logarithmiques à la base 2:")
imprimer (torche.log2 (données))
imprimer()
#get les valeurs logarithmiques à la base 10
Imprimer ("Valeurs logarithmiques à la base 10:")
imprimer (torche.log10 (données))

Sortir:

Tensor ([[- 0.2807, 0.0260, 0.3326, -0.1958, 2.7080],
[ 1.3534, -0.2371, 0.0085, 0.1877, 1.4870],
[ 1.2967, 0.4262, -0.6323, 0.4446, 3.0513],
[0.4478, -0.0436, -0.4577, 1.3098, 0.7293],
[-0.4575, -1.4020, -0.9323, -0.4406, 0.5844]])
Valeurs du journal naturel:
tenseur ([[nan, -3.6494, -1.1009, nan, 0.9962],
[0.3026, nan, -4.7711, -1.6731, 0.3968],
[0.2598, -0.8529, nan, -0.8107, 1.1156],
[-0.8034, nan, nan, 0.2699, -0.3157],
[Nan, Nan, Nan, Nan, -0.5371]])
Valeurs logarithmiques à la base 2:
tenseur ([[nan, -5.2650, -1.5882, nan, 1.4372],
[0.4366, nan, -6.8833, -2.4138, 0.5724],
[0.3748, -1.2304, nan, -1.1696, 1.6094],
[-1.1591, nan, nan, 0.3893, -0.4554],
[Nan, Nan, Nan, Nan, -0.7749]])
Valeurs logarithmiques à la base 10:
tenseur ([[nan, -1.5849, -0.4781, nan, 0.4327],
[0.1314, nan, -2.0721, -0.7266, 0.1723],
[0.1128, -0.3704, nan, -0.3521, 0.4845],
[-0.3489, nan, nan, 0.1172, -0.1371],
[Nan, Nan, Nan, Nan, -0.2333]])

Nous pouvons voir que les valeurs de journal à la base 2, les valeurs de journal à la base 10 et les valeurs de journal naturel pour tous les éléments d'un tenseur ont été renvoyés.

Conclusion

Dans cette leçon de pytorch, nous avons vu trois types de fonctions logarithmiques utilisées pour retourner des valeurs logarithmiques pour tous les éléments d'un tenseur. torche.Log () est une simple fonction logarithmique utilisée pour retourner le logarithme naturel de tous les éléments présents dans l'objet tensor.log10 () est utilisé pour renvoyer le logarithme à la base 10 de tous les éléments présents dans l'objet tensor, et log2 () est utilisé pour renvoyer le logarithme à la base 2 de tous les éléments présents dans l'objet tenseur. Nous avons également discuté de la façon d'appliquer ces fonctions pendant que nous travaillions avec CPU.