【发布时间】:2018-01-09 04:16:35
【问题描述】:
我有一个使用 CNTK 的 C++ 程序,可以在数十台 PC 上正常运行。但是在这台特定的 PC 上,它在从磁盘加载神经网络时崩溃——在程序启动时。最后,我禁用了 GPU(从 Windows,而不是从任何 CNTK 代码),然后它加载、运行并正常工作。那么,为什么存在 GPU 会导致这个问题——据我所知,我没有在我的 CNTK 代码中使用 GPU。 有想法吗?谢谢!
【问题讨论】:
我有一个使用 CNTK 的 C++ 程序,可以在数十台 PC 上正常运行。但是在这台特定的 PC 上,它在从磁盘加载神经网络时崩溃——在程序启动时。最后,我禁用了 GPU(从 Windows,而不是从任何 CNTK 代码),然后它加载、运行并正常工作。那么,为什么存在 GPU 会导致这个问题——据我所知,我没有在我的 CNTK 代码中使用 GPU。 有想法吗?谢谢!
【问题讨论】:
回答我自己的问题:我检查了我的代码,然后注意到/回忆起 LoadModel 调用将 DeviceDescriptor 作为参数。对于我的一些网络,我将其设置为 DefaultDevice,即 GPU。我改为将它们更改为 CPUDevice - 问题就消失了。所以,一定是这个特定的 GPU 出现了“错误”——因为我的代码的旧版本在各种机器上都很好。就我而言,我在评估时不需要 GPU,因此确保我只在运行时代码中指定 CPU 似乎会更安全,以防万一其他系统出现像这台 PC 一样的“GPU 问题” (还是不明白这个问题,真的)
【讨论】: