Windows10でGPUを使うTensorFlow環境構築

#WindowsでGPUを使うTensorFlow環境構築
Anacondaとspyderを使ってTensorFlowをPythonで動かす環境を構築しました
基本的には以下を参考にしています
[知的好奇心 Windows 10でtensorflow-gpuを使う方法](https://intellectual-curiosity.tokyo/2019/06/17/windows-10%E3%81%A7tensorflow-gpu%E3%82%92%E4%BD%BF%E3%81%86%E6%96%B9%E6%B3%95/)
## PC環境
- Windows10(64bit)
- GeForce GTX1070

## 使うもの
- Anaconda(Python3.6)
- CUDA Toolkit 10.0
- cuDNN v7.6.0
- Tensorflow-gpu 1.13.1
- VisualStudio2019※

※[参考にしたページ](https://www.kkaneko.jp/tools/win/cuda.html)で使用しているのでインストールしましたが、開発には使っていません

##環境設定時の注意事項
各パッケージのバージョンによって、GPUを認識しない場合があります。
[この表](https://www.tensorflow.org/install/source#gpu)から必ずインストールするバージョンを確認してください


##Anacondaのインストール
1. [Anacondaダウンロードページ](https://www.anaconda.com/products/individual)
からPython3.7Windowsインストーラをダウンロードする
2. インストーラを起動し,規約の同意とインストール先を指定し,インストール

参考: [Pythonjapan Windows 版のインストール](https://www.python.jp/install/anaconda/windows/install.html)

##Cuda Toolkitのインストール
[このページ](https://www.kkaneko.jp/tools/win/cuda.html)を参考にしています
事前にMicrosoftVisualStudioをインストールする必要があります。
1. [CUDAのインストールページ](https://developer.nvidia.com/cuda-toolkit-archive)からToolkitをダウンロード
    - CUDA Toolkit 10.0 をクリックし, [Windows]-[x86-64]-[10]を選択
(最後のversionはWindowsのバージョンです)
※ "自分の導入するバージョンを[こちら](https://www.tensorflow.org/install/source#gpu)で必ず確認してください"
2. ダウンロードしたインストーラからインストール
    - 規約に同意し,インストール先を選択
    - カスタムオプションを選択
    - インストーラに従ってインストール(基本"次へ"で問題ないと思います)
3. 環境変数の確認
    - コントロールパネル → システムとセキュリティ→ システム → システムの詳細設定 から環境変数を選択
    - システム環境変数に以下があることを確認する
    CUDA_PATH : C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
    - またユーザ環境変数のPathの値に以下があることも確認する
    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\CUPTI\lib64
4. コマンドプロンプトで　where nvcc　が通るか確認
    正しくインストールできていればcudaのexeファイルのパスが表示される
##cuDNNのインストール
1. ファイルのダウンロード
    - [ダウンロードページ](https://developer.nvidia.com/rdp/cudnn-archive)へ移動する
    - Nvidia Developerへの会員登録を要求されるので,登録
    - 再度ダウンロードページにアクセスし,自分の導入するバージョンをダウンロードする
2. ダウンロードファイルの適応
    - Zipファイルがダウンロードされるので,展開ソフトで展開する
    - CUDAをインストールしたフォルダ(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0)に同じフォルダがあるのでダウンロードしたフォルダをCUDAにコピーする
    - システム環境変数に以下を追加する
    CUDNN_PATH : C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0

##tensorflow-gpuをインストール
[このページ](http://tecsingularity.com/cuda/tensorflowenv/)を参考にしています
cpuを使うtensorflowとtensorflow-gpuが競合したり,バージョンによる互換があるので、仮想環境を構築することをお勧めします
1. Anacondaの仮想環境を作成する
- anacondaPromptを開いて,コマンドで仮想環境を構築
- 
```
> conda create -n [環境名] python=3.6 anaconda
> activate [環境名]
```

2. 作成した仮想環境にtensorflow-gpuをインストール
以下のコマンドを実行する 
    - [version]は自分の導入するバージョンを記入する

```
> pip install tensorflow-gpu==[version]
```
3 . テスト
以下のコマンドを実行し,spyderを起動する

```
> spyder
```
Spyder上で以下を実行する

```
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
```
出力の下部分に device_type: "GPU" が表示されていたら成功

##参考
知的好奇心 Windows 10でtensorflow-gpuを使う方法 : https://intellectual-curiosity.tokyo/2019/06/17/windows-10%E3%81%A7tensorflow-gpu%E3%82%92%E4%BD%BF%E3%81%86%E6%96%B9%E6%B3%95/

Pythonjapan Windows 版のインストール : https://www.python.jp/install/anaconda/windows/install.html
NVIDIA CUDA ツールキット 10.1 のインストール（Windows 上）: https://www.kkaneko.jp/tools/win/cuda.html
GPU版TensorFlow環境構築(Windows 10) : http://tecsingularity.com/cuda/tensorflowenv/