Converter Tensor em NumPy Array em Python
-
Converter um tensor em um array NumPy com a função
Tensor.numpy()em Python -
Converter um tensor em um array NumPy com a função
Tensor.eval()em Python -
Converter um tensor em um array NumPy com a função
TensorFlow.Session()em Python
Este tutorial irá apresentar os métodos para converter um Tensor em um array NumPy em Python.
Converter um tensor em um array NumPy com a função Tensor.numpy() em Python
O Eager Execution da biblioteca TensorFlow pode ser usado para converter um tensor em um array NumPy em Python. Com Eager Execution, o comportamento das operações da biblioteca do TensorFlow muda e as operações são executadas imediatamente. Também podemos realizar operações NumPy em objetos Tensor com Eager Execution. A função Tensor.numpy() converte o Tensor em um array NumPy em Python. No TensorFlow 2.0, a Eager Execution é ativada por padrão. Portanto, essa abordagem funciona melhor para o TensorFlow versão 2.0. Veja o seguinte exemplo 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)
Resultado:
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]]
No código acima, primeiro criamos e inicializamos o objeto Tensor tensor com a função tf.constant() em Python. Imprimimos o tensor e o convertemos em um array NumPy array com a função tensor.numpy() em Python. No final, imprimimos o array.
Converter um tensor em um array NumPy com a função Tensor.eval() em Python
Também podemos usar a função Tensor.eval() para converter um Tensor em um array NumPy em Python. Este método não é compatível com o TensorFlow versão 2.0. Portanto, temos que manter a versão 1.0 anterior do TensorFlow ou desativar todo o comportamento da versão 2.0 da biblioteca do TensorFlow. Veja o seguinte exemplo 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)
Resultado:
Tensor = Tensor("Const_1:0", shape=(3, 3), dtype=int32)
Array = [[1 2 3]
[4 5 6]
[7 8 9]]
No código acima, convertemos o objeto Tensor tensor para o array NumPy array com a função tensor.eval() em Python. Primeiro importamos a versão 1.0 da biblioteca TensorFlow e desativamos todo o comportamento da versão 2.0. Em seguida, criamos e inicializamos o tensor com a função tf.constant() e imprimimos os valores em tensor. Em seguida, executamos a função tensor.eval() e salvamos o valor retornado dentro do array, e imprimimos os valores em array.
Converter um tensor em um array NumPy com a função TensorFlow.Session() em Python
O TensorFlow.Session() é outro método que pode ser usado para converter um Tensor em um array NumPy em Python. Este método é muito semelhante à abordagem anterior com a função Tensor.eval(). Essa abordagem também não é compatível com a versão 2.0 da biblioteca TensorFlow. Temos que instalar a versão 1.0 da biblioteca TensorFlow ou desativar todo o comportamento da versão 2.0 da biblioteca TensorFlow. Podemos passar nosso objeto Tensor para a função TensorFlow.Session().run() para converter esse objeto Tensor em um array NumPy em Python. Veja o seguinte exemplo 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)
Resultado:
Tensor = Tensor("Const_6:0", shape=(3, 3), dtype=int32)
Array = [[1 2 3]
[4 5 6]
[7 8 9]]
No código acima, convertemos o objeto Tensor tensor para o array NumPy array com a função tf.Session.run(tensor) em Python. Primeiro importamos a biblioteca TensorFlow compatível com a versão 1.0 e desativamos todo o comportamento da versão 2.0. Em seguida, criamos o objeto Tensor tensor e imprimimos os valores de tensor. Em seguida, convertemos o tensor tensor para o array NumPy array com a função tf.Session.run(tensor) e imprimimos os valores em array.
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