tensorflow – 如何在分布式环境中使用Estimator API在Tensorboard中显示运行时统计信息

This article说明了如何将运行时统计信息添加到Tensorboard:

    run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
    run_metadata = tf.RunMetadata()
    summary, _ = sess.run([merged, train_step],
                          feed_dict=feed_dict(True),
                          options=run_options,
                          run_metadata=run_metadata)
    train_writer.add_run_metadata(run_metadata, 'step%d' % i)
    train_writer.add_summary(summary, i)
    print('Adding run metadata for', i)

在Tensorboard中创建以下详细信息:

Runtime Statistics in Tensorboard

这在单台机器上相当简单.如何使用Estimators在分布式环境中执行此操作?

最佳答案
你可以使用tf.train.ProfilerHook.然而,问题是它是在1.14发布的.

用法示例:

estimator = tf.estimator.LinearClassifier(...)
hooks = [tf.train.ProfilerHook(output_dir=model_dir, save_secs=600, show_memory=False)]
estimator.train(input_fn=train_input_fn, hooks=hooks)

执行钩子将在output_dir中生成文件timeline-xx.json.

然后在chrome浏览器中打开chrome:// tracing /并加载文件.您将获得如下所示的时间使用时间表.
enter image description here

转载注明原文:tensorflow – 如何在分布式环境中使用Estimator API在Tensorboard中显示运行时统计信息 - 代码日志