ys memos

Blog

UbuntuにtensorflowのGPU環境をセットアップ


ubuntu

2020/10/29

UBUNTU20.04LTSにTensorflowのGPU環境をセットアップしました。 備忘録として記します。 また、Ubuntu20.04ではPython2系は無く、ただpythonとした時はPython3系を指すという点に注意してください。


Ubuntuの日本語版RemixをインストールしてPythonやpipはaptからインストールした。 また、tensorflow-gpuのバージョンについて、pipから特に明記せずにインストールされるものを導入することにした(2020-10-29時点)。 pipが更新されている場合は、pip install tensorflow-gpu==2.3.1のようにバージョンを明記することでインストールできる。

<Machine>
	AMD Ryzen 3600X
	NVIDIA GeForce 2070 SUPER

<OS>
	Ubuntu 20.04 LTS

<Software>
	Python 3.8.5
	pip 20.0.2 (python 3.8)

<Package>
	tensorflow-gpu 2.3.1

tensorflow-gpuには、CUDAおよびcuDNNのバージョンを考慮する必要があるため、最初は導入が難しく感じる。 しかし、ここではtensorflowに記載されている依存バージョンに合わせてインストールすると良い。

tensorflowの公式ドキュメントで依存関係を確認する。それにより、以下のバージョンをインストールすると良いことがわかった。

cuDNN 7.6
CUDA 10.1

これらのバージョンはUbuntu20.04LTS向けのものが存在せず、Ubuntu18.04LTS向けのものをインストールした。現時点でエラーは起こっていないが将来問題が発生する可能性もある。


ここは楽をしてpipからインストールしてしまう。

$ pip install tensorflow-gpu

また、GPUが利用可能か否かは、以下のpythonコマンドで確認可能。 末尾にTrueFalseが出力されており、Trueであれば環境構築成功といえる。

import tensorflow as tf
tf.test.is_gpu_available ()

OSセットアップ時にインストールされているものとして省略。


公式ダウンロードページを開き、以下の順で選択する。

Linux > x86_64 > Ubuntu > 18.04 > deb [local]

Download Installer ... x86_64内にあるDownloadをクリックし、\*.debファイルをダウンロード。 同枠内に記述してあるインストール手順通りにしてもよいが、面倒なのでUbuntu Softwareによってインストールした。 Filesから\*.debをクリックしてInstallボタンをクリックするとインストールしてくれる。


公式ダウンロードページで該当するバージョンのcuDNNを探してダウンロードする。

最初に表示される文には含まれていないので、過去に遡る必要がある。そのために、Archived cuDNN Releaseをクリック。 Download cuDNN v7.6.X ..., for CUDA 10.1をクリックしてプルダウンを表示。

Library for ..., Ubuntu ...内にある該当\*.debファイルをダウンロードする。 必須なものが以下。サンプルは必要に応じてダウンロード。

cuDNN Runtime Library for Ubuntu 18.04 [Deb]
cuDNN Developer Library for Ubuntu 18.04 [Deb]

CUDA同様、Filesでクリックしてインストールする。このとき、Runtime LibraryがインストールされていないとDeveloper Libraryが依存エラーになるので順番に注意。


前述したGPU利用可否を確認したところ、Falseとなっていたが、足りないものは Could not load dynamic library <package-name>のように表示されている。

$ sudo apt install libcudart10.1
$ sudo apt install libcublas10
$ sudo apt install libcufft10
$ sudo apt install libcurand10
$ sudo apt install libcusolver10
$ sudo apt install libcusparse10

私の環境では以上でGPUが利用可能になった。

関連タグを探す