TensorFlow-2.0.0 GPU環境の構築 on Ubuntu
はじめに
Tensorflow 2.0.0がリリースされkerasと統合されるなど、ますます便利になった。
そこで、Ubuntu18.04LTSにGPU版のTensorflow 2.0.0を導入するために必要な、GPUドライバのインストールからCUDA、cuDNNのインストール、Tensorflow 2.0.0-gpuのインストールまでの手順を書いていく。
同様の記事をQiitaにも投稿していたが、Qiitaを退会したためこちらに書いておく。
環境
OS:Ubuntu 18.04 LTS GPU:nvidia Geforce GTX1660
GPUドライバのインストール
・パッケージ情報を更新する
パッケージのリポジトリから、パッケージ名、バージョン、依存関係を取得する。
$ sudo apt update
・パッケージの更新
念の為、パッケージを更新しておく。
$ sudo apt upgrade
・利用可能なドライバ一覧を表示
$ ubuntu-drivers devices
GTX1660では以下のような結果が表示された。
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 == modalias : pci:v000010DEd00002184sv00001462sd00008D91bc03sc00i00 vendor : NVIDIA Corporation driver : nvidia-driver-435 - distro non-free recommended driver : nvidia-driver-430 - distro non-free driver : xserver-xorg-video-nouveau - distro free builtin
推奨ドライバであるnvidia-driver-435をインストールする。
・ドライバのインストール
$ sudo apt install nvidia-driver-435
・再起動
$ sudo reboot
再起動することでインストールしたドライバを有効化させる。
CUDAのインストール
・CUDA Toolkitのダウンロード
Tensorflow2.0.0が対応しているCUDA-10.0をインストールする。
下のnvidiaのページからCUDA Toolkit 10.0の.runファイルをダウンロードする。
・CUDA Toolkitのインストール
CUDAをインストールするには、Base Installerをダウンロードして、インストールする必要がある。
今回はPatchもあるため、Base InstallerとPatchをダウンロードた後、Base InstallerとPatchを保存したディレクトリに移動する。
$ cd 保存したディレクトリ
まずBase Installerを実行する。
/保存したディレクトリ$ sudo sh cuda_10.0.130_410.48_linux.run
Dキーを押して先に進み、質問に答える。今回はドライバは先にインストールしているため、ドライバのインストールはnoにする。CUDAのサンプルが必要であれば最後の質問をyesにする。
----------------- Do you accept the previously read EULA? accept/decline/quit: accept Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48? (y)es/(n)o/(q)uit: n Install the CUDA 10.0 Toolkit? (y)es/(n)o/(q)uit: y Enter Toolkit Location [ default is /usr/local/cuda-10.0 ]: /usr/local/cuda-10.0 Do you want to install a symbolic link at /usr/local/cuda? (y)es/(n)o/(q)uit: y Install the CUDA 10.0 Samples? (y)es/(n)o/(q)uit: n =========== = Summary = =========== Driver: Not Selected Toolkit: Installed in /usr/local/cuda-10.0 Samples: Not Selected
次にPatchをインストールする。
/¥保存したディレクトリ$ sudo sh cuda_10.0.130.1_linux.run
こちらも先程と同様、Dキーを押して先に進み、質問に答える。
Do you accept the previously read EULA? accept/decline/quit: accept Enter CUDA Toolkit installation directory [ default is /usr/local/cuda-10.0 ]: /usr/local/cuda-10.0 Installation complete! Installation directory: /usr/local/cuda-10.0
・CUDAのPATHを通す
以下のコマンドを入力する。
$ echo -e "\n## CUDA and cuDNN PATHS" >> ~/.bashrc $ echo "export PATH=/usr/local/cuda-10.0/bin:${PATH}" >> ~/.bashrc $ echo "export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:${LD_LIBRARY_PATH}" >> ~/.bashrc $ source ~/.bashrc
・CUDAインストールの確認
以下のコマンドのCUDAが正しくインストールされたか確認する。
$ nvcc -V
結果
nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2018 NVIDIA Corporation Built on Sat_Aug_25_21:08:01_CDT_2018 Cuda compilation tools, release 10.0, V10.0.130
CUDA10.0がインストールできていることが確認できる。
cuDNNのインストール
・cuDNNのインストール
Tensorflow2.0.0が対応しているcuDNN7.6をインストールする。
下のnvidiaのページからcuDNN7.6の.debファイルをダウンロードする。なおダウンロードには会員登録が必要。
cuDNN Runtime Library for Ubuntu18.04 (Deb)と、cuDNN Developer Library for Ubuntu18.04 (Deb)の両方をダウンロードした後、保存したディレクトリに移動する。
$ cd 保存したディレクトリ
まずランタイムライブラリをインストールする。
/保存したディレクトリ$ sudo dpkg -i libcudnn7_7.6.0.64-1+cuda10.0_amd64.deb
次にディベロッパーライブラリをインストールする。
/保存したディレクトリ$ sudo dpkg -i libcudnn7-dev_7.6.0.64-1+cuda10.0_amd64.deb
・cuDNNインストールの確認
次のコマンドを入力する
$ cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2
結果
#define CUDNN_MAJOR 7 #define CUDNN_MINOR 6 #define CUDNN_PATCHLEVEL 0 -- #define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL) #include "driver_types.h"
上のように表示されればcuDNNは正常にインストールされている。
Tensorflowのインストール
Tensorflowをインストールするためにpipを導入する。最新版のpipがすでにインストールされている環境の場合、curlとpipのインストールは飛ばしてよい。
・curlコマンドのインストール
URLを指定してWEB上のファイルをインストールできるcurlコマンドをインストールする。
$ sudo apt install curl
・pipのインストール
pipがインストールされていない場合、Pythonのパッケージ管理ツールpipをインストールする。Ubuntu18.04LTSを最小構成でインストールしていた場合は、Python2系はインストールされていないためpip3を導入する必要がない。Tensorflow2.0.0をインストールするためにはpipが最新のバージョンである必要があるのだが、Python2の環境がPython3の環境と共存していると、aptでインストールしたpip3をpip3でアップデートした後にエラーが起こるため、Python3のみの環境でTensorflowのインストールをしたほうが手軽。
以下のコマンドでpipをインストールするためのPythonコードをダウンロードし、プログラムを実行する。
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py $ sudo python3 get-pip.py
これでpipのインストールは完了。
・pipのバージョン確認
下のコマンドでpipのバージョンを確認できる。
$ pip -V pip 19.3.1 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
pipのバージョンが19.0未満の場合tensorflow-2.0.0をpip installすることができないためアップグレードする。
$ pip install --upgrade pip
・Tensorflow2.0.0-GPUのインストール
Tensorflow2.0.0-GPUをインストールする。
以下のコマンドを入力。
$ pip install tensorflow-gpu==2.0.0
以上でtensorflow-gpu==2.0.0のインストールが完了する。
お疲れ様でした!!
楽しいTensorflow2.0.0-GPU lifeを送ってください!