使用工具列表
经过各种尝试,只有使用cudnn7这个版本,才能使人脸识别的net函数运行正常。如果有朋友能把其它版本跑正常,可以在下方评论区留言。
win10
dlib-19.22.zip
VS2019
cudnn-10.2-windows10-x64-v7.6.5.32.zip
cuda_10.2.89_441.22_win10.exe
CMake 3.22.1 GUI
1.查看运行环境
cuda + cudnn,如果你想让dlib中的深度学习算法跑得更快并且显卡支持GPU加速,那么可以使用cuda大大提高计算性能。
前提条件是你有NVIDIA显卡。
打开英伟达控制面板(NVIDIA Control Panel)
点击帮助->系统信息->组件
查询到我的是NVIDIA CUDA 11.1.96 driver
确定我们可以安装CUDA11.1这个版本。
查看算力配置sm
D:\OpenCV\dlib-19.22\dlib\cmake_utils\test_for_cuda\CMakeLists.txt
list(APPEND CUDA_NVCC_FLAGS "-arch=sm_50
2.安装CUDA Toolkit最新版本 CUDA Toolkit 11.5 Update 1 Downloads | NVIDIA Developer
历史版本 https://developer.nvidia.com/cuda-toolkit-archive
根据你的显卡CUDA来选择对应的显卡。
最新CUDA的11.5。
安装完成后用打开powershell,执行nvcc -V ,成功的话会返回cuda版本号。
3.安装CUDNN cuDNN Archive | NVIDIA Developer 其它连接要登录NVIDIA才能下载。但是这个连接多下载几次又可以了。
可选1.
将cudnn-11.5-windows-x64-v8.3.0.98.zip下的bin;include;lib解压到CUDA Toolkit 的安装目录下C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5下,如下所示。
查看是否安装成功
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\extras\demo_suite
运行bandwidthTest.exe
可选2.
或者把CUDNN解压的 E:\tools\NVIDIA\cuda头文件的路径加入到
系统变量CMAKE_PREFIX_PATH中
4.使用cmake-gui
注意修改CMAKE_INSTALL_PREFIX的路径不能用原始的C:/Program Files (x86)/dlib_project盘目录。
修改一个位置D:/OpenCV/dlib-nividia/install防止win10不允许在c:盘无权限创建文件夹,VS2019报MSB3073错误 。在win7则没有。
错误
需要下载最新的dlib-19.22没问题,测试过19.19容易报下面的错误
Checking if you have the right version of cuDNN installed.
*** Found cuDNN, but it looks like the wrong version so dlib will not use it. ***
*** Dlib requires cuDNN V5.0 OR GREATER. Since cuDNN is not found DLIB WILL NOT USE CUDA. ***
*** If you have cuDNN then set CMAKE_PREFIX_PATH to include cuDNN's folder. ***
Disabling CUDA support for dlib. DLIB WILL NOT USE CUDA
VS2019项目配置
VC++目录
DLIB_PNG_SUPPORT
DLIB_JPEG_SUPPORT
DLIB_JPEG_STATIC
DLIB_USE_CUDA
cuda的lib文件
cublas.lib
cublasLt.lib
cuda.lib
cudadevrt.lib
cudart.lib
cudart_static.lib
cudnn.lib
cufft.lib
cufftw.lib
curand.lib
cusolver.lib
cusolverMg.lib
cusparse.lib
nppc.lib
nppial.lib
nppicc.lib
nppicom.lib
nppidei.lib
nppif.lib
nppig.lib
nppim.lib
nppist.lib
nppisu.lib
nppitc.lib
npps.lib
nvblas.lib
nvgraph.lib
nvjpeg.lib
nvml.lib
nvrtc.lib
OpenCL.lib