Windows上でTensorFlowを使用する環境構築

## やりたいこと
最近話題のGoogleの人工知能エンジン TensorFlow。残念ながら、LinuxとMac OS Xしかサポートしていません。
ところが、Windows上でTensorFlowを使用する環境を作る方法がありました。しかも、10分くらいで簡単に準備出来ます。

## 必要な動作環境
- Windows7以上 (Windows 8.1で動作確認)
- 仮想化が有効になっていること
<br>タスクマネージャー→パフォーマンス タブ→ CPU → 「仮想化: 有効」となっていることを確認
- OSが64 bitであること

## Docker for Windowsの準備
### STEP1 Docker Toolboxのダウンロード
[Docker Toolbox](https://www.docker.com/products/docker-toolbox)にアクセスして、ダウンロードします。
![Docker.PNG](https://qiita-image-store.s3.amazonaws.com/0/80231/d26a24cc-6675-6526-c3b8-b95396a92edb.png)

### STEP2 Docker Toolboxのインストール
設定はすべてデフォルトで、インストールを行います。
![Setup.PNG](https://qiita-image-store.s3.amazonaws.com/0/80231/0f102c90-d30d-a226-569f-44e2c28085a1.png)

### STEP3 Docker Quickstart Terminalの動作確認
インストールが完了すると、デスクトップにショートカットができます。
Docker Quickstart Terminalのアイコンをクリックして起動します。
![dockerIcon.PNG](https://qiita-image-store.s3.amazonaws.com/0/80231/26a86566-5d86-e521-5d2d-d51510f9c2cd.png)

コマンドラインが出て、下のような表示がされていればOK
![Docker表示.PNG](https://qiita-image-store.s3.amazonaws.com/0/80231/3ccfa252-34d5-4df7-9189-8b17b496e9e8.png)

念のため、Dockerの動作確認をします。ターミナルに下記コマンドを入力します。

```shell-session
$ docker run hello-world
```

下記のメッセージが返ってくれば、Docker Toolboxのインストールは成功です。

```shell-session
Hello from Docker.
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/userguide/
```

## TensorFlowの環境構築

### STEP4 TensorFlowのインストール
Docker Quickstart Terminal上で、下記コマンドを入力します。TensorFlowがソースコードと一緒にインストールされます。

``` shell-session:
$ docker run -it b.gcr.io/tensorflow/tensorflow:latest-devel
```

次回以降、起動するときも、上のコマンドでTensorFlowが立ち上がります。

### STEP5 TensorFlowの動作確認
下記のコマンドを入力して動作を確認します。

```shell-session
$ python
...
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print sess.run(hello)
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print sess.run(a + b)
42
>>>
```

TensorFlowがエラーなくimportできれば、無事にTensorFlowがインストールされています。

## Windowsとの共有フォルダを設定
Windows上のエディタで作成したファイルを、TensorFlowで動かしたい場合など。
TensorFlowを起動するときに、下記コマンドで起動すればOK

```shell-session
$ docker run -v /c/Users/(指定したい共有フォルダのパス):(TensorFlow内で作成したい共有フォルダのパス) -it b.gcr.io/tensorflow/tensorflow:latest-devel
```

Windowsのパスは￥で句切らずに、/で区切ると認識してもらえます。

## 参考
* [How to install and run TensorFlow on a Windows PC](http://www.netinstructions.com/how-to-install-and-run-tensorflow-on-a-windows-pc/)
* [Install Docker for Windows](https://docs.docker.com/windows/step_one/)
* [Unable to start TensorFlow within Docker, on Windows](http://stackoverflow.com/questions/35582875/unable-to-start-tensorflow-within-docker-on-windows)
* [TensorFlowをMac & Dockerで使ってみたよ](http://qiita.com/yanosen_jp/items/41938cc361c9e7c83acc)