阅读 180

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 等(每个版本不太一样)

ubuntu cuda

默认情况下,cuda 被安装在了 /usr/local 下,同时还创建了一个软链接 cuda

ubuntu 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相关的状态

dlib_cuda_01

dlib_cuda_02

验证

在安装完毕后, 咱们来验证下是否安装成功

# python script

import dlib

print(dlib.__version__)

# 查看是否打开了CUDA加速
print(dlib.DLIB_USE_CUDA)

# 获取设备个数
print(dlib.cuda.get_num_devices())复制代码

dlib_cuda_03


作者:迷途小书童的Note
链接:https://juejin.cn/post/7026543678558568461


文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