我想了解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)
当调试器启动时,它会向我们显示以下窗口:
阅读文档并在youtube上观看一个小教程后,我无法理解"运行"和"步骤"命令实际上代表了什么,更重要的是他们如何与神经网络训练时间步骤和时期进行比较?
来自文档:
run命令导致tfdbg执行,直到下一个Session.run()调用结束,该调用使用测试数据集计算模型的准确性。
但Session.run
只是:
......一个"步骤" TensorFlow计算,通过运行必要的图形片段来执行每个操作并评估提取中的每个Tensor,将feed_dict中的值替换为相应的输入值。
我是TF的新手,我仍然不明白如何解释" run"在神经网络步骤和时期方面。这当然难以使用 tfdbg ,因为经过几次"运行后,我得到了大约5000行misc tensor和ops的列表,我需要搜索并且我不需要#39;了解我在看什么,一次性步骤或时代的结果。当我们开发神经网络模型时,我们不会考虑会话运行,对吗?
那么,有多少会话"运行"是一个时代,所以我至少可以找到进入损失的张量?
答案 0 :(得分:1)
在大多数tensorflow模型中,session.run
调用处理训练数据的小批量。每个时期有多少个小批量取决于您正在使用的特定型号和数据集。