首页 > 解决方案 > 如何报告算法运行时间?

问题描述

我在 TensorFlow 中运行变分自动编码器,这可能需要很长时间。因此,我想将算法运行的时间报告为 TensorBoard 上的标量

一种肮脏的方法是将编译的开始时间硬编码到全局变量中,或者将其作为参数传递给模型函数并计算与当前时间的差异。

Tensorflow 有本地方法吗?

标签: tensorflowruntimetensorboard

解决方案


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)

执行钩子会timeline-xx.jsonoutput_dir.

然后chrome://tracing/在chrome浏览器中打开并加载文件。您将获得如下所示的时间使用时间表。 在此处输入图像描述


推荐阅读