DeepLearning Ami をSageMakerみたいに使う
##主旨
AWS SageMakerはデータを貯める、学習する、デプロイする、というのは便利だが、
実際にあるデータをゴニョゴニョいじるには、癖がある。
特に、会社に入ってきた新人に使わせるには覚えさせることが多すぎる。
そんなわけで、立ち上げたら簡単にJupyterノートブックが見えるEC2を作ってみました。
基本的に、DeepLearningAmiをベースに、下記の変更を加えます。
手順1
下記のファイルを新規で置きます。
起動時にスタートアップで実行するスクリプトです。
# systemディレクトリを作ります。
mkdir system
# cat でスクリプトを書き込みます
cat > system/start.sh
下記ペーストして、Ctrl+Dで終了。
#!/bin/bash
jupyter notebook --ip=* --no-browser --config=/home/ubuntu/.jupyter/jupyter_notebook_config.py &
logger 'juyter start...'
手順2
/etc/rc.localを変更します。
なければ下記のようなファイルで新規に置きます。
sudo vi /etc/rc.local
で編集します。
su -l ubuntu -c 'sh /home/ubuntu/system/start.sh'
exit 0
手順3
シェルで下記を実行します。
jupyterの設定を変更しています。
とくに、トークンでパスワードを設定しています。(変更して使ってください。)
あとブラウザが必要ない状態で立ち上がる。
start.shに実行権限を付与。
echo c.NotebookApp.token = "password" >> .jupyter/jupyter_notebook_config.py
chmod +x /home/ubuntu/system/start.sh
上記でうまくいかなかった、手順4
jupyter_notebook_configの書き込みに失敗しました。
"password"がpasswordになってしまって、クオーテーションが消えてしまっていた。
手動で対応する必要あり。echoじゃどうすればいいのか、なんかありそうだけど。。
vi .jupyter/jupyter_notebook_config.py
で最後の行のpasswordを"password"に変更