页面树结构

2017-11-09 ApacheCN 开源组织,第二期邀请成员活动,一起走的更远 : http://www.apachecn.org/member/209.html


MachineLearning 优酷地址 : http://i.youku.com/apachecn

转至元数据结尾
转至元数据起始

之前的教程中,我们描述了如何使用TensorFlow Debugger(tfdbg)来调试在tf.Session 自己管理的对象中运行的TensorFlow图 。然而,许多用户发现 Estimator是一个方便的更高级别的API,用于在TensorFlow中创建和使用模型。部分的便利是在内部进行管理。幸运的是,您仍然可以通过添加特殊钩子与s 一起使用。tf.contrib.learn  Estimator Session tfdbg Estimator 

调试tf.contrib.learn估计

目前,tfdbg可以调试 tf学习的 方法。要调试,创建一个并作为参数提供。例如:fit()evaluate() Estimator Estimator.fit() LocalCLIDebugHook monitors 

# First, let your BUILD target depend on "//tensorflow/python/debug:debug_py"
# (You don't need to worry about the BUILD dependency if you are using a pip
#  install of open-source TensorFlow.)
from tensorflow.python import debug as tf_debug

hooks = [tf_debug.LocalCLIDebugHook()]

# Create a local CLI debug hook and use it as a monitor when calling fit().
classifier.fit(x=training_set.data,
               y=training_set.target,
               steps=1000,
               monitors=hooks)
要进行调试Estimator.evaluate(),可以按照以下示例:
accuracy_score = classifier.evaluate(x=test_set.data,
                                     y=test_set.target,
                                     hooks=hooks)["accuracy"]
有关基于 tf-learn的虹膜教程的详细示例,请运行:  
python -m tensorflow.python.debug.examples.debug_tflearn_iris --debug

调试tf.contrib.learn实验

Experiment是一个tf.contrib.learn比上级更高的 一个结构Estimator。它提供了一个用于训练和评估模型的界面。要调试train()evaluate()调用Experiment对象,可以分别使用关键字参数train_monitorseval_hooks调用其构造函数。例如:

# First, let your BUILD target depend on "//tensorflow/python/debug:debug_py"
# (You don't need to worry about the BUILD dependency if you are using a pip
#  install of open-source TensorFlow.)
from tensorflow.python import debug as tf_debug

hooks = [tf_debug.LocalCLIDebugHook()]

ex = experiment.Experiment(classifier,
                           train_input_fn=iris_input_fn,
                           eval_input_fn=iris_input_fn,
                           train_steps=FLAGS.train_steps,
                           eval_delay_secs=0,
                           eval_steps=1,
                           train_monitors=hooks,
                           eval_hooks=hooks)

ex.train()
accuracy_score = ex.evaluate()["accuracy"]
要看到debug_tflearn_irisExperiment模式下运行的示例,请执行以下操作:
python -m tensorflow.python.debug.examples.debug_tflearn_iris \
    --use_experiment --debug

没有终端接入的调试估计器和实验

如果您EstimatorExperiment您在没有命令行访问的环境中运行(例如,远程服务器),则可以使用非交互式DumpingDebugHook。例如:

# Let your BUILD target depend on "//tensorflow/python/debug:debug_py
# (You don't need to worry about the BUILD dependency if you are using a pip
#  install of open-source TensorFlow.)
from tensorflow.python import debug as tf_debug

hooks = [tf_debug.DumpingDebugHook("/shared/storage/location/tfdbg_dumps_1")]
那么这hook可以和LocalCLIDebugHook上面的例子一样使用。作为训练和/或评估EstimatorExperiment 发生,/shared/storage/location/tfdbg_dumps_1/run_<epoch_timestamp_microsec>_<uuid> 将出现命名模式的目录 。每个目录对应一个Session.run()呼叫fit()evaluate()呼叫的基础。您可以加载这些目录,并使用tfdbg提供的离线方式在命令行界面中 offline_analyzer进行检查。例如:
python -m tensorflow.python.debug.cli.offline_analyzer \
    --dump_dir="/shared/storage/location/tfdbg_dumps_1/run_<epoch_timestamp_microsec>_<uuid>"
LocalCLIDebugHook还允许您配置watch_fn可用于灵活地规定什么Tensors到观看不同的Session.run() 来电,为的功能fetchesfeed_dict和其他国家。有关 详细信息,请参阅 此API文档
  • 无标签