#ゼロから作るDeep Learning(本)の学習環境をクラウド(Cloud9)上で作成しました。
Cloud9上にAnaconda(miniconda),Jupyterをインストールする。
プログラム開発は数年ぶりで、今はクラウドでプログラム開発が出来ることに驚いている。とにかく、cloud9やjupyter,anacondaの知識はほぼゼロの私が一からパッケージをインストールして動作させるまで奮闘したメモ。
##環境
- Cloud9 有償版
- miniconda(anacondaの最小限の構成) 参考 anacondaやcondaを記載しているサイト
- python 3.5.3
- jupyter notebook
##インストールメモ
###cloud9のフリー版ではディスク容量が足りない!
Cloud9はフリーだと思っていましたが、ツールをインストールする毎に容量が足りなくなり、2Gがあっという間に100%になりました。そのため、やむおえず有償版を利用しました。月19ドルです。ディスク容量は15Gに設定したほうが安心です。
###cloud9へのminicondaやjupyter などのインストールはこちらを参考にしました。
下記のコマンドを入力してパスワードを入れるだけです!ありがとうございます。
http://qiita.com/y__sama/items/58419e85f39265fe6df8
bash cloud9/init.sh (インストール確認が出たら基本「y」で問題ありません)
主に、Jupyter, pythonが使えるようになるそうです。
インストール中にjupyterのパスワードを作成するので適当に入力する。
###jupyterの起動
インストール完了後、jupyter notebook をコマンドラインから実行することでjupyterが起動される。
~~インストール完了後、jupyterからcloud9配下のRunjupyter.shをjupyterから実行するとjupyterが実行される。~~その後、/xxxx.ユーザー名.c9users.io/tree# xxxx:workspace名でブラウザからアクセスすると、パスワードの入力要求があるので、先程のパスワードを入力するとjupyterの画面が表示される。
###numpyのモジュール読み込みエラー
jupyterで下記のコードを実行するとエラーとなる。プロジェクトの言語はpython3にしておくこと。
import numpy as np
<エラー内容>
ImportError Traceback (most recent call last)
in ()
1 import numpy as np
ImportError: No module named 'numpy'import numpy as np
<対処>
numpyのモジュールがありませんというエラーです。色々検索して下記の2つのコマンドを実行すると直った。
参考サイト
http://qiita.com/y__sama/items/58419e85f39265fe6df8
- Anacondaじゃなくてminicondaを入れている場合はこれくらい入れておけば多分OK。
conda install jupyter scikit-learn bokeh seaborn pandas dask networkx numba pep8 pillow scikit-image sqlalchemy sqlite statsmodels sympy xlrd xlsxwriter xlwt
- Anaconda周りはこれくらい設定しておけばいいです。
echo 'alias activate="source $PYENV_ROOT/versions/anaconda3-4.0.0/bin/activate"' >> ~/.bashrcsource ~/.bashrc
conda install seaborn # anacondaに入っていないので入れておく```
ここで再度シェルを再起動すること。
###章のディレクトリにあるモジュールが読めない
jupyterはjupyter配下のディレクトリで実行されるようである。deep learningで使用しているモジュールは、例えば4章の場合は ch04配下にあるので、パスを予めはる必要がある。
<エラー内容>
ImportError Traceback (most recent call last)
in ()
3 import numpy as np
4 import matplotlib.pylab as plt
----> 5 from gradient_2d import numerical_gradient
6
7
ImportError: No module named 'gradient_2d'
<対処>
import sys
sys.path.append('/home/ubuntu/workspace/jupyter/ch04')###このように章のディレクトリパスをはる
import numpy as np
import matplotlib.pylab as plt
from gradient_2d import numerical_gradient #パスをはらないと、ここでモジュールが見つからないとエラーになる
###from dataset.mnist import load_mnist でモジュールの読み込みエラーとなる。
- 書籍のファイル(https://github.com/oreilly-japan/deep-learning-from-scratch)は jupyter配下に展開しないと、jupyter上でプログラムを動かした時に、モジュールのimportでエラーとなる。
下記の図のように、jupyterフォルダー配下に展開する。
![jupyter1.png](https://qiita-image-store.s3.amazonaws.com/0/188563/6d767cc6-6455-571d-ec15-ef755e6417be.png)
###jupyter上でのグラフ表示
jupyterがちゃんと動作すると下記のようにグラフも表示されます。
![jupyter2.png](https://qiita-image-store.s3.amazonaws.com/0/188563/35777aa1-6d3a-c43f-7d3f-25f40c2bc670.png)