代码之家  ›  专栏  ›  技术社区  ›  Gianluca Micchi

清理TensorFlow摘要

  •  1
  • Gianluca Micchi  · 技术社区  · 6 年前

    我已经训练了一个模型很长时间(20万次迭代)。在每次迭代中,我都通过 tf.summary.FileWriter() 类。是的,我知道:那太愚蠢了。因此,我生成了一个大约50GB的大摘要。现在,我想删除大部分信息,比如说,每50行保留一行。这将使我节省大量的硬盘空间,加快Tensorboard的可视化速度,同时不会对摘要的质量产生重大影响。可以这样做吗?

    1 回复  |  直到 6 年前
        1
  •  4
  •   P-Gn    5 年前

    允许您读取事件文件(存储摘要的位置)的函数是 tf.train.summary_iterator . 你可以尝试这样的方法:

    import tensorflow as tf
    
    tfevents_filepath = path_to_existing_event_file
    tfevents_folder_new = path_to_new_event_file_folder
    
    writer = tf.summary.FileWriter(tfevents_folder_new)
    for e in tf.train.summary_iterator(tfevents_filepath):
      if e.step == 0 or e.step % 50 == 0: # or any other criterion but make sure
                                          # you keep events from step 0
        writer.add_event(e)
    writer.close()