python - Tensorflow:有没有办法将训练损失存储在 tf.Estimator 中

标签 python tensorflow machine-learning

我正在使用 tensorflow 估计器对象来训练官方 tensorflow 层文档( https://www.tensorflow.org/tutorials/layers )中的模型。我可以看到训练过程中控制台上显示了训练损失。有没有办法存储这些训练损失值?

谢谢!

最佳答案

显示是通过logging.info完成的。 tf.estimator 为训练损失创建一个 LoggingTensorHook 来执行此操作,请参阅 here .

我想您可以将日志输出重新路由到某个文件,但这仍然不会为您提供原始值。

我能想到的两种方法:

  1. 编写自己的钩子(Hook)来存储值;这可能看起来与 LoggingTensorHook 非常相似,您只需将数字写入文件而不是打印它们。
  2. 默认情况下,tf.estimator 还会在 Tensorboard 中为训练损失创建汇总数据;您可以在 Tensorboard 中打开“标量”选项卡,您应该在其中看到损失曲线。勾选左上角的“显示数据下载链接”。您可以选择以 CSV 或 JSON 格式下载每个图表的数据。默认情况下,日志记录和摘要 Hook 都设置为每 100 步记录一次值。因此该图表应该具有与您在控制台中看到的相同信息。如果您不熟悉 Tensorboard,Tensorflow 网站上也有教程;基本用法应该很简单!

关于python - Tensorflow:有没有办法将训练损失存储在 tf.Estimator 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48940155/

相关文章:

python - 控制打印对象时呈现的字符串?

python - 如果二进制图像几乎全黑,我如何检查 numpy?

tensorflow - 在 Tensorflow 2 中导出卡住图 .pb 文件

python - 使用 python 和 numpy 计算正则化损失函数的梯度

python - Tensorflow - 仅模型预测 6 个类别中的 2 个类别

python - 确定 matplotlib 轴大小(以像素为单位)

python - Python/OpenCV应用程序锁定问题

python - 从迭代器创建 `input_fn`

python - 预测情绪分析时出错 Tensorflow NLTK

python - 替换嵌套循环