2

我已经在 GPU 上训练了 FCN 网络并保存了模型(.pb 文件)。我在 GPU 上得到了正确的预测。但是,当我在 CPU 上运行预测时,我会为同一模型文件获取 NAN。是否需要设置任何 CPU/GPU 标志?还是CPU有溢出问题?

4

1 回答 1

2

CPU 上没有特殊的溢出条件。两者都应该实现 IEEE 754。

一些高级函数可以通过不同的方式实现(tanh、sigmoid),它们在 GPU 和 CPU 上的实现方式不同,以利用平台。

每当您从模型中获得 NaN 时,很可能会出现问题。不要尝试用一些标志来修补它,而是尝试调试并查看发生了什么。在几乎所有情况下,您都有一个退化模型,该模型仅由于某些硬件的某些极端情况而起作用。

一旦发现问题,通常可以通过限制某些值或修改数据的表示方式(例如记录大数)来解决问题。

于 2018-04-30T15:07:59.637 回答