- 投稿日:2019-12-23T19:13:16+09:00
【Ubuntu18.04】Tensorflow2.0.0-GPU環境構築
はじめに
Tensorflow 2.0.0がリリースされkerasと統合されるなど、ますます便利になった。
そこで、Ubuntu18.04LTSにGPU版のTensorflow 2.0.0を導入するために必要な、GPUドライバのインストールからCUDA、cuDNNのインストール、Tensorflow 2.0.0-gpuのインストールまでの手順を書いていく。環境
OS:Ubuntu 18.04 LTS
GPU:nvidia Geforce GTX1660GPUドライバのインストール
・パッケージ情報を更新する
パッケージのリポジトリから、パッケージ名、バージョン、依存関係を取得する。$ sudo apt update・パッケージの更新
念の為、パッケージを更新しておく。$ sudo apt upgrade・利用可能なドライバ一覧を表示
$ ubuntu-drivers deviceseGTX1660では以下のような結果が表示された。
== /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のインストール
Tensorflow2.0.0が対応しているCUDA-10.0をインストールする。
・CUDA Toolkitのダウンロード
下のnvidiaのページからCUDA Toolkit 10.0の.runファイルをダウンロードする。
CUDA Toolkit 10.0 Archive
https://developer.nvidia.com/cuda-10.0-download-archive
・CUDA Toolkitのインストール
CUDAをインストールするには、Base Installerをダウンロードして、インストールする必要がある。今回はPatchもあるため、Base InstallerとPatchをダウンロードた後、Base InstallerとPatchを保存したディレクトリに移動する。$ cd 保存したディレクトリまずBase Installerを実行する。
/保存したディレクトリ$ sudo sh cuda_10.0.130_410.48_linux.runDキーを押して先に進み、質問に答える。今回はドライバは先にインストールしているため、ドライバのインストールは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.130CUDA10.0がインストールできていることが確認できる。
cuDNNのインストール
Tensorflow2.0.0が対応しているcuDNN7.6をインストールする。
・cuDNNのインストール
下のnvidiaのページからcuDNN7.6の.debファイルをダウンロードする。なおダウンロードには会員登録が必要。
Download cuDNN v7.6.0 (May 20, 2019), for CUDA 10.0
https://developer.nvidia.com/rdp/cudnn-archive
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のインストール
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 -V pip 19.3.1 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)pipのバージョンが19.0未満の場合以下のコマンドを入力する。
$ pip install --upgrade pip・setuptoolsのアップグレード
下のコマンドでsetuptoolsをアップグレードする。$ pip install setuptools --upgrade・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を送ってください!
- 投稿日:2019-12-23T17:05:50+09:00
強化学習42 Colaboratory+CartPole+tensorflow 見せてもらおうかtensorflowの新兵器とやらを
中学生から大学生までのAI初学者を対象にしています。
強化学習28を行っていることが前提です。tensorflowの強化学習版は
tensorflow/agentsです。
githubはこちらこの中にチュートリアルがあるので、そちらをやります。
CartPole をDQNでやるのが、チュートリアル1にありました。
colaboratoryのノートブックを開くからgithub経由で開きます。
そのまま実行すれば、すくすく進みます。
数分で終わります。2日後に追記です。
chainerは、define by runです。この流れをくんで、pytorchもdefine by run。
tensorflowはver1.0がdefine and run、 ver 2.0がdefine by run。
このあたりの説明は、ググってください。
初心者に優しいのは、define by runです。
define and runは、めげました。強化学習には向いていない。ゲームごとの特徴を、いちいち細かく設定しなければならなくなります。
tensorflowで強化学習するならば、ver2.0以降ということになります。
ところが、googleは頑張っていますが、ver1.0と2.0が絶壁のように違うみたいで、ソースコードを読んでもひどいことになります。
tensorflowの可読性は悪いようなので、2日でめげました。chokozainer的に何もできない。
なので、tensorflowは大きな理由がなければ、2021年以降に再勉強しようかと思っています。そもそも、tensorflowをやろうとしたのは、tensorflow.jsの存在があるからです。
同様のものはONNX.jsでできそうなので、そちらを使ってみようかと思います。