问题与解决方法
为了检验tensorflow是否安装成功,编译了hello tf的源码
import tensorflow as tf
hello = tf.constant('hello ft!')
sess = tf.Session()
print(sess.run(hello))
运行时出现错误:
AttributeError: module ‘tensorflow’ has no attribute ‘Session’
后来发现是因为现在是Tensorflow2.x版本,在运行Session语句时需要执行下面语句
sess = tf.compat.v1.Session()
但是新的问题又来了,运行出现错误
RuntimeError: The Session graph is empty. Add operations to the graph before calling run().
发现只需要在代码中加入下面一行即可解决问题:
tf.compat.v1.disable_eager_execution()
原因
This function can only be called before any Graphs, Ops, or Tensors have been created. It can be used at the beginning of the program for complex migration projects from TensorFlow 1.x to 2.x.
把Tensorflow1.x的工作迁移到2.x