実施環境
Ubuntu 18.04 LTS 日本語 Remix
NVIDIA Geforce GTX 1080
参考にしたサイト
基本的にこれにそってセットアップしました。
https://qiita.com/sho8e69/items/66c1662c49ac89a024be
https://medium.com/intro-to-artificial-intelligence/install-tensorflow-gpu-on-ubuntu18-04-ff311a8bd4d6
セキュアブートの無効化
元からセキュアブートが無効になっていたので割愛nouveauの停止
Nvidia driverのインストール
サイトの通りに実行したら出来たので割愛
CUDAとcuDNNのインストール
Software requirements
The following NVIDIA® software must be installed on your system:
1. NVIDIA® GPU drivers — CUDA 9.0 requires 384.x or higher.
2. CUDA® Toolkit — TensorFlow supports CUDA 9.0.
3. (CUPTI ships with the CUDA Toolkit.)
4. cuDNN SDK (>= 7.2)
11/28現在最新版のTensorflow 1.12.0は、CUDA9.0にしか対応してないので、CUDA9.0をインストールしました。cuDNNは最新版をインストールしました。
CUDA 9.0 のインストール
上記のファイルをダウンロードしたら、以下のコマンドでインストールします。
cd Downloads
sudo chmod +x cuda_9.0.176_384.81_linux.run
sudo chmod +x cuda_9.0.176.1_linux.run
sudo chmod +x cuda_9.0.176.2_linux.run
sudo chmod +x cuda_9.0.176.3_linux.run
sudo chmod +x cuda_9.0.176.4_linux.run
./cuda_9.0.176_384.81_linux.run
./cuda_9.0.176.1_linux.run
./cuda_9.0.176.2_linux.run
./cuda_9.0.176.3_linux.run
./cuda_9.0.176.4_linux.run
cuDNN のインストール
cuDNN 7.4.1[Nov 8, 2018] for CUDA 9.0
会員登録してダウンロードし、以下のコマンドでインストールします。
tar xzvf cudnn-9.0-linux-x64-v7.4.1.5.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
PATHの設定
cd
nano ~/.bashrc
.bashrcにライブラリのPATHを書き込みます。
## CUDA and cuDNN paths
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
export PATH="$PATH:/usr/local/cuda/bin"
PATHの更新を行います。
source ~/.bashrc
pipenvのインストール
python3-pip のインストール
How to install Pip on Ubuntu 18.04
sudo apt update
sudo apt install python3-pip
pipをアップデートしてしまいエラーが出た場合
pip3コマンド自体のインストール
間違えて、pip3 install --upgrade pipを実行してしまいエラーで使えなくなってしまったので、備忘録として書いておきます。
# pip3コマンドがエラーで使えなくなったら
$ pip3 --version
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
from pip import main
ImportError: cannot import name 'main'
# 再インストール
sudo python3 -m pip uninstall pip
sudo apt install python3-pip --reinstall
pipenv のインストール
cd
sudo pip3 install pipenv
pipenvの仮想環境の作成先の変更
Pipenvで仮想環境をプロジェクトディレクトリの下に作る
.bashrcに以下を追記。
export PIPENV_VENV_IN_PROJECT=true
新規のpython環境の構築とtensorflow-gpuの導入
cd Documents
mkdir tensorflow; cd $_
pipenv --python 3.6 # 3.6.7をインストール
pipenv install tensorflow-gpu
テスト
touch test.py
nano $_
下記のテスト用コードを test.py に書き込みます。
import tensorflow as tf
hello = tf.constant('Hello there!')
print(sess.run(hello))
実行してみます。
pipenv run python test.py
'/device:GPU:0'
エラーが表示されず、このように表示されればOKです。