我在基于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)。
答案 0 :(得分:0)
我可以在GPU上运行EvalWrapper
,完全使用您在下面发布的代码。我刚刚通过CsEvalClient
进行了测试:
EvalWrapper
运行我的CNN时,日志说它使用的是cuDNN
卷积引擎,它只是GPU。我认为这是它真正在GPU上运行的标志。deviceId:-1
并在仅CPU框上运行时,日志说它使用GEMM
卷积引擎,并且该引擎仅限CPU。当CNTK加载模型时,您在日志中看到了什么?
答案 1 :(得分:0)
我不确定这是正确的程序。这就是我做的。 而不是使用二进制愿景,安装源代码遵循安装说明并编译源代码。 复制来自" x64.release"的DLL目录到" exe"的目录。文件位于(流动https://github.com/Microsoft/CNTK/issues/394)。 注意:对于解决方案中的多个项目,请确保配置相同(例如,x64处的发布模式)。 使用GTX 960,图像的处理速度从770ms到1ms。