Wenn ich den Befehl sess = tf.Session()
in einer Tensorflow 2.0-Umgebung ausführe , wird folgende Fehlermeldung angezeigt:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'tensorflow' has no attribute 'Session'
System Information:
- Betriebssystemplattform und -verteilung: Windows 10
- Python-Version: 3.7.1
- Tensorflow Version: 2.0.0-alpha0 (installiert mit pip)
Schritte zum Reproduzieren:
Installation:
- pip install --upgrade pip
- pip install tensorflow == 2.0.0-alpha0
- Pip Keras installieren
- pip install numpy == 1.16.2
Ausführung:
- Befehl ausführen: Tensorflow als tf importieren
- Befehl ausführen: sess = tf.Session ()
python
tensorflow
keras
tensorflow2.0
Atul Kamble
quelle
quelle
tf.Session
zumindest anfangs zu behalten , aber wenn man sich die Dokumente ansieht , scheint es, dass sie endlich vollständig abgekratzt wurden.tf.compat.v1.Session
.Antworten:
Laut
TF 1:1 Symbols Map
TF 2.0 sollten Sietf.compat.v1.Session()
stattdessen anstelle von verwendentf.Session()
https://docs.google.com/spreadsheets/d/1FLFJLzg7WNP6JHODX5q8BDgptKafq_slHpnHVbJIteQ/edit#gid=0
Um TF 1.x-ähnliches Verhalten in TF 2.0 zu erhalten, kann man es ausführen
import tensorflow.compat.v1 as tf tf.disable_v2_behavior()
Aber dann kann man nicht von vielen Verbesserungen in TF 2.0 profitieren. Weitere Informationen finden Sie im Migrationshandbuch https://www.tensorflow.org/guide/migrate
quelle
import tensorflow.compat.v1 as tf tf.disable_v2_behavior()
gibt mir einen FehlerAttributeError: module 'tensorflow_core.compat.v1' has no attribute 'contrib'
It is still possible to run 1.X code, unmodified (except for contrib), in TensorFlow 2.0
tensorflow_core
kein Attributfehler vorliegt?.pb
Graphen in TF2? Nur durch Verwendung von tf1-Feature wietf.compat.v1.Session()
. In TF2 solltest du immer den Eifrigen Modus verwenden und nein.pb
?TF2 führt standardmäßig Eager Execution aus, sodass keine Sitzungen erforderlich sind. Wenn Sie statische Diagramme ausführen möchten, ist die Verwendung
tf.function()
in TF2 am besten geeignet . Obwohl auf die Sitzungtf.compat.v1.Session()
in TF2 weiterhin zugegriffen werden kann , würde ich davon abraten, sie zu verwenden. Es kann hilfreich sein, diesen Unterschied durch einen Vergleich des Unterschieds in den Hallo-Welten zu demonstrieren:TF1.x Hallo Welt:
import tensorflow as tf msg = tf.constant('Hello, TensorFlow!') sess = tf.Session() print(sess.run(msg))
TF2.x Hallo Welt:
import tensorflow as tf msg = tf.constant('Hello, TensorFlow!') tf.print(msg)
Weitere Informationen finden Sie unter Effektiver TensorFlow 2
quelle
.pb
Datei in TF2 haben möchte ? Ist es möglich? Wie bewerte ich es dann in TF2?Ich hatte dieses Problem, als ich Python nach der Installation zum ersten Mal ausprobierte
windows10 + python3.7(64bit) + anacconda3 + jupyter notebook.
Ich habe dieses Problem unter " https://vispud.blogspot.com/2019/05/tensorflow200a0-attributeerror-module.html " gelöst.
Ich bin einverstanden mit
Ich habe zwei Zeilen eingefügt. Einer ist
tf.compat.v1.disable_eager_execution()
und der andere istsess = tf.compat.v1.Session()
Meine Hello.py lautet wie folgt:
import tensorflow as tf tf.compat.v1.disable_eager_execution() hello = tf.constant('Hello, TensorFlow!') sess = tf.compat.v1.Session() print(sess.run(hello))
quelle
Session()
verschoben wurde, nicht entfernt. Die Notwendigkeit der VerwendungSession()
wurde beseitigt.Denn
TF2.x
so kannst du es machen.import tensorflow as tf with tf.compat.v1.Session() as sess: hello = tf.constant('hello world') print(sess.run(hello))
>>> b'hello world
quelle
Versuche dies
import tensorflow as tf tf.compat.v1.disable_eager_execution() hello = tf.constant('Hello, TensorFlow!') sess = tf.compat.v1.Session() print(sess.run(hello))
quelle
Wenn dies Ihr Code ist, besteht die richtige Lösung darin, ihn so umzuschreiben, dass er nicht verwendet wird
Session()
, da dies in TensorFlow 2 nicht mehr erforderlich istWenn dies nur Code ist, den Sie ausführen, können Sie durch Ausführen ein Downgrade auf TensorFlow 1 durchführen
pip3 install --upgrade --force-reinstall tensorflow-gpu==1.15.0
(oder was auch immer die neueste Version von TensorFlow 1 ist)
quelle
1.15.x
sollte es keine andere1.x
Version von TF geben, es sei denn, einige Patches werden kommen, aber keine Verbesserungen.Verwenden von Anaconda + Spyder (Python 3.7)
[Code]
import tensorflow as tf valor1 = tf.constant(2) valor2 = tf.constant(3) type(valor1) print(valor1) soma=valor1+valor2 type(soma) print(soma) sess = tf.compat.v1.Session() with sess: print(sess.run(soma))
[Konsole]
import tensorflow as tf valor1 = tf.constant(2) valor2 = tf.constant(3) type(valor1) print(valor1) soma=valor1+valor2 type(soma) Tensor("Const_8:0", shape=(), dtype=int32) Out[18]: tensorflow.python.framework.ops.Tensor print(soma) Tensor("add_4:0", shape=(), dtype=int32) sess = tf.compat.v1.Session() with sess: print(sess.run(soma)) 5
quelle
TF v2.0 unterstützt den Eager-Modus gegenüber dem Graph-Modus von v1.0. Daher wird tf.session () in Version 2.0 nicht unterstützt. Daher empfehlen wir Ihnen, Ihren Code neu zu schreiben, damit er im Eager-Modus funktioniert.
quelle
.pb
bewerte ich dann Diagramme in tf2?Die Eager Execution der Tensorflow 2.x-Unterstützung wird standardmäßig unterstützt, daher wird die Sitzung nicht unterstützt.
quelle
import tensorflow as tf sess = tf.Session()
Dieser Code zeigt einen Attributfehler in Version 2.x an
Code der Version 1.x in Version 2.x verwenden
Versuche dies
import tensorflow.compat.v1 as tf sess = tf.Session()
quelle