分析 TensorFlow 估计器

Posted

技术标签:

【中文标题】分析 TensorFlow 估计器【英文标题】:Profiling Tensorflow Estimators 【发布时间】:2018-12-18 07:43:14 【问题描述】:

我正忙着分析tensorflow BERT code,看看它对于特定用例是否足够快。

我需要确定预测的速度。现在,据我了解,可以将profiler 或run_metadata 对象添加到session.Run 选项。但是,BERT 正在使用新的 Estimator API。

如何描述 Estimators?那可能吗?

更新:

Tensorflow 团队向我展示了 here,可以将 ProfilerHook 附加到估算器:

hooks = [tf.train.ProfilerHook(save_steps=1, output_dir=model_dir)]
estimator.predict(..., hooks=hooks)

这会生成一个跟踪文件,但该跟踪不起作用。

Error : Couldn't create an importer for the provided eventData.
at Import.createImporter_ (chrome://tracing/tracing.js:1300:2071)
at addImportStage (chrome://tracing/tracing.js:1295:167)
at Task.run (chrome://tracing/tracing.js:2307:95)
at runAnother (chrome://tracing/tracing.js:2310:371)
at runTask (chrome://tracing/tracing.js:2286:57)
at processIdleWork (chrome://tracing/tracing.js:2291:116)
at window.requestIdleCallback.timeout (chrome://tracing/tracing.js:2284:81)

【问题讨论】:

【参考方案1】:

如果您使用了类型为timeline-.js 的tf.estimator 文件,将被创建。在 chrome://tracing/ 中加载任何这些时间线-.js 以查看跟踪文件 您将在模型目录中找到timeline-.js 文件。

【讨论】:

可以+1,但是你需要把这些文件放在哪里,这样你就可以在tensorboard中看到它们了。

以上是关于分析 TensorFlow 估计器的主要内容,如果未能解决你的问题,请参考以下文章

Tensorflow:高级 api 估计器中的 Tensorboard

未找到 Tensorflow_core 估计器

TensorFlow 高级估计器的预处理数据集

使用 Tensorflow 的线性回归预制估计器得到错误的答案

在 Tensorflow 的 DNNClassifier 估计器中记录设备信息

根据 CPU 上的批量大小、哈希桶大小、内存等调整 Tensorflow 估计器?