LoginSignup
21
18

More than 5 years have passed since last update.

Amazon EC2にTensorFlow開発環境をコマンドコピペで構築する

Last updated at Posted at 2016-06-25

はじめに

布教用メモです。ローカルリソース実行だとPCがつらいことになるので環境を分離したい人向けです。
学習コピペ用に先頭の$表記は外しています。
再構築の手間(Docker上ではないけど構築失敗しても気軽にインスタンスをつぶせる)と価格を重視しています。実行速度重視、GPUをぶん回したい場合は別記事を参考にしてください。

手順

Amazon EC2インスタンス追加

  • https://ap-northeast-1.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-1#LaunchInstanceWizard
  • Ubuntuパッケージを選択。
  • 「セキュリティグループ」でポートをいい感じにあけておく。細かくは省略。
    • ssh: 22
    • Jupyter: 8888
  • AWS未契約の人はt2.microを使えば(たぶん)新規契約から1年間は無料。
  • 作成後、パブリックDNS(ec2-xxxxxxxxxx.ap-northeast-1.compute.amazonaws.com)はコピーしてテキストエディタに貼り付けておく

sshログイン

chmod 600 xxxxxxxxxx.pem
ssh -v -i xxxxxxxxxx.pem ubuntu@ec2-xxxxxxxxxx.ap-northeast-1.compute.amazonaws.com

パッケージ更新

sudo apt-get update && sudo apt-get -y upgrade

Python準備

pipインストール

sudo apt-get install -y python-pip python-dev
sudo pip install -U pip

機械学習ライブラリ + TensorFlow

よく使うライブラリのインストール

以下をインストールしている。

  1. numpy: 行列計算ライブラリ
  2. scipy: 科学計算ライブラリ
  3. pandas: データフレームライブラリ
  4. matplotlib: グラフ描画ライブラリ
  5. Pillow: 画像処理ライブラリ
  6. scikit-learn: 機械学習ライブラリ
  7. google-api-python-client: Google API Client for Python
sudo apt-get install -y libpq-dev python-matplotlib gfortran
sudo pip install --upgrade pip
sudo pip install numpy scipy pandas matplotlib Pillow scikit-learn
sudo pip install google-api-python-client

TensorFlowインストール

2016/09/01時点での最新版をインストール。
最新版を確認してからインストールしてください。

sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.10.0rc0-cp27-none-linux_x86_64.whl

Jupyter

Jupyterインストール

sudo pip install jupyter

Jupyter config変更(ポート設定など)

jupyter notebook --generate-config && ipython profile create
echo "c = get_config()" >> /home/ubuntu/.jupyter/jupyter_notebook_config.py
echo "c.NotebookApp.ip = '*'" >> /home/ubuntu/.jupyter/jupyter_notebook_config.py
echo "c.NotebookApp.open_browser = False" >> /home/ubuntu/.jupyter/jupyter_notebook_config.py
echo "c.NotebookApp.port = 8888" >> /home/ubuntu/.jupyter/jupyter_notebook_config.py
echo "c.InteractiveShellApp.matplotlib = 'inline'" >> /home/ubuntu/.ipython/profile_default/ipython_kernel_config.py

Jupyterのログインパスワード設定

ログインパスワードを登録。登録完了後に表示されるsha1をコピーしておく。

python -c 'import IPython;print(IPython.lib.passwd())'

コピーしたsha1をconfigに追加する。

echo "c.NotebookApp.password = 'sha1:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'" >> /home/ubuntu/.jupyter/jupyter_notebook_config.py

Jupyter起動

jupyter notebook
で起動するとhttp://ec2-x-x-x-x.ap-northeast-1.compute.amazonaws.com:8888/でログイン可能。
EC2インスタンス起動と同時に起動したい場合は/etc/rc.localに起動スクリプトを登録しておく。

Jupyter動作確認

ブラウザからログイン、TensorFlowのHello, Worldサンプルで42が表示されればOK

import tensorflow as tf

hello = tf.constant("Hello, TensorFlow!")
sess = tf.Session()
print(sess.run(hello))

a = tf.constant(10)
b = tf.constant(32)
print(sess.run(a + b))
21
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
18