機械学習やデータサイエンスのエンジニアが、こよなく愛している環境構築ツール(IDE)「Jupyter Notebook」。この度、以前から公開されていたα版のJupyer Lab(ジュピター・ラボ)が、改めてベータ版として公式に公開となりました!
codexa(コデクサ)チームでも、従来のノートブックからJupyter Labへ移管をしたメンバーが多いです。本記事では、機械学習のIDEの決定版「Jupyter Lab」について、新しく追加された素晴らしい新機能の使い勝手やメリット/デメリットなどをまとめました。これから機械学習を学ぼうと考えている初学者にもオススメの開発環境ツールですので、是非ご参考ください。
Jupyterの環境構築が不要、オンラインで実行が可能な機械学習入門チュートリアルを公開中!まずは初歩的なアルゴリズムを学んで、機械学習の世界へ飛び込んでみませんか?
この記事の目次
Jupyter Labとは?Jupyterプロジェクトについて
まずはJupyterプロジェクトとは?について。Jupyter(ジュピターと読みます)は、オープンソースの対話型コンピューティング(Interactive Computing)の開発を行うプロジェクトです。
このJupyterプロジェクトが開発したのがJupyter Notebookです。Jupyter Notebookはブラウザ上で使えるコーディング環境で、同僚やチームとのコードの共有をしたり、インタラクティブな分析結果を開発したり、大規模なデータの統合や扱いを簡単に行えることが可能です。その手軽さと使い勝手から、世界中の機械学習エンジニアが利用しており、人気の高い開発環境(IDE)の一つです。
私も長年利用していますが、Jupyter Notebookはデータ解析のプロセスの全体を簡潔かつクリーンな形で図解することが可能で、さらに共有できることに大きなメリットがあると考えています。
チーム内の個々がそれぞれコードを書いたり、データの解析を行うのを統合するのは容易ではありませんが、Jupyter Notebookではコードがセルごとに分解されており、その都度のアウトプット(出力結果)が伴いますので、他の方が書いたコードでも非常に短時間かつ少ない労力で理解をすることが可能です。
今回ご紹介するJupyter Labですが、データサイエンティストや機械学習エンジニアの作業工程を統合的かつ効率的に行えるようにするためのIDEとして、開発プロジェクトが進められています。
すでにエンジニアとして活躍されている方なら、何かしらのIDE(Integrated Development Environment / 総合開発環境)を使われているかと思います。とてもシンプルに考えると、Jupyter Labは機械学習とデータサイエンスのためのIDEとなります。
Jupyter Labですが、従来のJuyter Notebookと非常に似ていますが、多くの新機能が追加されています!本記事では、Jupyter Labのインストールの仕方、さらにはメリットやデメリットをまとめました!
Jupyter Labのインストール
さて、まずはJupyter Labのインストール方法についてです。PipでもAnacondaでもインストール可能なので、どちらかが使える環境でしたら、どちらかを使ってインストールするのが簡単です。
# Anacondaのcondaコマンドを利用してインスートル conda install -c conda-forge jupyterlab
# pip経由でJupyter Labのインストール pip install jupyterlab
より詳細のインストール方法ですが、公式のドキュメント(英語)にまとまっています。私はすでに4台のマシンにインストールを行いましたが、特にエラーは出ませんでした。もしエラーが出てしまった方は、公式ドキュメントを参照してみてください。
Jupyter Labの起動
無事にインストールが済みましたら、早速Jupyter Labを起動してみましょう。Macの方であればターミナル、WindowsでAnacondaを使っている方はAnaconda上で下記のコマンドで起動します。
# Jupyter Labの起動 jupyter lab
Jupyter Labが起動すると、自動的にデフォルトのブラウザーに「http://localhost:8888/lab」のURLでJupyter Labのインターフェースが開くはずです。従来のJupyter Notebookを使っている方だと、このタイミングで新機能ににワクワクしてしまいますね(タブ!!!)。
Jupyter Labのメリット/デメリット
Jupyter Labを実際にいくつかのプロジェクトで使ったので、私個人が思うメリットとデメリットについて簡単にまとめたいと思います。(あくまで、私個人の感想です)
メリット
- ノートブックと似た感覚で触れるがより洗練されたインターフェース
- タブ!(一押し)
- ノートブック、テキスト、CSV、コンソールなど複数のウィンドウ表示が可能
- Google Driveとの統合
- ドラッグ&ドロップが可能なセル
- ファイルエクスプローラー(一押し)
デメリット
- R Studio IDEのような変数を編集する機能があればより◎
- 重い処理を行うとフリーズしてしまう
デメリットは基本的にほとんどありませんので、Jupyter Notebookを親しんで使っている方なら、Jupyter Labへ移管した方が良いかと思います!ただ、まだ動作(?)が不安定に感じる部分もあり、膨大なデータの訓練などをする場合は、JupyterLabが止まってしまうケースが何度かありました。(全く同等のコードでNotebookは問題なく処理完了しました)。
Jupyter Labの新機能
さて、ここからはJupyter Labに追加された便利な新機能についてご紹介します。
刷新された新しいインターフェース
すでに上記のメリットでも軽く触れましたが、NotebookからJupyter Labへ移管して、一番最初に気づくのがインターフェースの刷新かと思います。従来のNotebookのインターフェースですが、とてもシンプルなので大好きでしたが、Jupyter Labはシンプルに加えて、実用性の高い新機能が多数追加されました。
インターフェースに加えられた新機能の一つとして、ファイルビューアーが搭載されました(遂に!)。サイドバーから、現在実行しているカーネルの確認を行えるのも便利な機能です。このサイドバーと新しく追加された「タブ」機能により、Jupyter Noteobokでは複数のカーネル間での移動が非常にスムーズになりました。
下のキャプチャーを見て分かる通り、ほぼ全てのインターフェースが改善されていますが、ノートブックに関しては今までの使い勝手で使えるのも嬉しいポイントです!欲しいと思っていた機能がついて、さらに、変えて欲しくない機能はそのままという印象です。
データファイルをテーブル形式で表示
Jupyter Labに新規追加された機能ですが、CSVファイルなどのデータをテーブル形式で表示してくれる新機能です。正直・・これは本当に便利。R Studio(R言語のIDE)では付いていた機能ですが、Jupyterでも使えるようになって助かります。
機械学習ではデータの確認はかなり頻繁に行う作業ですので、このように、気軽にJupyter上でファイルが確認できるのは作業時間の短縮に直結します。
マルチプルウィンドウ(複数のウィンドウ表示)
これも・・便利な新機能の一つです。Jupyter Notebookから移管してきた最初の時期は、いまいち使い方がぎこちなかったのですが、慣れると手放せない機能。
従来のNotebookでは、使いたいファイルが複数ある場合、複数のウィンドウを開いておく必要がありました。この新機能で複数のウィンドウをドラッグ&ドロップすることで、好きな場所へ配置することが可能です。特にデータセットを確認しながらコーディングを行う作業が劇的に楽になりました。
下のキャプチャのように、メイン画面のNotebookでコーディングしながら、隣の補助ウィンドウでデータセットを確認して、さらに下部にコンソールを出して作業が可能です。
Googleドライブと連携が可能
オフィスやチーム内でGoogleドライブを活用しているケースも増えているかと思いますが、まさにこの新機能はそんな方々にぴったりです。
こちらの新機能ですが、拡張機能をインストールして、Jupyter LabのサイドメニューからGoogleのアカウントにログインすることで利用することが可能になります。何ができるかというと、Jupyter Lab内で作ったノートブックを直接Googleドライブに保存が可能で、さらにはチーム内で共有をすることもできます。
いちいち、ノートブックを保存してE-mailで送りつける作業が無くなります。Googleドライブを既に活用しているチームでしたら、是非設定してみましょう!
セルのドラッグ&ドロップ
さて、今回のJupyter Labへの移管において、新機能の便利さランキングをつけるとしたら・・個人的にはこの機能が堂々の1位となります・・・それがセルのドラッグ&ドロップです!
Jupyter Notebookを既に使っている人であれば、おそらく最低でも一度は感じたことがありませんか?セルの上下移動や場所移動が非常に面倒なことに。最初にコードを適当に書いて、後付けで足していくときなど・・コードの順番を編集したりするのがとても面倒でした。
この新機能は・・そんな無駄な作業を解決してくれます!少し下のキャプチャでは解りにくいですが、指定のセルを掴んで好きな場所へ落とせます。
まとめ
如何でしたでしょうか?今回は新しくベータ版として正式に公開されたJupyter Labの便利な新機能のご紹介、またメリット/デメリットについてまとめました。
Jupyter Labですが、熟練の機械学習エンジニアから初学者まで非常に幅広い層によって利用されているツールだと思います。まだベータ版として開発中のフェーズです。これからどのように変化していくのか・・非常に楽しみですね!個人的な要望としては・・R Studio IDEのように、変数ビューアーが追加されたら嬉しいなと思っています!
これから機械学習を始める初学者の方も、既にゴリゴリにデータを掻き回している機械学習エンジニアの方も、是非Jupyter Labを使ってみましょう!機械学習の環境(IDE)として、おそらくこれ以上のオプションは探しても見つからないと思います。