AWS
TensorFlow

DeepLearning ハンズオン環境構築 @ MaruLabo × JAWS-UG

More than 1 year has passed since last update.


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

ディープラーニング・ハンズオン @MaruLabo × JAWS-UG AI で利用する資料です。


ハンズオン環境


  • Python2 系 GPU 版 TensorFlow

  • AWS の設定


    • AWS 公式の Deep Learning AMI を利用

    • GPU x 1 のインスタンス(使えない方は CPU のみサーバ)

    • ポートは TensorBoard に 6006、とデモアプリに 80 を開放




1. AWS マネジメントコンソールでの操作


1.1 マネジメントコンソールにログイン

https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#Instances


  • 今回のハンズオンは無料枠の範囲ではないインスタンスタイプを利用します

  • クーポンを利用する際は該当のアカウントであることを確認しましょう


1.2 マーケットプレイスで AMI 指定

https://aws.amazon.com/marketplace/pp/B01M0AXXQB


  • AWS 公式の深層学習用 AMI


  • continue を押しましょう

marketplace.png


1.3 EC2 コンソールの起動


  • 今回はポートなどを調整したいので Manual Launch を選択

  • US East (N. Virginia) の Launch with EC2 Console を押します

launch.png


1.3 GPU インスタンスの指定


  • g2.2xlarge を選択します

  • GPU 起動を事前に申請できなかった方c4.4xlarge

  • 次の手順: インスタンスの詳細を設定 に進みましょう

gpu.png


1.4 パブリック IP などの確認



  • 自動割り当てパブリック IP有効 であることを確認

  • EC2 に慣れている方は スポット価格の設定 もぜひどうぞ


  • 次の手順: ストレージの追加 に進みましょう

type.png


1.5 公開ポートの設定



  • ストレージタグ の設定はそのまま次の手順へ


  • ルールの追加 から、80 番6006 番ポートを追加


  • 確認と作成 を押します

sg.png


1.6 起動インスタンスの確認


  • Deep Learning AMI

  • g2.2xlarge(または c4.4xlarge)

  • 22 / 80 / 6006 番ポートの解放


  • 作成 を押します

confirm.png


1.7 SSH 鍵のダウンロード



  • 新しいキーペアの作成 を選択します

  • 適当な名前をつけて キーペアのダウンロード を押しましょう


  • インスタンスの作成 を押します

create.png


2. TensorFlow 動作確認


2.1 サーバのパブリック IP の確認

起動したインスタンスを選択し、パプリック IP アドレスを確認します。

https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#Instances

public-ip.png


2.2 サーバへ SSH 接続


  • Mac ならターミナル、Windows なら TeraTerm などを起動

  • ダウンロードした pem を使って SSH ログイン

  • 不慣れな方は こちら をご覧ください..



$ chmod 400 keypair.pem

$ ssh -i keypair.pem ec2-user@<ec2.public.ip.address>


2.3 GPU の確認


  • (GPU でない方は飛ばしてください)

  • Deep Learning AMI はなんと NVIDIA ドライバもインストール済!

  • 以下のコマンドで GPU の状況を確認してみましょう

$ nvidia-smi

Thu Dec 29 11:44:57 2016
+------------------------------------------------------+
| NVIDIA-SMI 352.99 Driver Version: 352.99 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GRID K520 On | 0000:00:03.0 Off | N/A |
| N/A 32C P8 17W / 125W | 11MiB / 4095MiB | 0% Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+


2.4 TensorFlow の動作確認

TensorFlow も既にインストールされています。

# 確認用 Python スクリプトの取得

git clone -b r0.11 --depth 1 https://github.com/tensorflow/tensorflow.git
cd tensorflow/tensorflow/examples/tutorials/mnist/

# TensorFlow バージョン確認 (応答まで 1 分程度かかります)
python -c 'import tensorflow as tf; print(tf.__version__)'

# MNIST (softmax 版) の動作確認
python mnist_softmax.py

# MNIST (DNN 版) の動作確認
python fully_connected_feed.py


3. TensorFlow 実習

続きはこちら

http://qiita.com/ornew/items/acb2d51b6d6e228cbbd0