什么"运行"和"步骤"对应于Tensorflow调试器(tfdbg)?

时间:2018-03-03 13:26:24

标签: python tensorflow machine-learning

我想了解Tensorflow调试器 tfdbg 的工作原理:

with sv.managed_session(config=config_proto) as session:
    session = tf_debug.LocalCLIDebugWrapperSession(session)
    for i in range(config.max_epoch):
        session.run(model.lr)

当调试器启动时,它会向我们显示以下窗口:

enter image description here

阅读文档并在youtube上观看一个小教程后,我无法理解"运行"和"步骤"命令实际上代表了什么,更重要的是他们如何与神经网络训练时间步骤和时期进行比较?

来自文档:

  

run命令导致tfdbg执行,直到下一个Session.run()调用结束,该调用使用测试数据集计算模型的准确性。

Session.run只是:

  

......一个"步骤" TensorFlow计算,通过运行必要的图形片段来执行每个操作并评估提取中的每个Tensor,将feed_dict中的值替换为相应的输入值。

我是TF的新手,我仍然不明白如何解释" run"在神经网络步骤和时期方面。这当然难以使用 tfdbg ,因为经过几次"运行后,我得到了大约5000行misc tensor和ops的列表,我需要搜索并且我不需要#39;了解我在看什么,一次性步骤或时代的结果。当我们开发神经网络模型时,我们不会考虑会话运行,对吗?

那么,有多少会话"运行"是一个时代,所以我至少可以找到进入损失的张量?

1 个答案:

答案 0 :(得分:1)

在大多数tensorflow模型中,session.run调用处理训练数据的小批量。每个时期有多少个小批量取决于您正在使用的特定型号和数据集。