ano NanGuardMode会杀死网络,但inpu中没有NaN

2024-05-15 02:19:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在从DeepMask paper重新实现网络,使用的是ano之上的Keras。一切看起来都很好,但在一次(完全随机)之后,损失变成了NaN。我使用NaNGuardMode启动了theano,以检查周围是否有NaN,这会在第一批中终止培训,错误如下:

AssertionError: NaN detected

NanGuardMode found an error in an input of the graph.

分批抽样是随机的,每一批都是这样。我已经让批处理生成器在将其送入培训之前对其进行酸洗,并检查了实际存在的np.nan公司在数据中(这可能是因为在某种规范化中被0除,尽管很奇怪)。这个:

res = np.isnan(batch)
res[res==True]

总是返回空列表,这意味着在数据中找不到NaN。由NanGuard引起的错误不意味着NaN在我的网络的输入端吗?在

该体系结构相当简单,从从kerasavailablehere中的公共可用实现中获得的预先训练的VGG-16开始。在

如果输入没有问题,是什么原因导致我的网络被NanGuardMode停止?众所周知,vg与公共层的实现是相同的。在

感谢您的任何意见!在


Tags: 数据网络an错误nprestheanonan

热门问题