我找不到任何使用云ML引擎运行的tfdbg工具的示例。这个post展示了如何用调试器打包张量流会话,但我还没遇到任何以调试模式运行ML引擎包的方法。有没有人找到一种方法来做到这一点?可以使用Cloud ML Engine培训工作运行tfdbg吗?
0
A
回答
2
CloudML引擎不支持交互式CLI调试器。但是,您应该可以使用offline debugger。如何让它在您的案例中发挥作用将取决于您的代码的结构。
假设您的代码被写入以接受--job-dir
命令行参数。当你提交你的工作,你就会有这样的事情:
export JOB_NAME=my_job
export JOB_DIR=gs://my_bucket/$JOB_NAME
gcloud ml-engine jobs training submit ... --job-dir=$JOB_DIR ...
# Start with this code.
from tensorflow.python import debug as tfdbg
# job_dir is on GCS and is passed on the command-line if you specify
# it when submitting your training job.
dump_dir = os.path.join(job_dir, 'tfdbg_dumps')
欲了解更多信息的watch_fn
,看到docs。
核心TensorFlow(用户创建的会话)
如果你使用的“核心” TensorFlow,即创建自己的会话,然后将取代像这样的任何tf.Session对象的构造:
sess = tfdbg.DumpingDebugWrapperSession(sess, dump_dir)
sess.run(fetches=my_fetches, feed_dict=my_feed_dict)
有关更多信息,请参阅DumpingDebugWrapperSession docs。
估计API
如果您正在使用learn_runner
或Experiment
,您可以使用DumpingDebugHook
:
experiment = Experiment(
...,
train_monitors =[tfdbg.DumpingDebugHook(dump_dir)],
...
)
learn_runner.run(experiment)
不幸的是,我看不到的方式来使用过滤器如tfdbg.has_inf_or_nan
除非LocalCLIDebugHook
,所以你只需要离线分析张量。
离线分析
一旦数据在GCS可用,您可以检查使用提供offline_analyzer
可执行模块的转储。您将不得不选择其中一个运行子目录:
python -m tensorflow.python.debug.cli.offline_analyzer \
--dump_dir=$JOB_DIR/tfdbg_dumps/run_XXXXXXX
相关问题
- 1. 运行Google Cloud ML培训工作,但在日志中没有stdout输出
- 2. 搞清Cloud ML培训中的瓶颈
- 3. 使用夜间TensorFlow构建与Cloud ML引擎进行培训
- 4. 我可以从Google Cloud ML Engine下载受过训练的模型吗?
- 5. Cloud ML培训作业找不到匹配的文件
- 6. 如何使用其他python依赖项部署Cloud ML培训作业?
- 7. 在谷歌云再培训盗当ML
- 8. Google Cloud ML是否仅支持分布式Tensorflow以用于多个GPU培训工作?
- 9. 使用tf.learn运行分布式培训
- 10. 如何从BigQuery而不是Cloud ML中的csv文件进行培训?
- 11. Cloud Cloud中的Cloud ML Engine和Compute Engine有什么区别?
- 12. GCloud ML-引擎:培训输出目录
- 13. 我可以以确定性的方式进行Keras培训吗?
- 14. Google Cloud ML使用Rest API
- 15. 如何从运行谷歌云ml培训实例收集性能指标?
- 16. OpenNLP可以使用HTML标签作为培训的一部分吗?
- 17. OpenCV培训输出
- 18. 我可以使用自定义的培训数据集来培训Microsoft文本分析为定制版本吗?
- 19. 再培训以来
- 20. 培训LUIS识别工作票号
- 21. 使用Azure SQL Server作为Azure ML培训服务输入参数
- 22. Crystal Reports培训视频吗?
- 23. 是否可以在C#中培训sapi?
- 24. 比较运算符不工作(在再培训局的意见)
- 25. 是否可以为Spark ML中的随机森林制作通用培训管道?
- 26. 我可以使用WorkflowApplication类运行WCF工作流服务吗?
- 27. 编程培训课程有用吗?
- 28. 红宝石:使用Reek作为培训工具
- 29. tf.estimator的分布式培训导致更多的培训步骤
- 30. 在线培训
如果我正在使用learn_runner而不是sess.run直接运行实验,该如何修改?这是值得一个单独的问题,还是最好在这里更新答案涵盖两种情况? – reese0106
另外,如果我们正在调试为什么损失会与NaN发生偏差,那么watch_fn的一个例子是tfdbg.has_inf_or_nan吗? – reese0106
更新了答案。 – rhaertel80