【发布时间】:2016-10-14 10:29:36
【问题描述】:
我成功地根据 CIFAR-10 样本训练和评估网络。我正在使用我自己的具有特定尺寸的图像。这些网络使用 GPU 进行训练,并能够使用 CPU 进行评估。但是,我无法使用 GPU 对其进行评估。评估使用 C# EvalDLL Wrapper。 deviceID由-1变为0,表示GPU#如下图:
model0.CreateNetwork(string.Format("modelPath=\"{0}\"", modelFilePath), deviceId: 0);
我错过了什么吗? 任何人都可以在 C# EvalDLL Wrapper 程序上运行 GPU 吗?
我使用的是 CNTK 的二进制版本(不是 CPU_Only)。
【问题讨论】:
-
查看您自己发布的答案,似乎缺少一些特定于 GPU 的 DLL。正如您所说,最安全的选择是将完整的 CNTK 分发版放在包含 EvalWrapper 的可执行文件旁边。
-
我检查二进制和编译版本之间的 DLL。 cudas DLL 是匹配的。我注意到的一件事是 CsEvalClien 程序在移动到另一个位置时将不起作用。它将需要将 DLL 复制到本地 exe 位置。您在最后一个答案中提到了GPU框,您可以指定提供该功能的程序吗?我正在寻找一个查看 GPU 使用情况的好工具。再次感谢。
-
我使用 Nvidia GPU 利用率查看器,在 C:\Program Files\NVIDIA Corporation\Control Panel Client\nvGpuUtilization.exe 中找到 - 但它是一个非常不稳定的东西,停止更新状态,忘记 GPUs 而跑步之类的。预计会经常重新启动该工具。
-
那工作。看看GPU是否正在运行就足够了。谢谢。