Dlib ускоряется с помощью CUDA

глубокое обучение

Это 4-й день моего участия в ноябрьском испытании обновлений, подробности о мероприятии:Вызов последнего обновления 2021 г.

Программно-аппаратная среда

  • 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 

установить драйвер

Эта часть уже упоминалась ранее, см.Imagination.com/2020/09/24/…

Установить CUDA

Далее запускаем установкуcuda, официальный адрес загрузки:developer.NVIDIA.com/rough-down…

# 添加可执行的权限
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*

Поддержка CUDA для dlib

Затем вы можете скомпилировать исходный код

# 拉取源码
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

использованная литература

  1. GitHub.com/Дэвис Кинг/…