Tensorflow总结:添加一个不属于计算图的变量
Tensorflow summary: adding a variable which does not belong to computational graph
我有一个随训练迭代而变化的变量。该变量不作为计算图的一部分进行计算。
是否可以将其添加到tensorflow摘要中以便与损失函数一起可视化?
是的,您可以在图表之外创建摘要。
这是一个在图表之外创建摘要的示例(不是作为 TF 操作):
output_path = "/tmp/myTest"
summary_writer = tf.summary.FileWriter(output_path)
for x in range(100):
myVar = 2*x
summary=tf.Summary()
summary.value.add(tag='myVar', simple_value = myVar)
summary_writer.add_summary(summary, x)
summary_writer.flush()
如果您有其他摘要,您可以为未作为计算图的一部分计算的变量添加新的占位符。
...
myVar_tf = tf.placeholder(dtype=tf.float32)
tf.summary.scalar('myVar', myVar_tf)
merged_summary = tf.summary.merge_all()
...
...
myVar = 0.1
feed_dict = { myVar_tf : myVar}
summary, step = sess.run([merged_summary, global_step],feed_dict=feed_dict)
summary_writer.add_summary(summary, step)
TF 2.0 示例:
def write_list_toTB(list_myVar, main_directory, variable_name= "myVar"):
output_path = os.path.join(main_directory, variable_name)
summary_writer = tf.summary.create_file_writer(output_path)
with summary_writer.as_default():
for i,val in enumerate(list_myVar):
tf.summary.scalar(name=variable_name, data=val,step=i)
summary_writer.flush()
然后在cmd中写入:
tensorboard --logdir main_directory
我有一个随训练迭代而变化的变量。该变量不作为计算图的一部分进行计算。
是否可以将其添加到tensorflow摘要中以便与损失函数一起可视化?
是的,您可以在图表之外创建摘要。
这是一个在图表之外创建摘要的示例(不是作为 TF 操作):
output_path = "/tmp/myTest"
summary_writer = tf.summary.FileWriter(output_path)
for x in range(100):
myVar = 2*x
summary=tf.Summary()
summary.value.add(tag='myVar', simple_value = myVar)
summary_writer.add_summary(summary, x)
summary_writer.flush()
如果您有其他摘要,您可以为未作为计算图的一部分计算的变量添加新的占位符。
...
myVar_tf = tf.placeholder(dtype=tf.float32)
tf.summary.scalar('myVar', myVar_tf)
merged_summary = tf.summary.merge_all()
...
...
myVar = 0.1
feed_dict = { myVar_tf : myVar}
summary, step = sess.run([merged_summary, global_step],feed_dict=feed_dict)
summary_writer.add_summary(summary, step)
TF 2.0 示例:
def write_list_toTB(list_myVar, main_directory, variable_name= "myVar"):
output_path = os.path.join(main_directory, variable_name)
summary_writer = tf.summary.create_file_writer(output_path)
with summary_writer.as_default():
for i,val in enumerate(list_myVar):
tf.summary.scalar(name=variable_name, data=val,step=i)
summary_writer.flush()
然后在cmd中写入:
tensorboard --logdir main_directory