ローカルでのGPU環境の構築
ローカルで機械学習環境を構築するとき, いつもGPU, CUDA, cuDNNと深層学習用のフレームワークのバージョン合わせに苦労します. 今回は私が環境構築する際の手順を紹介します.
セットアップ
Nvidia driverのインストール
1 2 3 4 5 6 7 8 | # recommended nvidia driver ubuntu-drivers devices # choose one from above results sudo apt install nvidia-driver-470 # after installing nvidia driver sudo reboot |
エラー
nvidia-dkms-470のインストール中,
Sub-process /usr/bin/dpkg returned an error code (1)というエラー発生時
1 2 3 4 | cd /var/lib/dpkg/info sudo mv nvidia-dkms-470.post* /tmp sudo mv nvidia-dkms-470.pre* /tmp sudo apt upgrade |
CUDAのインストール
指定がある場合はバージョンを明記してインストールする
1 2 3 4 5 6 7 | wget https: //developer .download.nvidia.com /compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004 .pin sudo mv cuda-ubuntu2004.pin /etc/apt/preferences .d /cuda-repository-pin-600 wget https: //developer .download.nvidia.com /compute/cuda/11 .4.4 /local_installers/cuda-repo-ubuntu2004-11-4-local_11 .4.4-470.82.01-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu2004-11-4-local_11.4.4-470.82.01-1_amd64.deb sudo apt-key add /var/cuda-repo-ubuntu2004-11-4-local/7fa2af80 .pub sudo apt-get update sudo apt-get -y install cuda-11-4 |
CUDAへのPATH追加
1 2 | export PATH= "/usr/local/cuda/bin:$PATH" export LD_LIBRARY_PATH= "/usr/local/cuda/lib64:$LD_LIBRARY_PATH" |
意図したバージョンがインストールできたか確認
1 | nvcc -V |
cuDNNのインストール
Download cuDNN v8.3.1より前
Runtime LibraryとDeveloper Libraryをインストール
cuDNN Runtime Library for Ubuntu20.04 x86_64 (Deb)
cuDNN Developer Library for Ubuntu20.04 x86_64 (Deb)
1 2 | sudo apt install . /libcudnn8_8 .2.4.15-1+cuda11.4_amd64.deb sudo apt install . /libcudnn8-dev_8 .2.4.15-1+cuda11.4_amd64.deb |
Download cuDNN v8.3.1以降
Download cuDNN v8.3.1以降はLocal Installerという名称に変わっているようです.
1 | sudo apt install ./cudnn-local-repo-ubuntu2004-8.8.1.3_1.0-1_amd64.deb |
検証
TensorflowでGPUの使用
GPUを正常に使用できるかTensorflowを使って検証してみます.
venvでTensorflow用の仮想環境を作成し, そこにTensorflowをインストールします.
1 2 3 4 5 6 7 8 9 | # install venv sudo apt install python3-venv # create virtual environment for tensorflow python3 -m venv tensorflow source tensorflow /bin/activate # install tensorflow pip install tensorflow==2.5.0 |
Tensorflow上でGPUを認識するかテストします.
name: “/device:GPU:0″というようにデバイスとしてGPUが検出されていれば正常にセットアップできています.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # launch python3 python3 # import tensorflow package from tensorflow.python.client import device_lib device_lib.list_local_devices() # example of the result of above commands name: "/device:GPU:0" device_type: "GPU" memory_limit: 9835249664 locality { bus_id: 1 links { } } incarnation: 7579988586530948991 physical_device_desc: "device: 0, name: NVIDIA GeForce RTX 2080 Ti, pci bus id: 0000:01:00.0, compute capability: 7.5" |
おわりに
ハマり出すと2,3日かかってしまうのがGPUの環境構築. この記事でみなさんの環境構築が完了するのを願っています.