ディープラーニング・ハンズオンの資料（インストール関連）

## この資料で書いていること

ディープラーニング・ハンズオン @ Googleでの資料です。TensorFlowとでもアプリののインストールまでを取り扱っています。

----

## 今回のハンズオン環境
- Python2系(2.7)のCPU版TensorFlow
- GCEの設定
  - vCPU x 16のインスタンス
  - OSはデフォルトのまま
  - TensorBoardのデフォルトポート6006番と、デモアプリ用のポート80番を開放

----

## 1. 共通設定：GCPの管理コンソール上の操作

----

### 1-1. GCEのインスタンスの起動
GCEのインスタンスを起動します。
- 「vCPU x 16」を選択
- 「HTTPトラフィックを許可する」を選択（デモアプリ用のポートを開放）

----

#### Compute Engineの選択
<img src="https://qiita-image-store.s3.amazonaws.com/0/1046/d57fdaf8-62ae-f2d0-daab-0f465e08c6ab.png", height=350>

----

#### インスタンス作成画面への遷移
<img src="https://qiita-image-store.s3.amazonaws.com/0/1046/b0d66f9f-54b9-f553-ec50-74f6585f5a01.png", height=300>

----

#### インスタンスの設定を行い起動
<img src="https://qiita-image-store.s3.amazonaws.com/0/1046/802b0143-7cbe-c1a9-9af0-125e1ed36f3a.png", height=350>

----

#### インスタンスが立ち上がった事の確認
<img src="https://qiita-image-store.s3.amazonaws.com/0/1046/4ae6556e-6353-ec31-8034-145d0da3ba4a.png", height=250>

---
### 1-2. ファイアウォールルールの設定
"TensorBoard"が外部から確認できるようにネットワークの設定を行います。

- ネットワーキング > ファイアウォールルールの設定から
- tcp:6006（TensorBoardのデフォルトポート）を開放

----

#### ネットワーキングの選択
<img src="https://qiita-image-store.s3.amazonaws.com/0/1046/0307118d-46c2-a0cf-6660-b523007bfd02.png", height=350>

----

#### ファイアウォールルールの選択
<img src="https://qiita-image-store.s3.amazonaws.com/0/1046/76db00ab-69c6-e557-9770-4e6fd3d58a0b.png", height=350>

----

####　ファイアウォールルールを新規で追加
<img src="https://qiita-image-store.s3.amazonaws.com/0/1046/17d344ed-75a6-1283-095f-fcb1485ea11d.png", height=300>

----

#### ファイアウォールルールを設定して作成
<img src="https://qiita-image-store.s3.amazonaws.com/0/1046/4e9d23b4-a82b-2927-617f-0b1a4df659c5.png", height=350>

----

## GCPのクーポンコード入力

----

## クーポンコードの入力
今回、Googleさんのご厚意により、100ドル分のクーポンをご用意いただけました。[ここ](https://console.cloud.google.com/billing/redeem)から入力してください。

<img src="https://qiita-image-store.s3.amazonaws.com/0/1046/f2f6a44d-4abe-ecfa-32db-31401d4b3651.png", height=200>

----

## 2. TensorFlowのインストール
以下の手順でTensorFlowをインストールします。

----

### 2-1. OS関連の設定、必要となるモジュール類のインストール
TensorFlowのインストールに必要となる最低限のモジュールをインストールしていきます。

----

```bash:
# パッケージリストの更新
sudo apt-get -y update
# インストール済みのパッケージの更新
sudo apt-get -y upgrade
# Python関連で必要となるもモジュールのインストール
sudo apt-get -y install python-pip python-dev python-scipy git
```

----

### 2-2. TensorFlowのインストール
TensorFlow自体をインストールします。TensorFlow本家の[pipによるインストール手順](https://www.tensorflow.org/get_started/os_setup#pip_installation)に従っています。

----

```bash:
# TensorFlowのダウンロードURLの設定
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.12.0rc1-cp27-none-linux_x86_64.whl
# pipを利用したTensorFlowのインストール
sudo pip install --upgrade $TF_BINARY_URL
# TensorFlowのソースコードの取得（サンプルを動かして動作確認を行うため）
cd ~
git clone https://github.com/tensorflow/tensorflow.git
# デモアプリの動作に必要となるPythonライブラリのインストール
sudo pip install tornado futures Pillow
```

----

### 2-3. TensorFlowの動作確認
TensorFlowが正しくインストールされているかを確認するために、TensorFlowに同梱されているサンプルを動かします。

----

```bash:
cd ~/tensorflow
# mnist(softmax版)の動作確認
python tensorflow/examples/tutorials/mnist/mnist_softmax.py
# mnist(DNN版)の動作確認
python tensorflow/examples/tutorials/mnist/fully_connected_feed.py
```

特にエラーが発生せずに終了すれば、TensorFlowが正しくインストールされています。

---