JupyterNotebookをリモートサーバー上で公開して、どこでも研究開発 & 講義でJupyterhubを利用する
JupyterNotebook をリモートサーバー上で公開して、どこでも研究開発。
講義で Jupyterhub を利用するお話です。
GIF 画像は下記の記事で知ったtqdm
というパッケージを使いたくなったので載せてみた。
IPython データサイエンスクックブックをキッカケに研究室でも JupyterNotebook の凄さを皆が知り、MATLAB の kernel を通して利用を始めたりしています。自分は Python2→MATLAB→MATLAB & Python3 という流れで移り変わっています。
JupyterNotebook をリモートサーバー上で公開
コードは以下の通りです。特に問題なく公開することができました。
環境
- CentOS 7 系
下記の記事を参考にセットアップする。
今回は pyenv を使って Python3.5.1 でホストしています。
昨日この記事を読んで、Anaconda がオススメされているので今度セットアップするときに使ってみよう。
こまかい設定等は以下の記事で説明されています。IPython Notebook を対象にした記事ですが、ほとんど一緒なので問題ありません。(config.py 自体がコメントで丁寧に各設定が記述されています。)
参考記事
Juptyerhub : 講義で Jupyter を利用する。
JupyterNotebook を講義でも活用できるようにならないかなと先生と探していたのですが、Jupyternotebook を公開するだけだとユーザー管理が不可能です。例えば ~tarou/
というディレクトリで jupyternotebook を公開すると~tarou/
に notebook が沢山できだれがどのノートを作ったのかが把握できないという問題点があります。
その問題点を解消するのがJupyterHub
です。
Jupyterhub は標準のユーザー認証でPAMを利用しているので、Cent OS のユーザー名とパスワードでログインすることができます。
2016/01/29 現時点で、PAM の認証方式だと上手く認証されるときとされないときが存在しています。
PAM 以外の認証方法としてはAuthで記述されているが以下の
- GitHub/BitBucket/MediaWiki/CILogon OAuth
- Google OAuth
- Local+Google OAuth (from within a Docker container)
- LDAP Authenticator
が用意されている。大学で LADP サーバーが公開されているならそれと連携するのが一番だが、Github などを認証に使うのも良いんじゃないかと。
[余談]Jupyterhub の記事を探していて見つけたこの記事が面白い。UC バークレーの Ph.D の学生が教育用にどう Jupyterhub を活用しているか。そして運用の段階でどのような問題がでてきたかが書かれている。海外の大学は進んでいるな~
参考記事
関連しているかもしれない記事
- Jupyter上でSVGのイラストやアニメーションが作成できるプラグイン egel
- OpenCV 3.3から使えるDNNモジュールを使って物体検出
- Djangoで顔認識の結果をJSONで返す最小構成のAPIサーバーを作った
📮 📧 🐏: 記事への感想のおたよりをおまちしてます。 お気軽にお送りください。 メールアドレス入力があればメールで返信させていただきます。 もちろんお返事を希望せずに単なる感想だけでも大歓迎です。
このサイトの更新情報をRSSで配信しています。 お好きなフィードリーダーで購読してみてください。
このウェブサイトの運営や著者の活動を支援していただける方を募集しています。 もしよろしければ、Buy Me a Coffee からサポート(投げ銭)していただけると、著者の活動のモチベーションに繋がります✨
Amazonでほしいものリストも公開しているので、こちらからもサポートしていただけると励みになります。