Help us understand the problem. What is going on with this article?

2020年版/CUDAを有効にしてDLIBをインストールする方法

概要

CUDA, cuDNNを有効にしてdlibをインストールすることに成功したので備忘録的に記録
dlibのバージョンによってインストール方法が異なり、ネットに転がってる記事の通りにやってもCUDAが有効にならない場合がある
インストール方法はdlibが更新されるたびに変わるので、うまくいかなくなったらdlib公式のHow to compileを確認しよう
以下の手順は2020/7/6時点でのインストール方法である

環境

  • OS:Ubuntu18.06
  • GPU:RTX2060
  • CUDA:10.2
  • cuDNN:7.6.5
  • dlib:19.20
  • python:3.7.6

インストール

CUDA, cuDNNをインストール

まだCUDA、cuDNNともにインストールしていない時は先に2つをインストールする。

## まずCUDAをインストール
$ sudo apt update -y
$ sudo apt upgrade -y
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
$ sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
$ sudo apt-key add /var/cuda-repo-10-2-local-10.2.89-440.33.01/7fa2af80.pub
$ sudo apt-get -y update
$ sudo apt-get -y install cuda
$ echo "export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}" >> ~/.bashrc
$ echo "export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" >> ~/.bashrc

ここで一旦再起動
起動後、以下のコマンドにてCUDAがインストールされていることを確認

$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_19:24:38_PDT_2019
Cuda compilation tools, release 10.2, V10.2.89

確認できればCUDAのインストール完了
続いてcuDNNをインストールする

# cuDNNインストール
$ wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/libcudnn7_7.6.5.32-1+cuda10.2_amd64.deb
$ wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/libcudnn7-dev_7.6.5.32-1+cuda10.2_amd64.deb
$ sudo dpkg -i libcudnn7_7.6.5.32-1+cuda10.2_amd64.deb
$ sudo dpkg -i libcudnn7-dev_7.6.5.32-1+cuda10.2_amd64.deb

ここで一旦再起動
以上でCUDAおよびcuDNNのインストールは完了とする

事前に必要なcmakeをインストール

$ sudo apt -y install cmake

dlibのダウンロード

dlib公式を確認して最新のソースコードをダウンロードしよう

$ wget http://dlib.net/files/dlib-19.20.tar.bz2
$ tar -jxvf dlib-19.20.tar.bz2

dlibインストール

dlib-19.20フォルダに入っているsetup.pyを使ってインストールする
dlib-19.20ではmakeコマンドを使ってインストールする必要はない
また、-yes USE_AVX_INSTRUCTIONS --yes DLIB_USE_CUDAオプションをつける必要があるという記事が多く出回っているが、
v.19.20ではyesオプションが廃止となっており、デフォルトで有効になっているため、オプションをつける必要がなくなった。

$ cd dlib-19.20
$ python3 setup.py install

setup.py実行時にCUDAとcuDNNが有効になっているか確認する。
以下のメッセージが表示されない場合、CUDA、cuDNNが無効となった状態でインストールされてしまう。

-- Found CUDA: /usr/local/cuda-10.2 (found suitable version "10.2", minimum required is "7.5") 
-- Looking for cuDNN install...
-- Found cuDNN: /usr/lib/x86_64-linux-gnu/libcudnn.so
-- Building a CUDA test project to see if your compiler is compatible with CUDA...
-- Checking if you have the right version of cuDNN installed.
-- Enabling CUDA support for dlib.  DLIB WILL USE CUDA

また、No BLAS library found so using dlib's built in BLASという警告が表示されるが、これは無視しても良い(多分)

確認

pythonを対話モードで起動し、DLIB_USE_CUDAがTrueとなっていれば、無事終了
ここでFalseになっているとCUDA,cuDNNが適用されずにインストールされている。

$ python3
Python 3.7.6 (default, Jan  8 2020, 19:59:22) 
Type "help", "copyright", "credits" or "license" for more information.
>>> import dlib
>>> dlib.DLIB_USE_CUDA
True
FXsimone
組み込みx機械学習エンジニアです。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away