第一:我不能提供任何代码-如果这是足够的理由关闭这个-那就这样吧。
提供给我的代码库是保密的,我无法在多个小时的工作后在一个独立的示例中重现这种行为。有太多的定制代码,我几乎不理解,这使得隔离单个部分基本上是不可能的。
这就是为什么我现在尝试相反的方法:查看tensorflow代码,找出导致这种行为的变量组合,然后从那里开始工作。
我正在寻求有关如何自己调试此问题的建议/或者是否有人看到过类似的内容:
实际问题:
我正在用model.fit
训练一个tensorflow模型,并将validation_freq
参数设置为例如。10.我得到的行为是在epoch 10执行验证,仅此而已。在第20、30期…依此类推,不执行验证。总结如下:对于每个model.fit
调用,我总共只得到一个评估。Tensorflow版本:2.10.0
我试着直接进入site-packages/tensorflow/python/keras/engine/training.py
,在model.fit
内部添加print语句:这里和这里,但我没有得到任何输出,所以他们要么没有执行或打印从这个文件没有达到stdout出于某种原因…或者...我误解了TensorFlow的代码流程...
- 我修改了
site-packages/tensorflow/python/keras/engine/training.py
,而代码实际上使用了site-packages/keras/engine/training.py
*
什么原因会导致这种情况/我如何调试这种情况?
1条答案
按热度按时间vs91vp4v1#
如果你不能提供例子,很难准确地说出这个问题,但我会尝试以下方法。
1.请确保您正在向
fit
方法提供验证数据1.尝试手动设置要验证的时期:
model.fit(...validation_freq=[10, 20, 30])
1.如果你正在编辑源代码并使用jupyter notebook,你可能需要重新启动kernal以使更改生效。