Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
481
Help us understand the problem. What is going on with this article?
@canonrock16

JupyterLabのおすすめ拡張機能9選

はじめに

Jupyter notebookの進化形、Jupyter Lab。見た目が綺麗で使いやすいです。
今回は2021年3月現在で使用できる便利な拡張機能をご紹介します。

各拡張のインストール方法については、それぞれの拡張機能名のリンクからgithubに飛び、公式が案内している方法に従ってください。お使いのjupyterlabのバージョンによって必要な手順が変わる拡張もあります。

(余談:実際にこれらの拡張機能を使ってみて、個人的に特に便利だと思ったのは
・3.コード自動整形
・4.Vim風キーバインド
・5.TensorBoard管理
の3つでした。時間がなければこの3つだけでも十分かも知れません。)

※JupyterLab,Node.jsが既にインストールされていることが前提です。
※拡張機能によっては最新版のjupyterlabに対応していないものもあり、きちんと動作するかは自環境で試してみてください。

これからJupyterLab,Node.jsを導入する人は以下を実行してください。

# Jupyterlabの導入(anacondaを入れている人は既に入っている可能性があります。)
$ pip install jupyterlab 

# Node.jsの導入
$ brew install node

1.Variable Inspector

変数名や型、内容を常に横に表示しておけるようになります。
いちいちprint文を打つ手間が省けます。
image.png

2.Table of Contents

Markdown記法で書いた見出しが一覧で表示され、目的の見出しにワンクリックで飛べるようになります。
Apr-11-2019 18-01-18.gif

3.コード自動整形

Pythonの自動整形ツールであるBlack,YAPF,Autopep8を使用してコード整形を行えるようにする拡張です。
ショートカットを登録すれば任意のキーを押すことで整形させられるようになります。

導入手順

1.使用したい自動整形ツールをインストール

pip install (black or yapf or autopep8)

2.拡張機能の導入、有効化

pip install jupyterlab_code_formatter
jupyter labextension install @ryantam626/jupyterlab_code_formatter
jupyter serverextension enable --py jupyterlab_code_formatter

3.ショートカットキーの登録
settings→Advanced Settings Editor→Keyboard Shortcutsを開き、
image.png
image.png

User Overridesに以下を記入。"Ctrl K","Ctrl M"を変更することで任意のショートカットを作成できる。

{"jupyterlab_code_formatter:black":{
    "command": "jupyterlab_code_formatter:black",
    "keys": [
        "Ctrl K",
        "Ctrl M"
    ],
    "selector": ".jp-Notebook.jp-mod-editMode"}
}

導入時にエラーが出た場合は公式に対処法が書いてあります。

4.Vim風キーバインド

vimライクなカーソル移動やコマンドが打てるようになります。

5.TensorBoard管理

JupyterLabのファイルディレクトリからTensorBoardが起動できたり、起動中のTensorBoardを一覧化できます。
tensorboard.gif
image.png

6.git連携

JupyterLabのGUI上からcommit,push,pull,ブランチ切り替え,変更箇所の比較などができるようになります。
preview.gif

7.ipywidgets使用

tqdmなどをlab上で表示できるようになります。

8.各種リソース監視

resourse_mod.gif

GPU計算量使用率、GPUメモリ使用率、CPU計算量使用率、メモリ使用率などを監視するタブを出せます。
拡張機能を入れると以下のようにサイドバーに項目が追加され、見たいタブを選ぶとワークスペースにタブが追加されます。
image.png

9.jupyterlab-lsp(定義ジャンプ/文法チェック/リファクタリング)

関数定義へのジャンプ、文法チェック、リファクタリングだけでなくオートコンプリートも可能になります。
※(私の環境ではこの拡張を入れてからjupyterLabが重くなったため、現在は使用を中止しています。動作速度が低下したら、この拡張をOFFにすれば直るかも知れません。)
image.png

動作未確認だけど役立ちそうな拡張

私の環境ではうまく動かなかったり試していなかったりで動作未確認ですが、今後対応される可能性もあるので一応紹介しておきます。
debugger
デバッグ実行できるようになる
公式がcondaを推奨しており、condaが入っていない自環境でインストールを試みたところ、拡張機能自体は入れられたのですが依存パッケージであるxeus-pythonが入らずインストールを断念しました。

elyra
notebook同士でパイプラインを作れたり、バッチ化できたり、snippetsを作れたりする。

neptune.ai
notebook上での実験管理ができる。詳しくは公式参照。

jupyterlab-flake8
flake8のコードチェック機能が使えるようになる

jupyterlab_voyager
csvをきれいなグラフで可視化してくれる
→一年以上更新が無く、最新版のJupyterlabに対応していません。

dask-labextension
Pandasライクな使い方で分散処理ができるdask dataframeのメモリ使用状況やタスク進捗状況をモニタリングできる

・Jupyterlabの拡張機能を42個紹介している海外記事
https://awesomeopensource.com/projects/jupyterlab-extension

最後に

そのままでも結構便利に使えるJupyterLabですが、拡張機能を入れることで自分好みにカスタマイズできます。
気になる拡張があったらぜひ入れてみてください。

481
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
canonrock16
都内ベンチャー企業で機械学習エンジニアをやっています。画像の深層学習も一応出来ますが、今後は統計寄りの手法を重点的にやっていきます。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
481
Help us understand the problem. What is going on with this article?