ざっと検索した通りに入れるとtensorflow-cpuがインストールされてしまって,kerasがgpu使うのか心配だったので.
anacondaの場合導入は簡単.
なおanaconda3-4.4.0を使っている.
pyenv派で,pythonはpython3.6,pipはpip3を指す環境下で実行しているため注意.
pipは9.0.1から上げてない.
CUDAを入れる
まずtensorflowのバージョンを決めて,対応するCUDAとcuDNNのバージョンを決める.
とりあえず普通に最新のものを入れればよかろうということで
conda search tensorflow-gpu
一番下に出てくる数字のデカいのが入る.今なら1.7.0.
ここでリリースノートを見る.
https://github.com/tensorflow/tensorflow/releases/tag/v1.7.0
Deprecations
- TensorFlow 1.7 may be the last time we support Cuda versions below 8.0.
Starting with TensorFlow 1.8 release, 8.0 will be the minimum supported
version.
- TensorFlow 1.7 may be the last time we support cuDNN versions below 6.0.
Starting with TensorFlow 1.8 release, 6.0 will be the minimum supported
version.
CUDA 8.0以降ならよさそう.
ubuntuでcudaを入れる.
deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64 /
よくapt-keyを入れろとかあるけど,毎回警告が出ることが煩わしくなければ入れなくて良い.
インストール
sudo apt-get update
sudo apt-get upgrade # 必要なら
sudo apt-cache search cuda # 記事の時点ではcuda-9-1が最新
sudo apt-get install cuda-9-1
cuDNNインストール
実は,先にhttps://developer.nvidia.com/rdp/cudnn-downloadから
- cuDNN v7.1.3 Runtime Library for Ubuntu16.04 (Deb)
- cuDNN v7.1.3 Developer Library for Ubuntu16.04 (Deb)
- cuDNN v7.1.3 Code Samples and User Guide for Ubuntu16.04 (Deb)
を入れちゃったからよく分からんが,conda install tensorflow-gpuでもcuDNNが入る.(記事の時点では7.1.2)
debファイルは sudo dpkg -i で上から順に入れればOK.
誰かこれから入れる人がいたらcuDNNを入れずに次の手順をやって,動くかどうか確かめてくれると嬉しい.
(ここでsudo ld-configしてたら,わざわざ入らなかったのかな…今更わからん)
tensorflowのインストール
tensorflowはcpu版とgpu版があって,選択して入れないといけない.
両方入れることもできるかも知れないけど,どっちが使われているか分からなくなりそうなので試してない.
conda install tensorflow-gpu
# ここでcuDNNがまた入った.こっちは7.1.2
kerasのインストール
kerasも,gpu版が別にある.
ざっと検索するとpip install kerasとか書かれているけど,keras-gpuとしないとtensorflow (無印)を入れようとしてくるので,keras-gpuを指定した.
conda install keras-gpu
ちなみにimport文には-gpu
はいらない.