在 TensorFlow 2.x 中,由于采用了急切执行(eager execution)作为默认模式,keras.backend.get_session().graph
可能不再起作用
以下是如何在 TensorFlow 2.x 中获取默认计算图的方法:
import tensorflow as tf
# 获取默认计算图
graph = tf.compat.v1.get_default_graph()
# 打印图中的操作
for op in graph.get_operations():
print(op.name)
如果你确实需要使用 TensorFlow 1.x 风格的会话和图,可以通过以下方式创建一个:
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
# 创建一个新的图
graph = tf.Graph()
# 在新图中定义操作
with graph.as_default():
a = tf.constant(2)
b = tf.constant(3)
c = a + b
# 创建一个会话
with tf.compat.v1.Session(graph=graph) as sess:
result = sess.run(c)
print(result)
但是,请注意,这可能会导致性能下降,并且在 TensorFlow 2.x 中不推荐这样做。尽量使用 TensorFlow 2.x 的急切执行和 Keras API。