【问题标题】:Tensorflow summary: adding a variable which does not belong to computational graphTensorflow总结:添加一个不属于计算图的变量
【发布时间】:2017-09-05 10:27:56
【问题描述】:

我有一个随训练迭代而变化的变量。该变量不作为计算图的一部分进行计算。

是否可以将其添加到张量流摘要中以便将其与损失函数一起可视化?

【问题讨论】:

    标签: python tensorflow machine-learning tensorboard


    【解决方案1】:

    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
    

    【讨论】:

      【解决方案2】:

      如果您有其他摘要,您可以为未计算为计算图一部分的变量添加新的占位符。

      ...
      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)
      

      【讨论】:

        【解决方案3】:

        是的,您可以在图表之外创建摘要。

        这是一个在图表之外创建摘要的示例(不是作为 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()
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-09-20
          • 2023-03-03
          • 1970-01-01
          • 1970-01-01
          • 2021-10-30
          • 1970-01-01
          相关资源
          最近更新 更多