安装支持GPU的Dlib

1 篇文章 0 订阅
1 篇文章 0 订阅

1.环境说明

经过几天的填坑,在这个环境下,终于成功安装上了支持GPU的dlib:win10 + vs2015 + dlib19.18+cuda9.0+cudnn7.6+cmake3.15.3

2.装dlib的目的

目的是为了利用face_recognition组件实现视频人脸识别,而这个组件是基于dlib的。

3.具体过程

3.1 安装cuda9.0+cudnn7.6

这个下载和安装比较简单,直接上官网就ok。

CUDA下载地址
CUDNN下载地址(需要注册一个账号)
注意:
1、CUDA的安装版本需要根据自己的显卡型号来确定,我是在这个网站查到自己的显卡支持的版本,我的显卡型号是GTX1660S,是Turing 架构的,compute_75 ,需要CUDA10及以上版本。
显卡驱动与cuda、cudnn之间的对应关系,这篇文章说的比较详细。
另外百度了下,也可以在控制面板查看,打开控制面板,打开NVIDIA控制面板,系统信息,组件(NVCUDA.dll 后面会显示CUDA的版本号)。
2、CUDNN下载好后,直接解压到CUDA的路径下,目的是增加库的支持。我的解压路径如下:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0

3、检查一下CUDA相关的环境变量有没有自动添加好,没有的话要手动添加。

3.2 安装vs2015

这篇文章提供了VS2015的下载地址和安装教程,需要注意的是勾选VS2015更新3。之前安装的VS2019,结果怎么也搞不定,删除了重新装的2015,可能有版本适配的坑。

3.3 安装cmake3.15.3

1、这个比较简单的办法是,打开cmd窗口,通过命令安装:

pip install cmake

这样有个好处是,anaconda会默认添加好cmake的环境变量。
2、也可以通过手动下载安装包的方式安装,下载地址和教程

3.4 下载安装dlib19.18

1.传统方法

git clone https://github.com/davisking/dlib.git #下载dlib源码
cd dlib/ #到dlib路径下
mkdir build #新建一个叫build的文件夹
cd build/ #到build文件夹里
cmake .. -DDLIB_USE_CUDA=1 -DUSE_AVX_INSTRUCTIONS=1 #编译指令
cmake --build #编译指令
cd .. #退回到上一级路径
python setup.py install #--yes USE_AVX_INSTRUCTIONS --yes DLIB_USE_CUDA默认是选择的

2.手动下载
官网下载地址
下载好安装包后,最好解压到这个路径下:

D:\ProgramData\Anaconda3

都搞定以后,打开cmake-gui,用anaconda的prompt安装的话,应该在这个路径下:

D:\ProgramData\Anaconda3\Lib\site-packages\cmake\data\bin

然后需要对cmake进行编译dlib前的配置工作,这个参照网上有很多配置的文章。
需要注意的是,环境搭建得没问题的话,DLIB_USE_CUDA是可选择的方框,如果不对的话,显示OFF,需要回去检查环境对不对。VS2015不是V3可能导致这个问题,VS2019亲测导致此问题。
配置好以后,用anaconda的prompt进入到dlib的setup.py所在路径下,然后按照如下操作:

mkdir build #新建一个叫build的文件夹
cd build/ #到build文件夹里
cmake .. -DDLIB_USE_CUDA=1 -DUSE_AVX_INSTRUCTIONS=1 #编译指令
cmake --build #编译指令
cd .. #退回到上一级路径
python setup.py install #--yes USE_AVX_INSTRUCTIONS --yes DLIB_USE_CUDA选择项不用了

编译过程比较漫长,检查不能报错,说明dlib编译成功。
网上也有一种办法是通过VS软件编译的,未尝试,不清楚可行性如何。

4.如何验证dlib是否使用GPU

在python环境中,通过如下指令可验证。

import dlib
print(dlib.DLIB_USE_CUDA)

结果返回False,说明失败了。
十分不解,折腾了两天,怀疑Anaconda没有找到编译后的库。
用pip uninstall setup.py卸载dlib后重装,未果。
偶然,通过这篇文章找到灵感。
成功编译后,在D:\ProgramData\Anaconda3\Lib\site-packages\dlib-19.18\build\lib.win-amd64-3.7目录下找到生成的dlib.pyd文件,把该文件拷贝放到python目录下的D:\ProgramData\Anaconda3\Lib\site-packages下面替换掉旧的,这样就完成了最后一步。
最后,再运行验证代码,返回True。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值