Convertir Tensor en NumPy Array en Python

Muhammad Maisam Abbas 11 décembre 2023
  1. Convertir un Tensor en un NumPy Array avec la fonction Tensor.numpy() en Python
  2. Convertir un Tensor en un NumPy Array avec la fonction Tensor.eval() en Python
  3. Convertir un Tensor en un tableau NumPy avec la fonction TensorFlow.Session() en Python
Convertir Tensor en NumPy Array en Python

Ce didacticiel présentera les méthodes pour convertir un Tensor en un tableau NumPy en Python.

Convertir un Tensor en un NumPy Array avec la fonction Tensor.numpy() en Python

Le Eager Execution de la bibliothèque TensorFlow peut être utilisé pour convertir un tenseur en un tableau NumPy en Python. Avec Eager Execution, le comportement des opérations de la bibliothèque TensorFlow change et les opérations s’exécutent immédiatement. Nous pouvons également effectuer des opérations NumPy sur des objets Tensor avec Eager Execution. La fonction Tensor.numpy() convertit le Tensor en un tableau NumPy en Python. Dans TensorFlow 2.0, Eager Execution est activé par défaut. Donc, cette approche fonctionne mieux pour la version 2.0 de TensorFlow. Consultez l’exemple de code suivant.

import tensorflow as tf

tensor = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("Tensor = ", tensor)
array = tensor.numpy()
print("Array = ", array)

Production:

Tensor =  tf.Tensor(
[[1 2 3]
 [4 5 6]
 [7 8 9]], shape=(3, 3), dtype=int32)
Array =  [[1 2 3]
 [4 5 6]
 [7 8 9]]

Dans le code ci-dessus, nous avons d’abord créé et initialisé l’objet Tensor tensor avec la fonction tf.constant() en Python. Nous avons imprimé le tensor et l’avons converti en un tableau NumPy array avec la fonction tensor.numpy() en Python. Au final, nous avons imprimé le tableau.

Convertir un Tensor en un NumPy Array avec la fonction Tensor.eval() en Python

Nous pouvons également utiliser la fonction Tensor.eval() pour convertir un Tensor en tableau NumPy en Python. Cette méthode n’est pas prise en charge dans TensorFlow version 2.0. Il faut donc soit conserver la version précédente 1.0 du TensorFlow, soit désactiver tout le comportement de la version 2.0 de la librairie TensorFlow. Consultez l’exemple de code suivant.

import tensorflow.compat.v1 as tf

tf.disable_v2_behavior()
tensor = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("Tensor = ", tensor)
array = tensor.eval(session=tf.Session())
print("Array = ", array)

Production:

Tensor =  Tensor("Const_1:0", shape=(3, 3), dtype=int32)
Array =  [[1 2 3]
 [4 5 6]
 [7 8 9]]

Dans le code ci-dessus, nous avons converti l’objet Tensor tensor en tableau NumPy array avec la fonction tensor.eval() en Python. Nous avons d’abord importé la version 1.0 de la bibliothèque TensorFlow et désactivé tout le comportement de la version 2.0. Nous avons ensuite créé et initialisé le tensor avec la fonction tf.constant() et imprimé les valeurs en tensor. Nous avons ensuite exécuté la fonction tensor.eval() et enregistré la valeur retournée dans le array, et imprimé les valeurs dans array.

Convertir un Tensor en un tableau NumPy avec la fonction TensorFlow.Session() en Python

Le TensorFlow.Session() est une autre méthode qui peut être utilisée pour convertir un Tensor en un tableau NumPy en Python. Cette méthode est très similaire à l’approche précédente avec la fonction Tensor.eval(). Cette approche n’est pas non plus prise en charge par la version 2.0 de la bibliothèque TensorFlow. Nous devons soit installer la version 1.0 de la bibliothèque TensorFlow, soit désactiver tout le comportement de la version 2.0 de la bibliothèque TensorFlow. Nous pouvons passer notre objet Tensor à la fonction TensorFlow.Session().run() pour convertir cet objet Tensor en un tableau NumPy en Python. Consultez l’exemple de code suivant.

import tensorflow.compat.v1 as tf

tf.disable_v2_behavior()
tensor = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("Tensor = ", tensor)
array = tf.Session().run(tensor)
print("Array = ", array)

Production:

Tensor =  Tensor("Const_6:0", shape=(3, 3), dtype=int32)
Array =  [[1 2 3]
 [4 5 6]
 [7 8 9]]

Dans le code ci-dessus, nous avons converti l’objet Tensor tensor en tableau NumPy array avec la fonction tf.Session.run(tensor) en Python. Nous avons d’abord importé la bibliothèque TensorFlow compatible version 1.0 et désactivé tout le comportement de la version 2.0. Nous avons ensuite créé l’objet Tensor tensor et imprimé les valeurs de tensor. Nous avons ensuite converti le Tensor tensor en tableau NumPy array avec la fonction tf.Session.run(tensor) et imprimé les valeurs dans array.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn