自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Jupyter Lab 的十個(gè)有用技巧

開發(fā) 前端
JupyterLab是 Jupyter Notebook「新」界面。它包含了jupyter notebook的所有功能,并升級(jí)增加了很多功能。它最大的更新是模塊化的界面,可以在同一個(gè)窗口以標(biāo)簽的形式同時(shí)打開好幾個(gè)文檔,同時(shí)插件管理非常強(qiáng)大,使用起來要比jupyter notebook高大尚許多。

JupyterLab是 Jupyter Notebook「新」界面。它包含了jupyter notebook的所有功能,并升級(jí)增加了很多功能。它最大的更新是模塊化的界面,可以在同一個(gè)窗口以標(biāo)簽的形式同時(shí)打開好幾個(gè)文檔,同時(shí)插件管理非常強(qiáng)大,使用起來要比jupyter notebook高大尚許多。

1、拼寫檢查

拼寫檢查可以讓我們的文檔保持更高的質(zhì)量,默認(rèn)情況下,拼錯(cuò)的單詞會(huì)以紅色背景突出顯示,但是這里我將其設(shè)置為下劃線。

圖片

使用這個(gè)功能只要安裝以下的插件:

pip install jupyterlab-spellchecker

2、代碼格式化

這里需要安裝幾個(gè)包,一個(gè)是提供格式化功能,另外一個(gè)是我們的jupyterlab插件

# Install the formatters
$ pip install black isort
# Install the extension
$ pip install jupyterlab-code-formatter

通過Jupyter Lab Code Formatter擴(kuò)展可以獲得很多的格式化功能

圖片

安裝完成后,頂部會(huì)出現(xiàn)一個(gè)奇怪但看起來很酷的圖標(biāo)。如果您不想使用該按鈕,您可以將擴(kuò)展配置為保存時(shí)自動(dòng)格式化(在 Advanced Settings Editor 設(shè)置)。

3、多行選擇

這個(gè)功能與jupyter notebook一樣,點(diǎn)擊時(shí)按住Ctrl鍵可以多選。只能在單個(gè)單元格內(nèi)進(jìn)行多選。

4、添加虛擬環(huán)境

使用以下命令將虛擬環(huán)境作為內(nèi)核添加到Jupyter Lab,這樣就可以作為一個(gè)選項(xiàng)出現(xiàn)在Launcher或內(nèi)核列表的右上角:

$ pip install ipykernel
$ ipython kernel install --user --name=new_or_existing_env_name

注意:以上代碼需要在你需要添加的虛擬環(huán)境使用,而不是jupyter lab的環(huán)境。

5、像運(yùn)行腳本一樣運(yùn)行notebook

Jupyter notebook用于探索和互動(dòng)輸出。但是使用jupyter run命令,可以像Python腳本一樣順序執(zhí)行每個(gè)筆記本單元格。

jupyter run path_to_notebook.ipynb

該命令會(huì)以JSON的形式返回每個(gè)單元格的輸出,所以如果有大量文本輸出可能會(huì)卡頓。我們可以將不同的超參數(shù)保存到單個(gè)筆記本中然后運(yùn)行,這樣可以保存運(yùn)行記錄。

6、分割編輯器窗口

Jupyter Lab的窗口以標(biāo)簽的形式展示,我們一次可以打開好幾個(gè)編輯窗口,并且可以拖動(dòng)窗口,將編輯器窗口分割,演示如下:

7、隨時(shí)查看文檔

有三種方法可以直接從編輯器中查找?guī)缀跞魏魏瘮?shù)或魔法命令的文檔。

第一個(gè)是使用Shift + Tab鍵盤快捷鍵(默認(rèn)),它會(huì)顯示一個(gè)彈出窗口,其中包含光標(biāo)所在的函數(shù)或類的文檔:

如果不喜歡點(diǎn)擊其他地方后彈出窗口消失,還可以使用上下文幫助,它可以通過幫助菜單或Ctrl + I鍵盤快捷鍵訪問。上下文幫助顯示游標(biāo)指向的函數(shù)或類的實(shí)時(shí)文檔。

