我正在开发一个对象检测项目,并希望使用我的 GPU 处理该项目。我已经完成了NVIDIA 设置教程,一切正常。我的对象检测代码最初适用于 CPU,但是当我添加这两行代码时:
net.setPreferableBackend(cv2.dnn.DNN_BACKEND_CUDA)
net.setPreferableTarget(cv2.dnn.DNN_TARGET_CUDA)
Run Code Online (Sandbox Code Playgroud)
显示的输出:
无法找到 zlibwapi.dll。请确保它在您的库路径中!
我已经从cuDNN 网站下载了 zlibwapi.dll zip 文件,解压缩并将整个文件夹添加到我的环境变量路径中。该文件夹名为“zlib123dllx64”,包含“dll_x64”文件夹和“static_x64”文件夹。“zlibwapi.dll”位于“dll_x64”文件夹内。我已在用户和系统路径变量中添加了“zlib123dllx64”文件夹,但它似乎没有解决任何问题。我怎样才能修复这个错误并使GPU与代码一起工作?
我的环境设置:
use*_*675 29
我能够在 NVIDIA Nsight 目录中找到丢失的 zlib DLL 的副本:
C:\Program Files\NVIDIA Corporation\Nsight Systems 2022.4.2\host-windows-x64\zlib.dll
我将其复制并重命名为:
C:\Program Files\NVIDIA GPU 计算工具包\CUDA\v11.8\bin\zlibwapi.dll
因为它已经在我的 PATH 环境变量中了。这样做解决了我的错误。
我在其他答案中链接的 CUDNN 文档中看到了链接,但我对安全警告有点担心。
小智 23
Windows环境:
当我尝试运行 TensorRT 示例 int8_caffe_mnist 时,我遇到了“无法找到 zlibwapi.dll。请确保它位于您的库路径中”的问题。确认 TensorRT 正确安装。
按照以下说明进行操作:https ://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#prerequirements-windows
3.1.3下下载zlib并将路径添加到环境变量中。我做了以下事情:
结论:按照将 zlibwapi.dll 添加到路径的说明对我来说不起作用。
对我有用的解决方案:
如果有人也遇到和我一样的问题,我设法解决了这个问题。您无需将整个“zlib123dllx64”文件夹调用到系统环境路径中,只需将“dllx64”文件夹内的“zlibwapi.dll”添加到项目文件夹中并将其包含在项目中即可。这解决了我的问题。干杯