一些非常快速的背景:
在Ubuntu 16.04 LTS上使用GTX 1080上最新的Caffe分支进行培训
OSX分类
我想知道是否有人可以解释这个问题。我使用来自here的caffe来调整ResNet-50。我正在试验一个小数据集。对于培训,我有大约1248个图像,为了验证,我有1656个。每次在培训期间进行测试时,我都要经过整个验证集。
现在,在训练期间,我没有看到任何NaN或任何表明渐变爆炸或类似的东西。没有NaN,infs或任何奇怪的东西。当我加载网并尝试对训练期间用于验证的相同图像进行分类时,NaN会显示出来。知道为什么会这样吗?在进行训练与分类计算时,GPU架构与CPU架构之间的区别是什么?
[编辑:我没有做任何预处理]
[EDIT2:似乎是随机的。如果我再次运行相同的图像,网络将正确输出概率或它将再次输出NaN。我的解决方案目前是通过网络运行相同的图像,直到非NaN出现,但有时,这需要一段时间]
答案 0 :(得分:0)
可能是不同类型的预处理。您获得NaN输入的NaN输出。因此,如果你以某种方式除以0进行预处理(Normalization?),就会发生这种情况。