所以马上,我想建议阅读this https://danijar.com/what-is-a-tensorflow-session/。它更详细地介绍了会话是什么。
至于代码以及为什么它不产生结果:您没有初始化变量。您可以通过以下方式执行此操作:sess.run(tf.global_variables_initializer())
。所以你的代码将是:
import tensorflow as tf
import numpy as np
x = tf.placeholder('float',name='X')
y= tf.placeholder('float',name='y')
addition = tf.add(x,y)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for i in range(100):
var1= np.random.rand()
var2= np.random.rand()
print(var1,var2)
tf.summary.scalar('addition',sess.run(addition, feed_dict={x:var1,y:var2}))
writer = tf.summary.FileWriter('Graphs',sess.graph)
我不会将 sess.run 嵌入到summary.scalar 调用中,但对于这个简单的示例,您将得到一些结果。
Edit:经过测试,这确实有效:
import tensorflow as tf
import numpy as np
x = tf.placeholder('float',name='X')
y= tf.placeholder('float',name='y')
addition = tf.add(x,y, name='add')
tf.summary.scalar('addition', addition)
summary_op = tf.summary.merge_all()
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
writer = tf.summary.FileWriter('Graphs',sess.graph)
for i in range(100):
var1= np.random.rand()
var2= np.random.rand()
print(var1,var2)
add, s_ = sess.run([addition, summary_op], feed_dict={x:var1,y:var2})
writer.add_summary(s_, i)
output: