Jupyter Lab 的十個有用技巧
JupyterLab是 Jupyter Notebook「新」界面。它包含了jupyter notebook的所有功能,并升級增加了很多功能。它最大的更新是模塊化的界面,可以在同一個窗口以標簽的形式同時打開好幾個文檔,同時插件管理非常強大,使用起來要比jupyter notebook高大尚許多。
1、拼寫檢查
拼寫檢查可以讓我們的文檔保持更高的質量,默認情況下,拼錯的單詞會以紅色背景突出顯示,但是這里我將其設置為下劃線。
使用這個功能只要安裝以下的插件:
2、代碼格式化
這里需要安裝幾個包,一個是提供格式化功能,另外一個是我們的jupyterlab插件
通過Jupyter Lab Code Formatter擴展可以獲得很多的格式化功能
安裝完成后,頂部會出現一個奇怪但看起來很酷的圖標。如果您不想使用該按鈕,您可以將擴展配置為保存時自動格式化(在 Advanced Settings Editor 設置)。
3、多行選擇
這個功能與jupyter notebook一樣,點擊時按住Ctrl鍵可以多選。只能在單個單元格內進行多選。
4、添加虛擬環境
使用以下命令將虛擬環境作為內核添加到Jupyter Lab,這樣就可以作為一個選項出現在Launcher或內核列表的右上角:
注意:以上代碼需要在你需要添加的虛擬環境使用,而不是jupyter lab的環境。
5、像運行腳本一樣運行notebook
Jupyter notebook用于探索和互動輸出。但是使用jupyter run命令,可以像Python腳本一樣順序執行每個筆記本單元格。
該命令會以JSON的形式返回每個單元格的輸出,所以如果有大量文本輸出可能會卡頓。我們可以將不同的超參數保存到單個筆記本中然后運行,這樣可以保存運行記錄。
6、分割編輯器窗口
Jupyter Lab的窗口以標簽的形式展示,我們一次可以打開好幾個編輯窗口,并且可以拖動窗口,將編輯器窗口分割,演示如下:
7、隨時查看文檔
有三種方法可以直接從編輯器中查找幾乎任何函數或魔法命令的文檔。
第一個是使用Shift + Tab鍵盤快捷鍵(默認),它會顯示一個彈出窗口,其中包含光標所在的函數或類的文檔:
如果不喜歡點擊其他地方后彈出窗口消失,還可以使用上下文幫助,它可以通過幫助菜單或Ctrl + I鍵盤快捷鍵訪問。上下文幫助顯示游標指向的函數或類的實時文檔。
最后,一種方法可以簡單地在函數或類名的末尾添加一個問號(不帶括號):
8、終端命令和Python代碼混合開發
這個功能看起來有點古怪,但它非常有用。使用感嘆號(!),可以在代碼單元格中運行任何終端命令。
還可以將這些命令的輸出存儲在Python變量中。例如使用!pwd的輸出將當前工作目錄存儲在path變量中:
這里有一個更實際的例子。假設有一個數據文件夾,其中包含用于模型訓練的圖像。所有圖像都根據它們的類被分類到目錄中。
問題是有太多的圖像類別,我們無法手動計數。需要使用一個快速的方法來計算data/raw/train內部的目錄數量,并將其輸出存儲在number_of_classes中:
一句shell命令就能解決問題,這樣就不用我們寫python的目錄遍歷代碼了
9、通知執行
即使你不是谷歌Colab的用戶,你也一定會喜歡它的單元格執行通知。使用winsound內置Python庫,可以在Jupyter Lab上模仿該功能:
10、自動重載修改后的Python腳本
將腳本與筆記本混合使用是非常不好的,但是有時候我們的確需要這樣做,如果我們更新了導入的腳本,除非重新啟動內核,否則Jupyter將不會自動檢測到更改,這會產生很多問題。所以我們可以使用autoreload 命令來避免這個問題:
上述代碼將每秒鐘檢測并刷新一次內核。它不僅會檢測腳本更改,還會檢測對所有文件的更改。
對于python腳本,我們還可以使用pycat 命令來以語法高亮的形式顯示Python腳本的內容:
對于其他文件格式,也可以使用cat命令,這是linux的標準命令
總結
本文介紹了幾個常用且好用的jupyter技巧,如果你還想了解個更多的魔法命令,可以運行lsmagic。它將列出所有內聯和單元格魔術命令。