はじめに
社内で週1の機械学習の勉強会を主催しています。G-awaです。
勉強会は?の本を輪読しながら、プログラムも書いていく方式で進めています。
![image.png](https://cdn.silicloud.com/blog-img/blog/img/657d63f737434c4406d0360f/3-0.png)
プログラムも書きながら勉強会を進行していますし、
毎回いろんな人が参加するので、いちいちその人に合わせて開発環境をととのえるのが面倒でした。
それに、実行した履歴をどう残して振り返ろうかと考えていたのですが、とてもいい方法がありました。
それがJupyter Notebookです。
Jupyter Notebookとは
Jupyter Notebookは
-
- Webページ上でPythonのコードを実行して、
- それを履歴(ノート)として保存できるツールです。
さらにWebページとして、Markdown形式でのコメントの記述にも対応しているので
勉強会メンバーに共有する際にはもってこいのツールなんです。
こちらをみればJupyter Notebookがどんなものかわかるはずです。
?は勉強会で実際に書いてみたノートです。matplotlibなどの出力結果も綺麗にグラフとして保存できます。
![image.png](https://cdn.silicloud.com/blog-img/blog/img/657d63f737434c4406d0360f/12-0.png)
Jupyter NotebookはHerokuで動かす
通常は Jupyter Noterbook はローカルで立ち上げて、実行する人がほとんどかと思いますが、
勉強会でやったことをメンバーに共有したいので、どこかしらのサーバで立てられればいいなぁと思っていました。
AWSのSageMakerとかでやると簡単に構築できるのですが、お金がかかりすぎます。
そこで別のクラウドサービスして、わたしが日頃お世話になっているHerokuの無料プランを使用することにしました。
これでタブレットでもpythonを書いて実行する環境が手に入れられますし、電車の中でスマホから勉強会の復習もできちゃいます。
![undefined](https://cdn.silicloud.com/blog-img/blog/img/657d63f737434c4406d0360f/17-1.png)
Herokuでのインストール方法
![undefined](https://cdn.silicloud.com/blog-img/blog/img/657d63f737434c4406d0360f/19-0.png)
前提としてHerokuのアカウントはもう持っているものとします。
今回はこちらのソースを利用させてもらいました。
https://github.com/pl31/heroku-jupyter
![image.png](https://cdn.silicloud.com/blog-img/blog/img/657d63f737434c4406d0360f/22-0.png)
![image.png](https://cdn.silicloud.com/blog-img/blog/img/657d63f737434c4406d0360f/23-0.png)
![image.png](https://cdn.silicloud.com/blog-img/blog/img/657d63f737434c4406d0360f/24-0.png)
![image.png](https://cdn.silicloud.com/blog-img/blog/img/657d63f737434c4406d0360f/25-0.png)
あとは、「Deploy app」を押してデプロイすれば完了です。
![image.png](https://cdn.silicloud.com/blog-img/blog/img/657d63f737434c4406d0360f/27-0.png)
無事、立ち上がりました。
先ほどのパスワード(JUPYTER_NOTEBOOK_PASSWORD)を入力してログインすれば使用できます。
まとめ
-
- Jupyter Notebookを使用すればPythonをブラウザから実行できる
-
- 他の人に共有したいのでクラウドサービスにデプロイしておこう
- Herokuだと無料で使用できるよ
以上です。
機械学習の勉強会をやる際にはぜひHerokuでJupyterNotebookを立ち上げてみてはいかがでしょうか?