こんにちは。
Ubuntu18.04LTSにGPU版のChainerをインストールしたので、手順を残しておきます。
Ubuntu18向けのCUDAが無かったり、悩む箇所が多かったです。
2020年1月現在、Ubuntu18.04向けのCUDA tool kitがリリースされています。
最新版は10.2です。
環境
OS : Ubuntu18.04 LTS
GPU : Geforce GTX780
Anaconda3.7 (Python3.7)
補足
Anacondaのバージョンは最新の3.7です。
ChainerはPython3.7で問題なく動きますが、
TensorFlowはPython3.7に対応していないようです。
TensorFlowを入れる場合は、3.6の仮想環境を作るか、
古いAnaconda(Anaconda3-5.2より前?)を入れましょう。
今回導入するライブラリ
CUDA 9.0
CuDNN 7.2.1
Chainer
Cupy
手順
作業項目としては以下の通り。
- 標準ドライバを無効化する。
- Nvidia Driverをインストール
- Cuda 9.0のインストール
- CuDNNのインストール
- ChainerとCupyのインストール
- 動作確認
作業途中に何度かリブートしてますが、一応やったほうが良いです。
最後まで無事に入ったけど、リブートしたら画面真っ暗・・・ということもあったので。
どこで動かなくなったかの切り分けをする意味でも、慎重めにいきましょう。
標準ドライバを無効化する。
標準ドライバのモジュールを読み込まないように、Ubuntuの起動時に読み込むモジュールのブラックリストに追加します。
1 |
sudo vi /etc/modprobe.d/blacklist-nouveau.conf |
以下を記述
1 2 |
blacklist nouveau options nouveau modeset=0 |
再起動
1 |
reboot |
Nvidia Driverをインストール
対応バージョンの確認は以下から。自分の環境を選択して確認する。
NVIDIAドライバの確認
GTX780のドライバはnvidia-390です。
レポジトリにnvidia-390がないため、先にレポジトリを追加してからインストール。
1 2 3 |
sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update sudo apt install nvidia-390 |
再起動。
1 |
reboot |
GPUが認識されているか確認。
1 |
nvidia-smi |
GPUが表示されていたら成功。
Cuda 9.0のインストール
CUDA9.0をNVIDIAからダウンロードします。
残念ながらUbuntu18.04用はありません。
仕方ないのでUbuntu17.04のもので代用・・・
インストール
1 2 3 4 |
sudo apt install ./Downloads/cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64.deb sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub sudo apt update sudo apt install cuda |
またまた、一応再起動。慎重にいきましょう・・・
1 |
reboot |
CuDNNのインストール
次に、CuDNNをインストールします。
CuDNNのダウンロードには会員登録が必要です。
面倒ですが、ここは素直に登録しましょう。
登録とCuDNNのダウンロードは以下から。CuDNNのダウンロード
登録が完了したら、先ほどインストールしたCUDAのバージョン(9.0)に合わせたCuDNNをダウンロードします。
今回はCuda9.0を入れたので、
Download cuDNN v7.2.1 (August 7, 2018), for CUDA 9.0 から、
- cuDNN v7.2.1 Runtime Library for Ubuntu16.04 (Deb)
- cuDNN v7.2.1 Developer Library for Ubuntu16.04 (Deb)
の2つをダウンロード。
こちらも、Ubuntu18.04版はないので16.04版で代用
インストール
1 2 |
sudo dpkg -i./Downloads/libcudnn7_7.2.1.38-1+cuda9.0_amd64.deb sudo dpkg -i./Downloads/libcudnn7-dev_7.2.1.38-1+cuda9.0_amd64.deb |
ChainerとCupyのインストール
1 2 3 |
pip install msgpack # 依存ライブラリ? pip install chainer pip install cupy-cuda90 |
動作確認
ChainerでGPU確認
1 2 3 4 5 6 7 8 9 |
python Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56) [GCC 7.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import chainer /home/mamoru/anaconda3/lib/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`. from ._conv import register_converters as _register_converters >>> chainer.cuda.cupy.cuda.device.get_device_id() 0 |
利用可能なGPUの番号(0)が表示されれば成功です。
GPU版のChainerが動けば、TensorFlow(GPU)なども問題なく入るでしょう。
以上、お疲れさまでした。