Geforce付きのWindowsPCにサクっとTensorFlow-GPUなAnaconda環境を構築するメモ

主に自分のメモ用途。

Jupyter Labやらpython環境やら

Anaconda navigator の64bit版をインストールし、起動する

ダッシュボードの “Applications on ~” の箇所がbaseしかないので、用途によってここが増えるようにする(Environments → create)

Anaconda promptを開く

> conda env list
> conda activate ○○ #さっき作った環境名

ここから必要なパッケージをインストールする、基本的にはpipで依存関係を構築する

> python -m pip install --upgrade pip
> pip install -U pandas
> pip install -U dask
> pip install -U matplotlib
> pip install -U tensorflow-gpu #GPU版じゃないならtensorflow

※pipで入るtensorflow-gpuに関してはCUDAのバージョンが指定されているので、先にtensorflow-gpuを入れてCUDAの要求バージョンを確認するのが良い。

> import tensorflow as tf
> tf.__version__

ここのログを見る。たぶん9.0とか書いてあったら、CUDA 9.0 と 対応バージョンの cuDNN を入れてくださいという意味。

CUDAのインストール

ここから環境にあったCUDAのインストーラをダウンロードする。パッチもついでに落としておくと◎

CUDA Toolkit 9.0 Downloads | NVIDIA Developer

インストールする際、Visual Studio Integrationとか無視してランタイムだけ入れる。
一説だと「Visual Studio入れてないと動かへんでw」って声もあるけど大丈夫だった。

ついでにcuDNNも必要になるので、落とす。

cuDNN Archive | NVIDIA Developer

最新版のcuDNNはNDIVIAのユーザー登録が必要だけれど、まあ一回入れて動かなかったらバージョン変えてみるくらいのスタンスで良い気がする
(cuDNNはインストーラ形式ではないので、導入したCUDAと同じフォルダに上書きで突っ込んであげる)

CUDAとcuDNNの導入が終わったら、端末を再起動する(CUDAのパスが通ってないので)

再起動後、pythonで次のコマンドを打ってエラーが出ない事を確認する。

>>> import tensorflow as tf
>>> print(tf.__version__)
1.9.0

matplotlibのグラフが出ない時

これはCondaで導入したら起こらない問題かもしれない。

> ipython profile create
$ vim /mnt/c/Users/○○/.ipython/profile_defa
ult/ipython_config.py #vim使うためにWSLで入る

ここで32行目くらいの c.InteractiveShellApp.exec_lines = [] のコメントアウトを削除し、次のように書き換える

c.InteractiveShellApp.exec_lines = ['%matplotlib inline']

これで毎回 %matplotlib inline せずに済む。

おまけ

素のAnaconda環境+Windows+jupyterLabをVim化+黒背景

conda install nodejs

jupyter labextension install jupyterlab_vim