C# ML.NET 使用GPU遇到 Failed to get convolution algorithm.This is probably because cuDNN failed to initialize

C# ML.NET 使用GPU遇到 Failed to get convolution algorithm.This is probably because cuDNN failed to initialize

[[{{node resnet_v2_50/conv1/Conv2D}}]] [[resnet_v2_50/SpatialSqueeze/_7]]

检查过CUDA的版本,也升级过cuDNN 版本,还是报这错。

cuDNN 压缩包里的三个文件夹也全部复制到 CUDA 目录下了,也不行。

随后在刚上查找cuDNN的安装方法,发现环境变量PATH里少了两项。

C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0in
C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0libnvvp
C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0include
C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0lib

其中 bin,libnvvp 在安装CUDA 时已经在里面了,  include,lib 需要自己添加进PATH。

添加2个环境变量进PATH后,GPU正常。

如果还是不行,把 C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0libx64 也添加进去。重启电脑 ,可能是某些程序占用了CPU。

核心解决点:1.变动下环境变量;2.重启电脑。

---

运行ML.NET 时遇到"无法加载 DLL“tensorflow”: 找不到指定的模块",检查 SciSharp.TensorFlow.Redist 有没有安装,没有则nuget 安装,版本和 MODEL 类库引用版本保持一致。

另外,检查 Microsoft.ML.ImageAnalytics,Microsoft.ML.Vision 有没有安装。

原文地址:https://www.cnblogs.com/runliuv/p/13900419.html