tensorflow - 如何报告算法运行时间?
问题描述
我在 TensorFlow 中运行变分自动编码器,这可能需要很长时间。因此,我想将算法运行的时间报告为 TensorBoard 上的标量。
一种肮脏的方法是将编译的开始时间硬编码到全局变量中,或者将其作为参数传递给模型函数并计算与当前时间的差异。
Tensorflow 有本地方法吗?
解决方案
有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.json
在output_dir
.
推荐阅读
- botframework - 在通知中发送英雄卡或自适应卡
- algorithm - FCFS 中的等待时间是负数,为什么?
- python - 如何将 Spark RDD 中的键/序列对分解为键/值对?
- rest - SurveyMonkey API 的 Swagger 规范文件
- node.js - 如何杀死命令行进程从child_process nodejs开始
- augmented-reality - 在 iOS 上的 AR Quick Look 中将物体放置在地下
- algorithm - 查找哪些三角形共享一个顶点的最快算法
- amazon-web-services - 在不同账户的 Lambda 中从 AWS Athena 查询 S3 文件时访问被拒绝
- java - Android Mapbox NavigationView 未加载地图
- java - Apache poi 如何将工作表设置为枚举位置值属性?