ArtNeural 汎用人工知能の創り方

TensorFlow r0.9 (GPU版)を ubuntu16.04 にインストール


TensorFlowを試してみるための環境を構築する。

GALLERIA XTを購入

ドスパラでGALLERIA XT (2016/6)を購入。
とりあえず、ランキングトップになっている無難なところのスペックのものを選択。

OS  :Windows 10 Pro 64bit のインストール(標準構成から変更)
CPU   :インテル Core i7-6700
メモリ :16GB
HDD   :480GB SSD + 2TB HDD + 2TB HDD(標準構成に追加=>Ubuntu用に)
GPU   :NVIDIA GeForce GTX960 2GB

Ubuntuのインストール 16.04

日本語版のものをダウンロード
https://www.ubuntulinux.jp/download/ja-remix

ubuntu-ja-16.04-desktop-amd64.iso(ISOイメージ)
http://cdimage.ubuntulinux.jp/releases/16.04/ubuntu-ja-16.04-desktop-amd64.iso

上記、ダウンロードしたISOイメージをDVDに焼く。

GALLERIAを起動字にF2でBOOTでDVDを選択。
2つめのHDDにUbuntuをインストール。
(一応、SSDはそのままWindowsを残しておく)

Ubuntuでの前準備

インストール後の設定。そのままだとネットにつながったりつながらなかったりしたため、DNSの設定

sudo vi /etc/resolvconf/resolv.conf.d/head

nameserver 8.8.8.8

sudo resolvconf -u

と、各種アップグレード

sudo apt update
sudo apt upgrade

 
CUDAのインストール

sudo apt install nvidia-cuda-toolkit nvidia-361

==> Configuring Secure Boot
Your system has UEFI Secure Boot enabled. UEFI Secure Boot is not compatible with the use of third-party drivers.

と表示される。「はい」を選択する。パスワード設定が2回ほど求められる。
その後再起動。

sudo reboot

ただ、このまま再起動するとGUIからはログインできないような状態になってしまう模様。
そのため、再起動時にF2から BOOTの設定で UEFIのモードを OtherOS に設定を変更して再起動を実施するとnvidiaのドライバーを認識して起動できる模様。

※NVIDIAのサイトから最新のドライバをダウンロードしてインストールする形でも動作すると思われるが、今回はパッケージからインストールしている。
※GUIを停止してインストールするなどいくつか方法があるのかもしれない。

cuDNN V4 のインストール

 https://developer.nvidia.com/cudnn
 からダウンロード。参考にしたブログなどには登録まで1、2日かかると書かれていたが、私が試した時点ではすぐに登録が完了できた。

で、V4をダウンロードしてインストール
cuDNN v4 Library for Linux
※最新は、5.1だったがTensorFlowの指定のあるv4をインストール(5.1でも動きそうな気はする)

ダウンロードしたファイル ホームに設置して解答し、各ディレクトリに配置。

tar zxvf cudnn-7.0-linux-x64-v4.0-prod.tgz
sudo cp -a cuda/lib64/* /usr/local/lib/
sudo cp -a cuda/include/* /usr/local/include/
sudo ldconfig

 Tensorflowのインストール

python3で利用。pipのインストールとupgradeを行ってから、tensorflowをインストール。

sudo apt-get install python3-pip
sudo pip3 install --upgrade pip
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.9.0-cp35-cp35m-linux_x86_64.whl
sudo pip3 install --upgrade $TF_BINARY_URL

動作確認

python3

 太字が入力した部分です。

>>> import tensorflow as tf
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcuda.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcurand.so locally

⇒CUDAが認識されてそう。

>>> hello = tf.constant(‘Hello, TensorFlow!’)
>>> sess=tf.Session()
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:924] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_init.cc:102] Found device 0 with properties:
name: GeForce GTX 960
major: 5 minor: 2 memoryClockRate (GHz) 1.1775
pciBusID 0000:01:00.0
Total memory: 2.00GiB
Free memory: 1.76GiB
I tensorflow/core/common_runtime/gpu/gpu_init.cc:126] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_init.cc:136] 0:   Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:806] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 960, pci bus id: 0000:01:00.0)

⇒GPUが認識されてそう。

>>> quit()

参考としたサイト)
http://qiita.com/yukoba/items/3692f1cb677b2383c983