【问题标题】:How to see more evaluation steps in tensorboard如何在 tensorboard 中查看更多评估步骤
【发布时间】:2018-09-20 01:38:12
【问题描述】:

我想在 Tensorboard 中看到更多评估步骤,同时我正在训练和评估我的对象检测(tensorflow object detection 中的标准代码)。

Here you can see what I mean for number of evaluation steps。如您所见,它固定为 10 个可视化。

我找不到在哪里更改和增加此参数。此外,这些可视化是随机的,而不是最后 10 个。

是否可以设置不同的可视化数量? 我可以做些什么来查看最后 N 次评估而不是随机 N 次评估?

提前谢谢你。


添加:图片来自链接:

【问题讨论】:

    标签: tensorflow object-detection tensorboard


    【解决方案1】:

    我假设您正在使用此代码:

    https://github.com/tensorflow/models/tree/master/research/object_detection

    (您应该包含该链接以在以后的问题中澄清,如果该假设错误,您应该编辑您的问题以指定您使用的代码)

    如果您查看底部的trainer.py 代码,他们有:

    slim.learning.train(
        train_tensor,
        logdir=train_dir,
        master=master,
        is_chief=is_chief,
        session_config=session_config,
        startup_delay_steps=train_config.startup_delay_steps,
        init_fn=init_fn,
        summary_op=summary_op,
        number_of_steps=(
            train_config.num_steps if train_config.num_steps else None),
        save_summaries_secs=120,
        sync_optimizer=sync_optimizer,
        saver=saver)
    

    看起来他们已经硬编码save_summaries_sec=120 以每 120 秒保存一次摘要。这就是您要编辑以更改张量板摘要更新周期的内容。


    编辑:我已将图像添加到问题中以帮助澄清。我相信答案在tf.summary.image 你有一个属性max_outputs,它控制图像块中值的数量。要专门选择图像子集,您只需编写自己的代码,以任何您认为合适的方式(随机或按某种顺序)选择它们,然后将新图像集传递给tf.summary.image。

    【讨论】:

    • 是的,我使用了这段代码,我编辑了我的问题,希望现在更清楚。但是,我不认为这是正确的参数...我将其更改为 600,但没有任何反应。我想要的是在 tensorboard 中可视化超过 10 次评估,而不是最后 10 次随机评估。或者,如果不可能,请查看最近 10 次评估。
    • Tensorboard 将向您显示任意数量的评估。这表示您希望每 120 秒(或 600 秒)计算一个数据点并将其存储在 tensorboard 中。如果将其设置为每 10 秒一次,您应该会看到相当多的数据点。我不知道你从哪里得到数字 10,它不会对我敲响警钟。而且我不明白你所说的随机 N 评估是什么意思。您是否对仅计算单个批次有问题?如果是这样,tf.metrics 具有聚合多个批次的测量值的方法。
    • 我说的是media.giphy.com/media/fxQUlf9sTg6hdifFty/giphy.gif。这里可以看到10个评价,随机的,我希望看到更多评价,或者最后10个,不是随机的10个...
    • 我在我的问题中添加了一些细节,并将图像添加到您的问题中。不过,我还不能 100% 确定我已经把它钉在了头上,可能需要一些实验。
    • 我找不到 max_outputs 属性。它在哪里?如果我在 eval_util.py 第 182 行添加它: summary = tf.Summary(value=[ tf.Summary.Value( tag=tag, image=tf.Summary.Image(max_outputs=20, encoded_image_string=vis_utils.encode_image_array_as_png_str( image) )) ]) 它给了我这个错误...协议消息图像没有“max_outputs”字段。
    【解决方案2】:

    您可能需要考虑查看模型配置文件的 eval_config 部分。

    eval_config: {
      num_examples: 100
      num_visualizations: 50
      # Note: The below line limits the evaluation process to 10 evaluations.
      # Remove the below line to evaluate indefinitely.
      #max_evals: 10
    }
    

    我猜max_evals 就是你要找的东西。

    【讨论】:

    猜你喜欢
    • 2018-12-01
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-16
    相关资源
    最近更新 更多