最后,一種方法可以簡(jiǎn)單地在函數(shù)或類名的末尾添加一個(gè)問號(hào)(不帶括號(hào)):

圖片

8、終端命令和Python代碼混合開發(fā)

這個(gè)功能看起來有點(diǎn)古怪,但它非常有用。使用感嘆號(hào)(!),可以在代碼單元格中運(yùn)行任何終端命令。

還可以將這些命令的輸出存儲(chǔ)在Python變量中。例如使用!pwd的輸出將當(dāng)前工作目錄存儲(chǔ)在path變量中:

path = !pwd

這里有一個(gè)更實(shí)際的例子。假設(shè)有一個(gè)數(shù)據(jù)文件夾,其中包含用于模型訓(xùn)練的圖像。所有圖像都根據(jù)它們的類被分類到目錄中。

問題是有太多的圖像類別,我們無法手動(dòng)計(jì)數(shù)。需要使用一個(gè)快速的方法來計(jì)算data/raw/train內(nèi)部的目錄數(shù)量,并將其輸出存儲(chǔ)在number_of_classes中:

number_of_classes = !ls -1 data/raw/train | wc -l

>>> print(number_of_classes)
43

一句shell命令就能解決問題,這樣就不用我們寫python的目錄遍歷代碼了

9、通知執(zhí)行

即使你不是谷歌Colab的用戶,你也一定會(huì)喜歡它的單元格執(zhí)行通知。使用winsound內(nèi)置Python庫(kù),可以在Jupyter Lab上模仿該功能:

import winsound

# Create a beep that lasts five seconds
duration = 5000
frequency = 440

winsound.Beep(frequency, duration)

10、自動(dòng)重載修改后的Python腳本

將腳本與筆記本混合使用是非常不好的,但是有時(shí)候我們的確需要這樣做,如果我們更新了導(dǎo)入的腳本,除非重新啟動(dòng)內(nèi)核,否則Jupyter將不會(huì)自動(dòng)檢測(cè)到更改,這會(huì)產(chǎn)生很多問題。所以我們可以使用autoreload 命令來避免這個(gè)問題:

%load_ext autoreload
%autoreload 1

上述代碼將每秒鐘檢測(cè)并刷新一次內(nèi)核。它不僅會(huì)檢測(cè)腳本更改,還會(huì)檢測(cè)對(duì)所有文件的更改。

對(duì)于python腳本,我們還可以使用pycat 命令來以語法高亮的形式顯示Python腳本的內(nèi)容:

圖片

對(duì)于其他文件格式,也可以使用cat命令,這是linux的標(biāo)準(zhǔn)命令

總結(jié)

本文介紹了幾個(gè)常用且好用的jupyter技巧,如果你還想了解個(gè)更多的魔法命令,可以運(yùn)行l(wèi)smagic。它將列出所有內(nèi)聯(lián)和單元格魔術(shù)命令。

責(zé)任編輯:華軒 來源: DeepHub IMBA
相關(guān)推薦

2023-05-24 16:48:47

Jupyter工具技巧

2024-01-03 08:53:35

JavaScrip編程語言NodeJS

2024-01-03 16:37:26

Jupyter工具開源

2015-09-29 16:03:43

2024-12-03 14:33:42

Python遞歸編程

2024-02-01 12:53:00

PandasPython數(shù)據(jù)

2012-01-17 13:54:02

PHP

2015-08-24 09:12:00

Redis 技巧

2023-07-02 14:21:06

PythonMatplotlib數(shù)據(jù)可視化庫(kù)

2022-05-12 08:12:51

PythonPip技巧

2023-10-16 07:55:15

JavaScript對(duì)象技巧

2024-12-24 08:23:31

2010-09-08 14:35:22

CSS

2024-01-30 00:40:10

2022-11-07 16:06:15

TypeScript開發(fā)技巧

2011-08-22 12:24:56

nagios

2023-02-22 16:43:05

Web開發(fā)github

2012-12-27 09:56:34

IaaSPaaS數(shù)據(jù)庫(kù)

2012-11-23 10:30:28

Responsive響應(yīng)式Web

2010-06-18 09:17:51

jQuery
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)