茱萸note

電子工作の備忘録と旅行の記録

OS Ubuntu 電子工作

【Ubuntu】NVIDIAドライバ・CUDA・CUDNNをインストールして深層学習環境を整える

投稿日:2020年4月27日 更新日:

Ubuntuで Nvidiaドライバ、CUDA、CUDNN をインストールし深層学習環境を整える方法を説明します。


目次


更新履歴


はじめに

  • Nvidia GPU 搭載のPCを前提にしています
  • Ubuntu のインストールは済んでいると仮定します

CUDAのバージョンを決める

はじめに、インストールするCUDAのバージョンを決める必要があります。

  • TensorFlowの場合、以下のサイトに TensorFlowのバージョンとCUDAバージョンのテスト済み対応表があります。これを参考に、CUDAのバージョンを決めると良いと思います。
    https://www.tensorflow.org/install/source?hl=ja#gpu
「最新の TensorFlow 2.1.0 と CUDA 10.1 の組み合わせが良さそうだな」
  • PyTorchの場合、以下のサイトの『QUICK START LOCALLY』で、CUDAの使用可能なバージョンを知ることができます。
    https://pytorch.org/
「CUDA 10.2 で良さそうだな」

コンソールモードに切り替える

Ctrl + Alt + F4 を押して、コンソールモードに切り替えます。Ctrl + Alt + F1 かも知れません。

ユーザー名の入力とパスワードの入力を要求されるので、そのとおりにして下さい。

次に、以下のコマンドを実行して GUI サービスを止めます。

bash💩sudo /etc/init.d/gdm3 stop

Ubuntu 16.04 の場合は、 代わりに sudo systemctl stop lightdm を実行すれば良かった気がします。

NvidiaドライバやCUDAが既にインストールされていたら消す

Nvidiaドライバ・CUDA を再インストールしたい人は、次のコマンドで抹殺します。

sudo apt purge nvidia-* 
sudo apt purge cuda-*
sudo apt autoremove --purge

CUDAとNvidiaドライバをインストールする

CUDA をインストールする際に、Nvidia ドライバもインストールされる(既にインストールされているNvidiaドライバがあれば更新される)ので、Nvidia ドライバを事前にインストールする必要は無いと思います。

CUDAのダウンロードサイトを開きます。
https://developer.nvidia.com/cuda-downloads

『Linux』『x86_64』『Ubuntu』『18.04 or 16.04』『deb (network)』の順に選択します。ちなみに、『CUDA Toolkit 10.2 Download』となっていますが、この方法だと古いバージョンもインストールできます。

表示されるコマンドを一行ずつ実行していくのですが、最終行の sudo apt-get install -y cuda は実行しないでください。代わりに、

sudo apt install cuda-NN-M

を実行します。CUDA 10.1 をインストールするのであれば、 sudo apt install cuda-10-1 、 CUDA 10.2 なら sudo apt install cuda-10-2 です。

ダウンロードとインストールに数十分かかるので気長に待ちます。

これで、NVIDIAドライバとCUDAがインストールされるはずです。次の作業に移ります。

nouveauを無効化する

/etc/modprobe.d/ フォルダ内に blacklist-nouveau.conf という名のファイルを作成します。

sudo nano /etc/modprobe.d/blacklist-nouveau.conf

エディタは nano でなくても vim でも構いません。emacs でも良いですが、僕とは友達になれないでしょう。

中身は次のとおりです。

blacklist nouveau
options nouveau modeset=0

nano なら、Ctrl + X で保存、ファイル名が blacklist-nouveau.conf になってる事を確認して Enterを押します。

ファイルが作れたら、次のコマンドを入力して下さい。

sudo update-initramfs -u

以上でNvidiaドライバとCUDAのインストールは終了です。Ubuntuを sudo reboot で再起動させ、OS選択画面が出たら『Ubuntu』を選択してEnterを押せばきれいに画面が表示されているはずです。

【注意】過去に .run ファイルでドライバインストールを試みた経験がある場合

.run ファイルでドライバインストールをすると、/etc/modprobe.d/ フォルダ内に blacklist-nvidia-nouveau.conf ?があると思います。↑の作業をする前に、このファイルを予め消しておかないと、バグるっぽいです。

sudo rm /etc/modprobe.d/blacklist-nvidia-nouveau.conf

【追記】LightDMをインストールする

Ubuntu 18以降をインストールするとディスプレイマネージャーとしてGDM3が使用されるのですが、これがNvidiaのドライバと相性が悪いのかログイン画面が正常に表示されないことがあります。LightDMというものに切り替えりると治ることがあります。

sudo apt install lightdm

GDM3とLightDMの選択画面が現れるので、LightDMを選択します。

CUDNNをインストールする

CUDNNをダウンロードします。Nvidiaにユーザー登録する必要があるのでして下さい。
https://developer.nvidia.com/rdp/cudnn-download

インストールした CUDA のバージョンによって、ダウンロードするファイルが違います。

なお、最新版の CUDNN ではなく古いCUDNNがほしければ『Archived cuDNN Releases』をクリックすればダウンロードできる気がします。

RuntimeとDeveloper Libraryをダウンロードします。Code Sampleは要るのか分かりませんが一応ダウンロードすることにします。

CUDNNをインストールします。ダウンロードした .deb ファイルが保存されているディレクトリで、次のコマンドでインストールします。

sudo apt install ./libcudnn*

これでダウンロードした3つ(2つ?)の .deb ファイルをまとめてインストールできます。

.bashrc でパスを追加する

以下を ~/.bashrc に追記します。 ~/.bash_profile に書く派も居るようですが、 ~/.bashrc に追記する人のほうが多数派な気がします。

export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"

以上で CUDAとCUDNNのインストール作業は終了です。

virtualenv や pyenv を入れる

別記事にまとめます。

-電子工作
-, ,


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【上級者向け】Ubuntuをデュアルブートする《その2:USBメモリ・外付けHDDにUbuntuを入れる》

WindowsとUbuntuでデュアルブートさせたいけど、Ubuntuは空っぽのUSBメモリ・外付けHDDに入れたい人向けの説明です。(超)上級者向け。

ESP8266 で AES-CBC PKCS#7 Padding による暗号化・復号

ESP8266 で AES アルゴリズム・CBC モード・PKCS7 パディング の暗号化・復号化をする方法を述べます。

Windows 10 で OpenSSH サーバーを使う

Windows 10 で OpenSSH サーバーを立ち上げて、外部から SSH ログインできるようにします。

Raspberry Pi をスマートリモコン化! Alexa で部屋の照明を操作する【Alexa×Raspberry Pi その2】

Raspberry Pi に赤外線LED・赤外線受光モジュールを付けて、Raspberry Pi を学習リモコン・スマートリモコン化します。そして、Raspberry Pi を AWS IoT 連携させて Alexa で部屋の照明を操作します。

Alexa で ESP8266 を制御する ―― プログラムの解説編【Alexa×Arduino その3】

Alexa で ESP8266 を制御するプログラムの解説です。