sess.graph
和tf.get_default_graph()
在tensorboard中的结果相同。但是,根据手册,它们之间的区别并不是很清楚。能否有人帮忙解释一下它们之间的区别?能否提供一个例子,说明何时不能互换使用sess.graph
和tf.get_default_graph()
?
#!/usr/bin/env python
# vim: set noexpandtab tabstop=2 shiftwidth=2 softtabstop=-1 fileencoding=utf-8:
import tensorflow as tf
import sys
x = tf.Variable(1.0)
with tf.name_scope('ns_loss'):
loss = tf.square(x)
with tf.name_scope('ns_adam'):
train_op = tf.train.AdamOptimizer().minimize(loss)
init = tf.global_variables_initializer()
tf.summary.scalar('scalar_loss', loss)
merged_summary_op = tf.summary.merge_all()
with tf.Session() as sess:
sess.run(init)
summary_writer = tf.summary.FileWriter(logdir=sys.argv[1])
summary_writer.add_graph(graph=tf.get_default_graph())
#summary_writer.add_graph(graph=sess.graph)
for i in xrange(100):
sess.run(train_op)
summary_writer.add_summary(
summary = sess.run(merged_summary_op)
, global_step = i
)