20191223のTensorFlowに関する記事は2件です。

【Ubuntu18.04】Tensorflow2.0.0-GPU環境構築

はじめに

index.png
 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 GTX1660

GPUドライバのインストール

・パッケージ情報を更新する
 パッケージのリポジトリから、パッケージ名、バージョン、依存関係を取得する。

$ sudo apt update

・パッケージの更新
 念の為、パッケージを更新しておく。

$ sudo apt upgrade

・利用可能なドライバ一覧を表示

$ ubuntu-drivers devicese

 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のインストール

 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
Screenshot from 2019-12-23 17-40-47.png
・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のインストール

 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
Screenshot from 2019-12-23 18-15-22.png
 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を送ってください!

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

強化学習42 Colaboratory+CartPole+tensorflow 見せてもらおうかtensorflowの新兵器とやらを

中学生から大学生までのAI初学者を対象にしています。
強化学習28を行っていることが前提です。

tensorflowの強化学習版は
tensorflow/agentsです。
githubはこちら

この中にチュートリアルがあるので、そちらをやります。
CartPole をDQNでやるのが、チュートリアル1にありました。
colaboratoryのノートブックを開くからgithub経由で開きます。
tensorflow.png

そのまま実行すれば、すくすく進みます。
数分で終わります。

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でできそうなので、そちらを使ってみようかと思います。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む