Konvertieren den Tensor in ein NumPy-Array in Python

Konvertieren den Tensor in ein NumPy-Array in Python

Muhammad Maisam Abbas Jun-22, 2021 May-09, 2021 NumPy NumPy Tensor
  1. Konvertieren von einen Tensor in ein NumPy-Array mit der Funktion Tensor.numpy() in Python
  2. Konvertieren von einen Tensor in ein NumPy-Array mit der Funktion Tensor.eval() in Python
  3. Konvertieren von einen Tensor in ein NumPy-Array mit der Funktion TensorFlow.Session() in Python

In diesem Tutorial werden die Methoden zum Konvertieren eines Tensors in ein NumPy-Array in Python vorgestellt.

Konvertieren von einen Tensor in ein NumPy-Array mit der Funktion Tensor.numpy() in Python

Mit der Eager Execution der TensorFlow-Bibliothek kann ein Tensor in Python in ein NumPy-Array konvertiert werden. Mit Eager Execution ändert sich das Verhalten der Operationen der TensorFlow-Bibliothek und die Operationen werden sofort ausgeführt. Mit Eager Execution können wir auch NumPy-Operationen an Tensor-Objekten ausführen. Die Funktion Tensor.numpy() konvertiert den Tensor in Python in ein NumPy-Array. In TensorFlow 2.0 ist die Eager Execution standardmäßig aktiviert. Dieser Ansatz funktioniert also am besten für die TensorFlow-Version 2.0. Siehe das folgende Codebeispiel.

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)

Ausgabe:

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

Im obigen Code haben wir zuerst das Tensor-Objekt tensor mit der Funktion tf.constant() in Python erstellt und initialisiert. Wir haben den tensor gedruckt und ihn mit der Funktion tensor.numpy() in Python in ein NumPy-Array array konvertiert. Am Ende haben wir das array gedruckt.

Konvertieren von einen Tensor in ein NumPy-Array mit der Funktion Tensor.eval() in Python

Wir können auch die Funktion Tensor.eval() verwenden, um einen Tensor in Python in ein NumPy-Array zu konvertieren. Diese Methode wird in TensorFlow Version 2.0 nicht unterstützt. Wir müssen also entweder die vorherige Version 1.0 des TensorFlow beibehalten oder das gesamte Verhalten der Version 2.0 der TensorFlow-Bibliothek deaktivieren. Siehe das folgende Codebeispiel.

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)

Ausgabe:

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

Im obigen Code haben wir das Tensor-Objekt tensor mit der Funktion tensor.eval() in Python in das NumPy-Array array konvertiert. Wir haben zuerst Version 1.0 der TensorFlow-Bibliothek importiert und das gesamte Verhalten von Version 2.0 deaktiviert. Anschließend haben wir den tensor mit der Funktion tf.constant() erstellt und initialisiert und die Werte in tensor gedruckt. Wir haben dann die Funktion tensor.eval() ausgeführt und den zurückgegebenen Wert im array gespeichert und die Werte in array gedruckt.

Konvertieren von einen Tensor in ein NumPy-Array mit der Funktion TensorFlow.Session() in Python

Die TensorFlow.Session() ist eine weitere Methode, mit der ein Tensor in Python in ein NumPy-Array konvertiert werden kann. Diese Methode ist dem vorherigen Ansatz mit der Funktion Tensor.eval() sehr ähnlich. Dieser Ansatz wird auch von Version 2.0 der TensorFlow-Bibliothek nicht unterstützt. Wir müssen entweder Version 1.0 der TensorFlow-Bibliothek installieren oder das gesamte Verhalten von Version 2.0 der TensorFlow-Bibliothek deaktivieren. Wir können unser Tensor-Objekt an die Funktion TensorFlow.Session().run() übergeben, um dieses Tensor-Objekt in ein NumPy-Array in Python zu konvertieren. Siehe das folgende Codebeispiel.

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)

Ausgabe:

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

Im obigen Code haben wir das Tensor-Objekt tensor mit der Funktion tf.Session.run(tensor) in Python in das NumPy-Array array konvertiert. Wir haben zuerst die mit Version 1.0 kompatible TensorFlow-Bibliothek importiert und das gesamte Verhalten von Version 2.0 deaktiviert. Wir haben dann das Tensor-Objekt tensor erstellt und die Werte von tensor gedruckt. Wir haben dann den Tensor tensor mit der Funktion tf.Session.run(tensor) in das Array array NumPy konvertiert und die Werte in array gedruckt.

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