首页 > 解决方案 > 修改 tf.estimator.Estimator 如何为 Tensorboard 创建摘要

问题描述

我试图找出如何修改自定义 TensorFlow 估计器为 Tensorboard 创建事件文件的方式。目前,我的印象是,默认情况下,在我的模型中每 100 步创建一个摘要(包含我使用 tf.summary.scalar(...) 跟踪的所有事物的值(通常是准确性))目录。tensorboard 稍后使用的事件文件的名称类似于 events.out.tfevents.1531418661.nameofmycomputer。

我在网上找到了一个例程来改变这种行为,并为每次运行创建带有计算日期和时间的目录,但它使用 TensorFlow 基本 API:

logdir = "tensorboard/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S") + "/"
writer = tf.summary.FileWriter(logdir, sess.graph)

是否可以使用 TF 自定义估计器做类似的事情?

标签: tensorboardtensorflow-estimator

解决方案


可以使用方法的name参数为每个评估运行指定一个目录, 例如:evaluatetf.estimator.Estimator

estimator = tf.estimator.Estimator(
    model_fn=model_fn,
    model_dir=model_dir
)
eval_results = estimator.evaluate(
            input_fn=eval_input_fn,
            name=eval_name
            )

此评估的事件文件将保存在model_dir名为"eval_" + eval_name.


推荐阅读