Jupyter Notebook/LabsをMLのどのフェーズで使うのか?
機械学習ではよく使われるJupyter Notebookですが、これを使ってプロダクションで動くコードを書くのは非常に難しいなと思い、皆どのように使っているのかを知りたくてアンケートをとってみました。
前から気になっていたのですが、Jupyter Notebook/LabsはMLの開発でどう使ってますか?.pyとの住み分けを教えて下さい。選択肢以外は返信ください
— Aki Ariga (@chezou) February 9, 2020
結果としては、多少拮抗しているのですが、EDAから予測までJupyter派が多かったようです。ついで、学習のプロトタイプまで、EDAだけ派と続いています。
この質問で失敗したなと思ったのは、「MLの開発」と書いたものの、研究・実験用途で使っている人とプロダクションまで持っていく用途で使っている人が混ざってしまったであろうという気がしています。 ただ、1000票以上集まったので面白い結果となったのではないでしょうか。
その他の回答としては、Emacs派や全部.py派、全部C++派などがいることがわかりました。
はい,IPythonです。エディタですのであちこちカーソルを動かせます。別窓で*.pyを書いて,全部または範囲指定した部分を実行し,出力だけこのIPythonの画面に出すこともできます。 pic.twitter.com/Kkn6pxTUOR
— Haruhiko Okumura (@h_okumura) February 9, 2020
EDA から全部 .py でやっています。(僕の書き方が悪いだけかもしれないですが)Jupyter をメンテナンスするコストが高く、EDA を後から再現しようとしても動かなかったりするため、処理の要素ごとに関数を書いてそれらはメンテナンスをし、EDA は関数の組み合わせを変えることによって行っています。
— horiem (@yellowshippo) February 9, 2020
はい、可視化も .py でしています。初期の試行錯誤中にどうしても保存しておきたい図などは手動で保存してドキュメントなどの形にしていますが、基本的にはさっさとメンテ可能なコードを書いてしまって、実行のたび必要な絵が(解析条件とともに)自動的に保存されるようにしていますね。
— horiem (@yellowshippo) February 9, 2020
R派なので実はEDAとPOCまではRで、その先のPOCとプロトタイプの中間ぐらいのところまでをNotebookのPythonで書き、そこから先は他の人にお願いしてます https://t.co/Ehdj1MykMK
— TJO (@TJO_datasci) February 9, 2020
この結果が一概にML Ops的なプロダクション運用のことを考えた最適とは言えませんが、少なくとも現状でMLを取り組む人はかなりJupyterを愛用していることが伺えます。