Convertir Tensor en NumPy Array en Python

Muhammad Maisam Abbas 11 diciembre 2023
  1. Convierta un tensor en un array NumPy con la función Tensor.numpy() en Python
  2. Convierta un tensor en un array NumPy con la función Tensor.eval() en Python
  3. Convierta un tensor en un array NumPy con la función TensorFlow.Session() en Python
Convertir Tensor en NumPy Array en Python

Este tutorial presentará los métodos para convertir un tensor en un array NumPy en Python.

Convierta un tensor en un array NumPy con la función Tensor.numpy() en Python

La Eager Execution de la biblioteca TensorFlow se puede usar para convertir un tensor en un array NumPy en Python. Con Eager Execution, el comportamiento de las operaciones de la biblioteca de TensorFlow cambia y las operaciones se ejecutan inmediatamente. También podemos realizar operaciones NumPy en objetos Tensor con Eager Execution. La función Tensor.numpy() convierte el Tensor en un array NumPy en Python. En TensorFlow 2.0, la Eager Execution está habilitada de forma predeterminada. Entonces, este enfoque funciona mejor para la versión 2.0 de TensorFlow. Vea el siguiente ejemplo de código.

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)

Producción :

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]]

En el código anterior, primero creamos e inicializamos el objeto Tensor tensor con la función tf.constant() en Python. Imprimimos el tensor y lo convertimos en un array NumPy array con la función tensor.numpy() en Python. Al final, imprimimos la array.

Convierta un tensor en un array NumPy con la función Tensor.eval() en Python

También podemos usar la función Tensor.eval() para convertir un Tensor en un array NumPy en Python. Este método no es compatible con la versión 2.0 de TensorFlow. Entonces, tenemos que mantener la versión anterior 1.0 de TensorFlow o deshabilitar todo el comportamiento de la versión 2.0 de la biblioteca de TensorFlow. Vea el siguiente ejemplo de código.

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)

Producción :

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

En el código anterior, convertimos el objeto Tensor tensor en el array NumPy array con la función tensor.eval() en Python. Primero importamos la versión 1.0 de la biblioteca TensorFlow y deshabilitamos todo el comportamiento de la versión 2.0. Luego creamos e inicializamos el tensor con la función tf.constant() e imprimimos los valores en tensor. Luego ejecutamos la función tensor.eval() y guardamos el valor devuelto dentro del array, e imprimimos los valores en array.

Convierta un tensor en un array NumPy con la función TensorFlow.Session() en Python

TensorFlow.Session() es otro método que se puede utilizar para convertir un tensor en un array NumPy en Python. Este método es muy similar al enfoque anterior con la función Tensor.eval(). Este enfoque tampoco es compatible con la versión 2.0 de la biblioteca de TensorFlow. Tenemos que instalar la versión 1.0 de la biblioteca de TensorFlow o deshabilitar todo el comportamiento de la versión 2.0 de la biblioteca de TensorFlow. Podemos pasar nuestro objeto Tensor a la función TensorFlow.Session().run() para convertir ese objeto Tensor en un array NumPy en Python. Vea el siguiente ejemplo de código.

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)

Producción :

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

En el código anterior, convertimos el objeto Tensor tensor en el array array de NumPy con la función tf.Session.run(tensor) en Python. Primero importamos la biblioteca de TensorFlow compatible con la versión 1.0 y deshabilitamos todo el comportamiento de la versión 2.0. Luego creamos el objeto Tensor tensor e imprimimos los valores de tensor. Luego convertimos el tensor tensor en el array array NumPy con la función tf.Session.run(tensor) e imprimimos los valores en 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