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