予想外の詰まり方をしたのでメモ。
基本的には公式の手順+CUDAです。
とにかくバージョンの互換性がなかった。
まずPythonが必要ですがインストール済みでした。
$python --version
>Python 2.7.5
pip3が使えないのでバージョン3に更新します。
https://www.python.org/ から3.6.5をインストール。
せっかく良いGPUを積んでるのでこっちを使ってみたい。
$pip3 install --upgrade tensorflow-gpu
どうもGPUが動くのは3.5だけみたいです(issue)。
面倒なのでCPUの方にしてみるも同じエラー。
ここでしばらく詰まったけど動いた人のPythonバージョンが同じことに気づいた。
公式手順をよく見ると3.5.xと書きながらも特定バージョンを指定している。
というわけで”3.5.2“を入れなおしたらすんなりインストールできました。
ついでにテストコードを試そうと思ったらCUDAを忘れてて怒られる。
NVIDIAからインストール。こんなに簡単だったっけってくらいスムーズにできた。
ライブラリのcuDNNもダウンロード。こっちはアカウントが必要です。
「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1」内の同じ階層にライブラリを移動します。
…
ImportError: Could not find ‘cudart64_90.dll’
はい、またバージョンです。
CUDA9.0をインストールしなおしてcuDNNも入れ直します。
これでやっと動くようになりました。
結果だけ見ると大したことしてないのにすごく疲れた。
マイナーバージョンまで気を使わないといけないので、今回使用したバージョンをまとめておきます。
- OS: Windows10
- Python: 3.5.2
- TensorFlow: 1.7
- Cuda: 9.0
- cuDDN:
7.1.27.0.5 for 9.0
無駄に時間がかかったので当初なにをしたかったのか忘れてしまった。
追記
cuDNNが最新だと不具合があったがアーカイブからv7.0.5に置き換えたら解決した。