roombaの日記

読書・非線形科学・プログラミング・アート・etc...

ブラウザからインタラクティブにコードを実行できる"IPython Notebook"の練習用ノートを作ってみた

前置き

Googleのディープラーニング無料講座がちょっと話題になっていました。
Udacityという無料オンライン学習サイトで公開されているのですが、Udacityの講座を受講して楽しんだ経験があるので、ディープラーニングもはじめてみたところです。

GoogleとUDACITY、「TensorFlow」で学ぶディープラーニング講座を開設 - ITmedia ニュース
Deep Learning | Udacity


で、本題ですが、この講座(Pythonを使います)では課題が"IPython Notebook"というものによって出題されているのです。

IPython Notebookは、Webページのようにブラウザ上で読むことができるノート的なもので、ノート上でPythonのコードがインタラクティブに実行できるすごい奴です。

f:id:roomba:20160129140358p:plain

すごいなーと思ったのと、ディープラーニング講座以前にここでつまずく訳には行かないという理由から、練習用ノートブックを作って公開してみることにしてみました。

前置き2:IPython Notebookの情報

公式サイト

たぶん↓
The IPython Notebook — IPython

雰囲気は以下の動画でつかめると思います。謎BGM注意。
www.youtube.com

インストール

環境にもよりますが

sudo pip install jupyter

などです。以下を参考に。
Installation — Jupyter Documentation 4.1.0 documentation

Webからの閲覧

Githubにノートブックをおいておけば、ダウンロードせずにWebから閲覧することが可能になります(Pythonは実行できない)。
以下にアクセスし、ユーザー名などで検索するだけです。
Jupyter Notebook Viewer

たとえばDeep Learning講座の第1回課題は↓
http://nbviewer.jupyter.org/github/tensorflow/tensorflow/blob/master/tensorflow/examples/udacity/1_notmnist.ipynb

練習用ノート

10分で最低限使えるようになるための練習用ノートをつくり、最近始めたGithubにおいてみました。


こんな感じです↓

f:id:roomba:20160129145437p:plain

使い方

git clone https://github.com/rb-roomba/ipython_notebook_practice.git

でダウンロードでき、そのディレクトリで

ipython notebook

と実行するとブラウザに新しいタブが表示されます。(されなかったらlocalhost:8888にアクセス)

その画面で"practice_notebook.ipynb"を開き、その指示に従います。

見るだけなら↓からでも可能です。
http://nbviewer.jupyter.org/github/rb-roomba/ipython_notebook_practice/blob/master/practice_notebook.ipynb

おわりに

IPython Notebook, なかなか便利です。使い方としては、

  • 自作のコードを少しずつ解説するために配布(コメントでは足りない文章量のとき)
  • (ディープラーニング講座のように)課題として一部のコードだけ掲載したノートを配布し、読み手に完成させる
  • 研究ノート的に使う

などでしょうか。

ディープラーニング講座の内容についても気が向いたら紹介してみます。需要あるんだろうか…?