CPU 和 GPU 上 CNN 模型的张量流预测差异
Differences in tensorflow prediction on CPU and GPU for CNN models
我已经在 GPU 上训练了一个 FCN 网络并保存了模型(.pb 文件)。我在 GPU 上得到了正确的预测。但是,当我在 CPU 上进行 运行 预测时,我得到了同一模型文件的 NAN。
是否需要设置任何 CPU/GPU 标志?或者 CPU 是否存在任何溢出问题?
CPU 上没有特殊的溢出条件。两者都应实施 IEEE 754。
一些高级函数可以通过不同的方式实现(tanh、sigmoid),它们在 GPU 上的实现方式与 CPU 不同,以利用平台。
每当您从模型中得到 NaN 时,很可能有什么东西坏了。不要试图用一些标志来修补它,而是尝试调试并查看发生了什么。在几乎所有情况下,您都有一个退化模型,该模型仅由于某些硬件的某些极端情况而起作用。
一旦发现问题,通常可以通过限制某些值或修改数据的表示方式(例如,对大数进行记录)来解决问题。
我已经在 GPU 上训练了一个 FCN 网络并保存了模型(.pb 文件)。我在 GPU 上得到了正确的预测。但是,当我在 CPU 上进行 运行 预测时,我得到了同一模型文件的 NAN。 是否需要设置任何 CPU/GPU 标志?或者 CPU 是否存在任何溢出问题?
CPU 上没有特殊的溢出条件。两者都应实施 IEEE 754。
一些高级函数可以通过不同的方式实现(tanh、sigmoid),它们在 GPU 上的实现方式与 CPU 不同,以利用平台。
每当您从模型中得到 NaN 时,很可能有什么东西坏了。不要试图用一些标志来修补它,而是尝试调试并查看发生了什么。在几乎所有情况下,您都有一个退化模型,该模型仅由于某些硬件的某些极端情况而起作用。
一旦发现问题,通常可以通过限制某些值或修改数据的表示方式(例如,对大数进行记录)来解决问题。