禁用 GPU 使我的 CNTK 程序工作。为什么?

disabling GPU makes my CNTK program work. Why?

我有一个使用 CNTK 的 C++ 程序,在许多 PC 上运行良好。但是在这台特定的 PC 上,它会在程序启动时从磁盘加载神经网络时崩溃。最后,我禁用了 GPU(来自 windows,而不是来自任何 CNTK 代码),然后它加载、运行并正常工作。那么,为什么存在 GPU 会导致此问题——据我所知,我没有在我的 CNTK 代码中使用 GPU。 有想法吗?谢谢!

回答我自己的问题:我检查了我的代码,然后 noticed/recalled LoadModel 调用将 DeviceDescriptor 作为参数。对于我的一些网络,我将其设置为 DefaultDevice,即 GPU。我改为将它们更改为 CPUDevice - 然后问题就消失了。因此,一定是这个特定 GPU 有问题 'wrong' —— 因为我的代码的旧版本在所有类型的机器上都运行良好。就我而言,我在 eval 时不需要 GPU,因此确保我在 运行 时间代码中指定 CPU 似乎更安全,以防万一其他系统有'GPU problem'像这台PC有(还是不懂问题,真的)