当我通过datalab启动tensorboard时,它使用的Google语法为here。本文档仅提及开始,停止和列出。但是,有一个调试器窗格,我无法使用。
This文档介绍了如何将tensorboard调试器与tf.estimator一起使用,但是它使用了不同的语法。
是否有某种方式将两者融合在一起,以便调试器可与datalab一起使用?
答案 0 :(得分:1)
我认为您不能在datalab中运行tfdbg。您可以使用以下guide来获取代码并在控制台上运行它:
我正在使用使用model.py和task.py的datalab笔记本。我的代码最初是在此file之后建模的。
按照上述指南中的说明对model.py
代码进行此更改。
from tensorflow.python import debug as tf_debug
# for debugging
hooks = [tf_debug.LocalCLIDebugHook()]
然后在train_and_evaluate(args)
例程中添加对EvalSpec()
调用的参数列表中的钩子的引用。像这样:
# .. also need an EvalSpec which controls the evaluation and
# the checkpointing of the model since they happen at the same time
eval_spec = tf.estimator.EvalSpec(
input_fn = read_dataset(
args['eval_data_paths'],
batch_size = 10000, # original 10000
mode = tf.estimator.ModeKeys.EVAL),
steps=None, # evals on 100 batches
start_delay_secs = args['eval_delay_secs'], # start evaluating after N secoonds.
throttle_secs = args['min_eval_frequency'], # eval no more than every N seconds.
exporters = exporter,# how to export the model for production.
hooks = hooks) # for the debugger
然后使用您首选的虚拟python环境,执行以下操作:(我正在使用anaconda)
使用anaconda打开python 2.7环境
$ . ~/bin/setenv-anaconda2.sh
激活tensorflow python2.7 anaconda环境
$ conda activate tensorflow
获取gcloud环境
$ . ~/progs/datalab-notebooks/bin/setenv_google.sh
对于此模型,设置python路径以查找模块
cd ~/progs/datalab-notebooks/tf-debug
export PYTHONPATH=${PYTHONPATH}:${PWD}/taxisimple
然后进行训练:--train_steps = 1000。似乎是最大步数。
python -m trainer.task \
--train_data_paths="${PWD}/taxi-train*" \
--eval_data_paths=${PWD}/taxi-valid.csv \
--output_dir=${PWD}/taxi_trained \
--train_steps=1000 --job-dir=./tmp
这将给您一个tftdbg提示。在这里,您可以使用tfdbg探索模型。