Dan*_*iel 11 python tensorflow
我正在尝试将一些TensorBoard日志记录添加到使用新的tf.estimator API的模型中.
我有一个钩子设置如下:
summary_hook = tf.train.SummarySaverHook(
save_secs=2,
output_dir=MODEL_DIR,
summary_op=tf.summary.merge_all())
# ...
classifier.train(
input_fn,
steps=1000,
hooks=[summary_hook])
Run Code Online (Sandbox Code Playgroud)
在我model_fn,我也创造了summary-
def model_fn(features, labels, mode):
# ... model stuff, calculate the value of loss
tf.summary.scalar("loss", loss)
# ...
Run Code Online (Sandbox Code Playgroud)
但是,当我运行此代码时,我从以下错误中得到以下错误summary_hook:
Exactly one of scaffold or summary_op must be provided.这可能是因为tf.summary.merge_all()找不到任何摘要并且正在返回None,尽管tf.summary.scalar我已在声明中声明了model_fn.
任何想法为什么这不起作用?
小智 8
使用tf.train.Scaffold()并传递tf.merge_all如下
summary_hook = tf.train.SummarySaverHook(
save_secs=2,
output_dir=MODEL_DIR,
scaffold=tf.train.Scaffold(summary_op=tf.summary.merge_all()))
Run Code Online (Sandbox Code Playgroud)
只是对于将来有这个问题的人来说,所选择的解决方案对我不起作用(请参阅我在所选解决方案中的评论).
实际上,使用TF 1.2 Estimator API,不需要有summary_hook.我只是tf.summary.scalar("loss", loss)在model_fn中,并运行没有summary_hook的代码.记录损失并显示在张量板中.我不确定在此之后是否更改了TF API以及类似的问题.
| 归档时间: |
|
| 查看次数: |
5861 次 |
| 最近记录: |