我在GPU上训练了一个FCN网络并保存了模型(.pb文件)。我在GPU上得到了正确的预测。但是,当我在CPU上运行预测时,我得到相同模型文件的NAN。 是否需要设置任何CPU / GPU标志?或者CPU有任何溢出问题吗?
答案 0 :(得分:1)
CPU上没有特殊的溢出情况。两者都应该实现IEEE 754。
可以通过不同的方式实现某些高级功能(tanh,sigmoid),并且它们在GPU与CPU上的实现方式不同,以利用该平台。
每当你从模型中获得NaN时,很可能会破坏某些东西。不要尝试使用一些标志来修补它,而是尝试调试并查看正在进行的操作。在几乎所有情况下,你都有一个退化模型,只有在某些硬件的某些角落情况下才有效。
一旦您发现问题,通常可以通过限制某些值或修改数据的表示方式来修复(例如,记录大数字的记录)。