Dlib使用CUDA加速
软硬件环境
Intel(R) Xeon(R) CPU E5-1607 v4 @ 3.10GHz
GTX 1070 Ti 32G
ubuntu 18.04 64bit
anaconda with python 3.6
CUDA 9.0
准备工作
如果之前通过 conda
或者 pip
安装过dlib
, 先将它卸载掉
conda uninstall dlib pip uninstall dlib复制代码
由于 dlib
是用 C++
语言编写, 编译需要用到 cmake
,通过apt-get
安装
sudo apt-get install build-essential cmake 复制代码
安装驱动
这个部分前文已经讲过了,参考 xugaoxiang.com/2020/09/24/…
安装CUDA
接下来开始安装 cuda
,官方下载地址: developer.nvidia.com/cuda-downlo…
# 添加可执行的权限 chmod +x cuda_10.1.243_418.87.00_linux.run # 执行安装脚本 sudo ./cuda_10.1.243_418.87.00_linux.run复制代码
安装过程中会有一些选项出现,根据自己的实际情况选择,比如要不要使用 cuda
自带的驱动,安装路径、是否安装 samples
等(每个版本不太一样)
默认情况下,cuda
被安装在了 /usr/local
下,同时还创建了一个软链接 cuda
然后配置下环境变量,编辑 ~/.bashrc
文件
export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH复制代码
最后执行下source
source ~/.bashrc复制代码
这样几个重要的环境变量就立马生效了。或者,重新打开terminal
,也同样生效。
安装cudnn
到官网 developer.nvidia.com/cudnn 去下载,这里需要注册,有点麻烦。需要注意的是,cudnn
的版本是要跟cuda
匹配的
tar xvf cudnn-10.1-linux-x64-v7.6.3.36.tgz sudo cp cuda/include/cudnn*.h /usr/local/cuda-10.1/include sudo cp -a cuda/lib64/libcudnn* /usr/local/cuda-10.1/lib64 # 添加读的权限 sudo chmod a+r /usr/local/cuda-10.1/lib64/libcudnn*复制代码
dlib的CUDA支持
接下来就可以进行源码编译了
# 拉取源码 git clone https://github.com/davisking/dlib.git cd dlib mkdir build cd build # 增加CUDA选项 cmake .. -DDLIB_USE_CUDA=1 -DUSE_AVX_INSTRUCTIONS=1 cmake --build . cd .. # 安装python模块 python setup.py install --yes USE_AVX_INSTRUCTIONS --yes DLIB_USE_CUDA复制代码
在编译的过程中注意看下终端的输出, 看看CUDA
相关的状态
验证
在安装完毕后, 咱们来验证下是否安装成功
# python script import dlib print(dlib.__version__) # 查看是否打开了CUDA加速 print(dlib.DLIB_USE_CUDA) # 获取设备个数 print(dlib.cuda.get_num_devices())复制代码
作者:迷途小书童的Note
链接:https://juejin.cn/post/7026543678558568461