Python
Heroku
勉強会
python3
Jupyter-notebook

Pythonを使った機械学習の勉強にはJupyter NotebookをHerokuの無料枠で立ててスマホからでも実行できるようにして共有しよう

はじめに

社内で週1の機械学習の勉強会を主催しています。G-awaです。

勉強会は👇の本を輪読しながら、プログラムも書いていく方式で進めています。

image.png

プログラムも書きながら勉強会を進行していますし、
毎回いろんな人が参加するので、いちいちその人に合わせて開発環境をととのえるのが面倒でした。
それに、実行した履歴をどう残して振り返ろうかと考えていたのですが、とてもいい方法がありました。

それがJupyter Notebookです。

Jupyter Notebookとは

Jupyter Notebookは

  1. Webページ上でPythonのコードを実行して、
  2. それを履歴(ノート)として保存できるツールです。

さらにWebページとして、Markdown形式でのコメントの記述にも対応しているので
勉強会メンバーに共有する際にはもってこいのツールなんです。

こちらをみればJupyter Notebookがどんなものかわかるはずです。

👇は勉強会で実際に書いてみたノートです。matplotlibなどの出力結果も綺麗にグラフとして保存できます。

image.png

Jupyter NotebookはHerokuで動かす

通常は Jupyter Noterbook はローカルで立ち上げて、実行する人がほとんどかと思いますが、
勉強会でやったことをメンバーに共有したいので、どこかしらのサーバで立てられればいいなぁと思っていました。

AWSのSageMakerとかでやると簡単に構築できるのですが、お金がかかりすぎます。
そこで別のクラウドサービスして、わたしが日頃お世話になっているHerokuの無料プランを使用することにしました。

これでタブレットでもpythonを書いて実行する環境が手に入れられますし、電車の中でスマホから勉強会の復習もできちゃいます。

Herokuでのインストール方法

前提としてHerokuのアカウントはもう持っているものとします。

今回はこちらのソースを利用させてもらいました。
https://github.com/pl31/heroku-jupyter

まずはこのリポジトリをforkします。
image.png

forkしたら、自分のリポジトリに移動するので、「Deploy to Heroku」ボタンを押します。
image.png

あとは流れにしたがって入力してください。
image.png

JUPYTER_NOTEBOOK_PASSWORDを入れておくと、JupyterNotebookにログインするパスワードを設定することができます。
image.png

あとは、「Deploy app」を押してデプロイすれば完了です。

image.png

無事、立ち上がりました。
先ほどのパスワード(JUPYTER_NOTEBOOK_PASSWORD)を入力してログインすれば使用できます。

まとめ

  1. Jupyter Notebookを使用すればPythonをブラウザから実行できる
  2. 他の人に共有したいのでクラウドサービスにデプロイしておこう
  3. Herokuだと無料で使用できるよ

以上です。
機械学習の勉強会をやる際にはぜひHerokuでJupyterNotebookを立ち上げてみてはいかがでしょうか?:blush: