機械学習知識ゼロの囲碁キチが3か月で囲碁AIを作った話　～導入編～

## **前回まで**
[機械学習知識ゼロの囲碁キチが3か月で囲碁AIを作った話 ～概要編～](https://qiita.com/intenseG/items/2fe5f867b0afe439fc6b)

## **対象**
- Windowsパソコンであること(LinuxやUbuntuはまだ知識が浅いので保留)
- ファイル操作の基本(ファイル移動、zip解凍など)が分かる
- インターネットを問題なく使える(検索、ファイルダウンロードなど)
- プログラミングを少しでもやったことがある(やったことがなくてもやる気があればOK！)

**「GPU使って高速学習したい！」**という場合はCUDAとcuDNNの導入が必要[*1](#補足情報)になってくるため、難易度が一気に跳ね上がります。

そのため、GPUを使うものには目印として**[玄人]**をつけています。

## **環境**
Windows10 Home 64bit

Core i7-8700K

NVIDIA GeForce GTX 1070


Python 3.6.6

Anaconda 3-5.1.0

tensorFlow 1.7.0

**[玄人]** tensorflow-gpu 1.7.0

Visual Studio Code 1.25.1

CUDA 9.0

cuDNN 7.0.5

## **概要**
まず、囲碁AIを作るためには、開発に必要なツールやライブラリ(ライブラリが何のことなのか分からない方は[こちら](https://wa3.i-3-i.info/word1473.html))を導入して環境構築をする必要があります。

ただ、環境構築するとディスク容量を余裕で数GB持っていかれるので、ディスク容量に余裕があるかを前もって確認しておいたほうがいいかもしれないです。

それでは早速、環境構築方法を解説していきます！

# **環境構築**
## **手順**
1. Anacondaのインストール
2. Visual Studio Codeのインストール(任意)
3. **[玄人]** CUDAとcuDNNのインストール & GPUが実行可能か確認
4. 仮想環境の構築
5. TensorFlowのインストール

## **Anacondaのインストール**
[Anacondaのダウンロードサイト](https://www.anaconda.com/download/)から、Python 3.6の最新(Anaconda3-5.2.0-Windows-x86_64.exe)をダウンロードしてきます。

Visual Studio CodeもAnacondaのインストーラについてくるので、他にお気に入りのエディタがあるわけでなければ一緒にインストールしてOKです！

## **CUDAとcuDNNのインストール [玄人]**
[50歳じじい初心者がGPU搭載windows10のマシンにtensorflowのGPU版を環境設定するときに苦労したこと](https://qiita.com/umesaku/items/b9290520479c8167363d)

CUDAとcuDNNの導入はこちらの記事が非常に分かりやすくオススメです！

※1 ~~リンク先ページのPC環境のところにCUDA 9とcuDNN 6と書いてありますが、CUDA 9と互換性があるのはcuDNN 7なのでご注意を。~~正しい表記に修正して頂けました。@umesakuさん、対応ありがとうございます！

※2 GPUの種類によってはCUDA 9とcuDNN 7に対応しておらず、CUDA 8とcuDNN 6を入れる必要があります。

## **仮想環境の構築**
**スタート -> すべてのプログラムの中にあるAnaconda3フォルダを開き、AnacondaPromptを起動します。**

AnacondaPromptが起動したら、以下のcondaコマンドを実行[*2](#補足情報)して仮想環境を作成します。結構時間がかかるので気長に待ちましょう。
(py36の部分は仮想環境名なので自由に変更してもOK)

```Console:AnacondaPrompt
$ conda create -n py36 python=3.6
```
**C:\Users\user_name>** のようなコマンド入力受付状態に戻ったら、以下のactivateコマンドを実行して仮想環境を有効にします。

```Console:AnacondaPrompt
$ activate py36
```

**(py36) C:\Users\user_name>** のような表示になれば成功です！

## **TensorFlowのインストール**
TensorFlowはGoogleが開発・提供をしている機械学習用のライブラリです。これがないと始まりません。
仮想環境を有効にした状態で以下のpipコマンドを実行します。

```Console:AnacondaPrompt
$ pip install tensorflow==1.7.0
```

**[玄人]** GPUを使う場合は、TensorFlowのGPU版もpipコマンドでインストールします。

```Console:AnacondaPrompt
$ pip install tensorflow-gpu==1.7.0
```

インストールするTensorFlowバージョンに1.7.0を指定してますが、CUDAとcuDNNのバージョンによって対応バージョンが異なるため、[TensorFlow公式の対応バージョン一覧](https://www.tensorflow.org/install/install_sources?hl=ja#tested_source_configurations)を見て書き換えてくださいね。

## **まとめ**
環境構築お疲れ様でした！上手くできたでしょうか？

上手くいかなかった方は、まず検索してみて、それでも分からなければ僕の[Twitter](https://twitter.com/oubeika11)にリプライ飛ばしてください。答えられる範囲なら答えるかも。

それでは今回はここまで！

次回は棋譜を学習させていきます！

## **参考ページ**
- [CUDA 9.0のインストール方法](https://qiita.com/spiderx_jp/items/cccb2fb35fdaced022ce)

- [cuDNN v7.0.5 for CUDA 9.0のインストール方法](https://qiita.com/spiderx_jp/items/5f733c88e7437bc5e2d4)

- [Visual Studio Code内のターミナルでAnacondaを使えるようにする方法](https://qiita.com/le_blau/items/ee98788a676fae5bcf3c)

## **補足情報**
[*1](#対象) GPUを使った機械学習をしたい場合は、**NVIDIAのGPU**が必要です(2018/7/19時点ではNVIDIAのGPU以外は非対応)。自分のパソコンに搭載されているGPUがNVIDIAのものかどうかご確認ください。

[*2](#仮想環境の構築) 実行コマンドの前に付いてるドル記号(**$**)はコマンドであることを表すための目印です。一緒にコピペして実行するとエラーになるのでご注意ください。

## **次回**
[機械学習知識ゼロの囲碁キチが3か月で囲碁AIを作った話　～棋譜学習編～](https://qiita.com/intenseG/items/73cd082443aed2eb7b5d)