问题产生的原因:无法执行sess.run()的原因是tensorflow版本不同导致的,tensorflow版本2.0无法兼容版本1.0.
解决办法:
添加行
tf.compat.v1.disable_eager_execution()
# 无法执行sess.run()的原因是tensorflow版本不同导致的,tensorflow版本2.0无法兼容版本1.0.
# 添加如下语句保证session.run 正常运行
tf.compat.v1.disable_eager_execution() # 保证sess.run()能够正常运行
# 将 session = tf.Session(config=config) 替换
session = tf.compat.v1.Session(config=config)
session.run(init)
同时大量no attribute的保存信息归属于tf版本差异
此时
# 在新的Tensorflow 2.0版本中已经移除了Session这一模块。
# 将 init = tf.global_variables_initializer() 替换如下
init = tf.compat.v1.global_variables_initializer()
# 同上
# 将 config = tf.ConfigProto() 替换如下
config = tf.compat.v1.ConfigProto()
# 问题同上
# 将 session = tf.Session(config=config) 替换
session = tf.compat.v1.Session(config=config)
session.run(init)
或者一劳永逸
# 在文件头
import tensorflow.compat.v1 as tf
本文档详细介绍了如何处理Tensorflow 2.0与1.0版本之间的不兼容问题,特别是当遇到`sess.run()`无法执行时。解决方案包括使用`tf.compat.v1.disable_eager_execution()`来确保`session.run()`的正常运行,并将旧的Session相关代码替换为兼容版本。此外,还提供了针对Tensorflow 2.0中移除Session模块的调整方法,以及全局变量初始化和配置设置的相应更新。
1万+

被折叠的 条评论
为什么被折叠?



