Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

はじめに

社内で週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:

G-awa
物性物理学、分子動力学の研究をやってました。サイエンス出身、スパコンが好きです。 java, spring, ruby, rails, python, nodejs, react, react native, aws, devopsあたりが得意です。NoOpsを目指して葛藤している4年目エンジニアです。
intec
未来を「ひらく」、技術で「つなぐ」、世界を「変える」、豊かなデジタル社会の一翼を担う会社です。※各記事の内容は個人の見解であり、所属する会社の公式見解ではありません。
https://www.intec.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away