BinderをGoogle Colaboratory代わりに使う

今回は、Google Colaboratoryに類似のサービス、Binderの紹介を行います。

用意するもの : Githubアカウントと公開のレポジトリ

Google Colaboratoryはクラウド上でJupyter環境を実行できるサービスで、弊社の講習会

<東京>On Colaboratory:CAEの為のPython/Numpy基礎講習会1/4(土)

に参加された方はその利便性を体験いただけたかと思います。

今回紹介するBinderはGoogleアカウントが不要です。

BinderはGithub上にある設定ファイルからJupyter環境を生成するサービスで、下記のリンクからすぐに試すことができます。

binder-examples/requirements/master

また、python環境(requirements.txt)は上記のリンクですが、Julia, R, Octave, 等のJupyter環境もサンプルとして用意されており、

binder-examples

から各々のプロジェクトのページ

→launch binderをクリック することですぐにJupyterが立ち上がります

自前環境を作る場合(pythonの場合)

examplesのみでなく、pythonのバージョンを変更する/他のライブラリがインストール済みの環境を立ち上げたいことがあると思います。

先のレポジトリを参考にする方針の場合、runtime.txt, requirements.txtの二つを用意する。

runtime.txt

python-*.* バージョンを記載

requirements.txt

普段の環境でpip freezeしたもの

をGithubにアップロードしたのちに、mybinderにアクセス

GitHub repository name or URLに自分のレポジトリのURL

Git branch, tag, or commit に(変更してなければ)master

と入力し、launchをクリックする。

少し待つとjupyterが立ち上がり、実行できるようになります。

ビルド前後に処理を走らせたい場合

以下の二つの名前でスクリプトをruntime.txt, requirements.txtと同じ階層(レポジトリのルート)に作成してビルド前/後に実行する処理を指定できます。

start

postBuild

その他

メモリは最低1GBは保証されており、最高2GBなので1~2GBのどこかになります。

10分間非アクティブのユーザーセッションは自動的にシャットダウンされます。(しかし、ウインドウを開いたままであればアクティブ扱いなので開きっぱなしにすれば問題ない。)

12時間まで動作し、12時間以上は保証されていません。

environment.ymlを置いてconda環境の作成、Dockerfileでの設定の技術等も可能なようです。

binderという名前のフォルダを作成し、そこにrequirements.txt, runtime.txt, start, postBuildを入れても大丈夫です。

計算結果の保存 : 例えばsavefigしておいて、セッションが切れる前にダウンロードすることが可能です。

参考

ColaboratoryFAQ

BinderFAQ

Jupyter NotebookとGoogle Colaboratoryを使い比べてみた

Julia の Jupyter Notebook を他人に試してもらうためのツールとして Binder を活用する

  • SmaSurf Qui