【问题标题】:TensorBoard doesn't show all data pointsTensorBoard 不显示所有数据点
【发布时间】:2017-09-27 21:23:12
【问题描述】:

我进行了很长时间的训练(强化学习,2000 万步),每 10000 步写一次总结。在步骤 4M 和 6M 之间,我在 TensorBoard 标量图表中看到了 2 个游戏得分的峰值,然后我让它运行并进入睡眠状态。早上,它在大约 12M 步运行,但我之前看到的 4M 和 6M 步之间的峰值从图表中消失了。我试图放大并发现 TensorBoard(随机?)跳过了一些数据点。我也尝试导出数据,但导出的 .csv 中也缺少一些数据点,包括峰。

我在 TensorFlow github 页面中寻找答案并找到了这个:

TensorBoard 使用水库采样来对数据进行下采样,以便将其加载到 RAM 中。您可以在 tensorboard/backend/server.py 中修改每个标签保留的元素数量。

有人修改过这个 server.py 文件吗?我在哪里可以找到该文件,如果我从源代码安装了 TensorFlow,我是否必须在修改文件后重新编译它?

【问题讨论】:

    标签: tensorflow tensorboard


    【解决方案1】:

    您不必为此更改源代码,有一个名为--samples_per_plugin 的标志。

    引用帮助命令

    --samples_per_plugin:可选的以逗号分隔的 plugin_name=num_samples 对列表,以显式 指定为该插件的每个标签保留多少样本。对于未指定的插件,TensorBoard 将记录的摘要随机下采样到合理的值,以防止长时间出现内存不足错误 运行作业。该标志允许对下采样进行精细控制。请注意,0 表示保留所有 该类型的样本。例如,“scalars=500,images=0”保留 500 个标量和所有图像。最多 用户不需要设置此标志。 (默认:'')

    因此,如果您想要一个包含 100 个图像的滑块,请使用:

    tensorboard --samples_per_plugin images=100

    【讨论】:

    • 这才是真正的解决方案。
    • 我尝试设置--samples_per_plugin scalars=0,然后我的所有数据点都消失了。所以我设置了--samples_per_plugin scalars=999999999,它工作得很好......
    • 能否请您链接到相关文档?
    • 文档在这里:github.com/tensorflow/…
    【解决方案2】:

    评论已过时 - 它实际上可以在“默认大小指南”中的 tensorboard/backend/application.py 中进行修改。默认情况下,它存储 1000 个标量。您可以任意增加该限制,或将其设置为 0 以存储每个标量。

    您无需重新编译 TensorBoard,甚至无需从源代码下载。你可以自己在 TensorBoard 中修改这个文件。

    如果您在 virtualenv 中使用 pip 安装 TensorFlow(ubuntumac),那么在您的 virtualenv 目录中,application.py 的路径应该类似于 lib/python2.7/site-packages/tensorflow/tensorboard/backend。如果您修改该文件,您应该在您的 tensorboard 中获得新设置(当您在该 virtualenv 中运行 tensorboard 时)。如果你像我一样,你也会写一个打印语句,这样你就可以确定你正在运行修改过的代码:)

    【讨论】:

    • 非常感谢。我将数字增加到 50,000 并且效果很好。就我而言,我使用的是anaconda,文件“application.py”位于“~/.conda/envs/python3/lib/python3.6/site-packages/tensorflow/tensorboard/backend/application.py”
    • @dandelion,默认情况下,它存储 1000 个标量,但在我的图中,我有 80k 步,每个数据点有 0.5k,但总共 160 个点,远小于 1000,我想这个不会被采样,但会显示所有这些,但我看到它们仍然被下采样,这里的机制是什么?
    • 谢谢!对于其他人:具体来说,寻找scalar_metadata.PLUGIN_NAME
    • 我必须重新运行培训过程吗?因为在我更改限制后它仍然下载 1000 行(我尝试保存的日志文件)@MatthewRahtz
    猜你喜欢
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    • 2018-04-06
    • 2017-12-25
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    相关资源
    最近更新 更多