Wie konvertiere ich einen Tensor in ein Numpy-Array, wenn ich Tensorflow mit Python-Bindungen verwende?
python
numpy
tensorflow
Matheten
quelle
quelle
Um vom Tensor zum Numpy-Array zurückzukehren, können Sie einfach
.eval()
den transformierten Tensor ausführen .quelle
ValueError: Cannot evaluate tensor using 'eval()': No default session is registered. Use 'with sess.as_default()' or pass an explicit session to 'eval(session=sess)'
Ist dies nur während einer Tensoflow-Sitzung verwendbar?.eval()
Methodenaufruf innerhalb einer Sitzungsess = tf.Session(); with sess.as_default(): print(my_tensor.eval())
TensorFlow 2.x.
Die eifrige Ausführung ist standardmäßig aktiviert. Rufen Sie einfach
.numpy()
das Tensor-Objekt auf.Es ist erwähnenswert (aus den Dokumenten),
Meine kühne Betonung. Eine Kopie kann zurückgegeben werden oder nicht, und dies ist ein Implementierungsdetail.
Wenn Eager Execution deaktiviert ist, können Sie ein Diagramm erstellen und es dann ausführen
tf.compat.v1.Session
:Siehe auch TF 2.0 Symbols Map für eine Zuordnung der alten API zur neuen.
quelle
eval()
.Du brauchst:
Code:
Das hat bei mir funktioniert. Sie können es in einem Ipython-Notizbuch versuchen. Vergessen Sie nicht, die folgende Zeile hinzuzufügen:
quelle
Vielleicht können Sie diese Methode ausprobieren:
quelle
Ich habe die Tensor-> ndarray- Konvertierung im speziellen Fall von Tensoren, die (gegnerische) Bilder darstellen, konfrontiert und gelöst , die mit der cleverhans- Bibliothek / den Tutorials erhalten wurden.
Ich denke, dass meine Frage / Antwort ( hier ) auch für andere Fälle ein hilfreiches Beispiel sein kann.
Ich bin neu bei TensorFlow, meine ist eine empirische Schlussfolgerung:
Es scheint , dass tensor.eval () -Methode müssen, um auch der Wert für die Eingabe erfolgreich zu sein Platzhalter . Tensor kann wie eine Funktion funktionieren, die ihre Eingabewerte (bereitgestellt in
feed_dict
) benötigt, um einen Ausgabewert zurückzugeben, zBitte beachten Sie, dass der Platzhaltername in meinem Fall x ist, aber ich nehme an, Sie sollten den richtigen Namen für den eingegebenen Platzhalter herausfinden .
x_input
ist ein skalarer Wert oder ein Array, das Eingabedaten enthält.In meinem Fall war auch die Bereitstellung
sess
obligatorisch.Mein Beispiel behandelt auch den Teil der Matplotlib-Bildvisualisierung , aber dies ist OT.
quelle
Ein einfaches Beispiel könnte sein:
n Nun, wenn wir wollen, dass dieser Tensor a in ein Numpy-Array umgewandelt wird
So einfach ist das!
quelle
//
ist nicht zum Kommentieren in Python. Bitte bearbeiten Sie Ihre Antwort.Ich habe tagelang nach diesem Befehl gesucht.
Dies funktionierte für mich außerhalb einer Sitzung oder so etwas.
https://kite.com/python/answers/how-to-convert-a-tensorflow-tensor-to-a-numpy-array-in-python
quelle
Sie können die Keras-Backend-Funktion verwenden.
Ich hoffe, es hilft!
quelle