Jupyter Notebook という機械学習の試行過程で使われているツールを、機械学習じゃなくて、普段の仕事の中で使ってみたら、とても重宝したという、お話です。
Jupyter Notebookって?
WEBで検索すると「機械学習の現場で重宝する多機能Webエディタ」とタイトルされた記事が出てきます。
pythonでできていて、Jupyter Notebook自身が、httpサーバーの機能があり、http://localhost:8888/
でブラウザでノートを編集するんですが、編集している対象は、localhost上のファイルになってます。
ノートに書いたpython等のコード片を、ブラウザ上から実行すると、httpサーバーがそのコードを実行して、結果をノートにフィードするという感じになってます。たぶん。
コード片だけじゃなくて、もちろん、メモ書きもマークダウンで自由に書き込めます。
そして、実行結果がグラフとしてノートに記録することができて、そういうのを、画面を切り替えずに、1画面の中でできるというのが良いんだそうです。
ここに動画のわかりやすい説明があるので見てみてください。きっと使いたくなります。
http://techlife.cookpad.com/entry/write-once-share-anywhare
コードを書いて、実行して、その結果をグラフ表示したり分析してメモを添えたり、そういった ”一連の作業をノートとして書きとめる” ために、作られたんでしょうね。 確かに、そういうのが、欲しかった!
以前、話題になったニュースで、研究者は実験過程をすべてノートに記録するということを知りましたが、同じように、機械学習の試行錯誤の過程もノートに記録するわけなんだけど、Jupyter Notebookを使うと効率的ですよ・・・というわけですね。
機械学習以外で使ってみる
そして、今では、pythonだけじゃなくて、40種類以上のプログラム言語に対応していて、Spark、R、SQL、shell なんてのも使えるらしいです。
ということは、用途は、機械学習にとどまりませんね。ちょっと、思いつきで上げてみますね。
ターミナルのログ
teratermなどのターミナルのログ保存の代わりになりそうです。
コマンドとその実行結果と、それにメモ書きを添えて、きれいにノート保存できるので、気持ちが良さそうです。
コマンド起動用のショートカット集として
nodejsのgulpとか、laravelのartisanの実行とか、いつものコマンドなんだけど、ディレクトリ移動したり、コマンドのオプションなんだっけ?とか、そんなときに、ショートカット集としてまとめておくと使えるかも。
なにしろ、メモとしてじゃなくて、そこから即実行できますからね。便利です。
DBのCSV抽出とグラフ化
DBから検索して、ちょっとした表やグラフを付けたレポートを作成するなんてときにも、このノートで共有しておくことで、効率があがりそうです。
DBのフロントエンドツールとして
phpMyAdminとか、MySQL Workbenchみたいなものの代わりに使えるんじゃないかしら。
作業手順の共有
これまでも、いろんな作業手順をredmineやgitlabのwikiに整理してきましたけど、コマンド実行を含んだ作業手順なんかは、このノートで共有するのも悪くないですね。
保守作業の起点に・・・
社内の踏み台サーバーにインストールして、そこ起点の定型作業を、ノートから実行できたりすると、使える局面が結構あるような気がします。微妙に全自動にできない定型作業とか、結構ありますからね。
他にもたくさん、活用アイデアが出てきそうです。 早速つかってみてください。
即、導入したい場合は、Windows版やMac版を普通にインストールして、追加モジュールを追加していくとよいと思います。
でも、その前に、ちょっと試してみたい人のために、Jupyter NotebookのDockerコンテナを用意しました。サーバー内で使いたい場合も、Dockerコンテナになってるとサクッと導入できて便利だと思います。
このコンテナは、SQL用のモジュールを入れてあるので、mysql で SQL を実行して、テーブル形式にノート保存することができます。
お試し版としては、ちょうどよいと思います。どうぞ、使ってみてください。
https://github.com/altus5/jupyter-mysql
関連記事
- 2024/06/26 アジャイル開発(アジャイル風も含む)での生産性の計測 非スクラムのアジャイル開発でのベロシティの計測方法と、その相対評価の有効性について、ご紹介します。
- 2024/03/13 朝の3時間は脳のゴールデンタイム 朝起きてからの3時間は脳のゴールデンタイム。効率的な仕事をするための時間管理術や、脳の回復法を紹介します。
- 2023/09/25 開発会社が Docker のライセンスに準じて正しく使うために いまさらだけど、開発会社が Docker のライセンスに準拠した、安全な使い方について調べました
- 2022/12/14 ロサダラインと呼ばれる比率 ポジティブな感情が仕事の効率を高めるという話
- 2021/03/30 Docker Desktop WSL 2 バックエンドの使い始め WSL2とDockerを使って、もう1歩 DevOps を推し進めたいと思ってるんだけど、いろいろあるねぇ・・・ということを、ご紹介します。