Ubuntu 20.04下CMake编译OpenPose无法检测到CuDNN 8的问题求助
解决OpenPose编译时CuDNN未找到的问题
1. 确认CuDNN的实际安装路径
Ubuntu 20.04下CuDNN的安装路径分两种常见情况:
- 通过deb包安装:头文件在
/usr/include,库文件在/usr/lib/x86_64-linux-gnu - 手动解压安装:头文件在
/usr/local/cuda/include,库文件在/usr/local/cuda/lib64
用以下命令验证实际路径:
# 查找cuDNN头文件 find /usr -name cudnn*.h # 查找cuDNN库文件 find /usr -name libcudnn*.so
2. 修正CMake参数
根据实际路径调整cmake命令:
- 若为deb安装路径:
cmake .. -DBUILD_PYTHON=ON -DPYTHON_EXECUTABLE=/usr/bin/python3 -DCUDNN_INCLUDE_DIR=/usr/include -DCUDNN_LIBRARY=/usr/lib/x86_64-linux-gnu/libcudnn.so
- 若为手动解压到CUDA目录:
cmake .. -DBUILD_PYTHON=ON -DPYTHON_EXECUTABLE=/usr/bin/python3 -DCUDNN_INCLUDE_DIR=/usr/local/cuda/include -DCUDNN_LIBRARY=/usr/local/cuda/lib64/libcudnn.so
3. 验证CUDA与CuDNN版本兼容性
你的CUDA版本是11.7,需确保CuDNN 8.x版本支持该CUDA版本(CuDNN 8.4及以上适配CUDA 11.7)。查看CuDNN版本:
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
4. 清理CMake缓存后重新编译
旧缓存可能导致识别错误,先清理再执行cmake:
cd ~/Downloads/openpose/build rm -rf CMakeCache.txt CMakeFiles # 重新执行修正后的cmake命令
5. 备选:禁用CuDNN(性能会下降)
如果以上方法无效,可临时关闭CuDNN支持:
cmake .. -DBUILD_PYTHON=ON -DPYTHON_EXECUTABLE=/usr/bin/python3 -DUSE_CUDNN=OFF
内容的提问来源于stack exchange,提问作者Bilal
相关产品推荐
相关产品推荐

