在tensorflow中存在一种情况,如果数据本身是通过迭代产生的,这时无法拿到数据集进行tensorboard显示,这时可以先把计算的结果存到列表中,然后使用列表进行显示操作。
代码如下:
import tensorflow as tf
import numpy as np
x = np.array([2*i*i + 3*i + 4 for i in range(-10, 15, 1)])
print(x)
loss = 0.0
#tf.summary模块的定义位于summary.py文件中,该文件中主要定义了在进行可视化将要用到的各种函数
loss_summary = tf.Summary()
#调用tf.summary.Summary.Value子类
loss_summary.value.add(tag='loss', simple_value=loss) #tag就是待会产生的图标名称
with tf.Session() as sess:
#生成一个写日志的writer,将当前tensorflow计算图写入日志。
summary_writer1 = tf.summary.FileWriter("./train1", sess.graph)
tf.global_variables_initializer().run()
for i in range(len(x)):
print(x[i])
#固定用法,具体为什么我也不懂
loss_summary.value[0].simple_value = x[i]
summary_writer1.add_summary(loss_summary, i)
因为以上代码并没有调用数据集,因此不需要使用sess.run,而完全可以看成是简单的函数调用操作。