0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

神器jupyter的優(yōu)勢和使用教程

人工智能與大數(shù)據(jù)技術 ? 來源:機器之心 ? 作者:機器之心 ? 2021-02-05 09:36 ? 次閱讀

Python 代碼編輯器怎么選?PyCharm、VS Code、Jupyter Notebook 都各有特色,Jupyter 適合做數(shù)據(jù)分析這些需要可視化的操作,PyCharm 更適合做完整的 Python 項目。然而,因為交互式操作,很少會有開發(fā)者想到用 Jupyter 做 Debug。

盡管很多讀者可能認為 Jupyter 用來做展示和小型試驗就足夠了,Debug 并沒有太大的需求,但彌補上 Jupyter 缺失的一環(huán),能讓它更好用,未來 Debug 也會作為默認模式。 為什么 Jupyter 需要 Debug? Jupyter 這種工具雖然有很好的交互性能,但其也明白,對于大型代碼庫,最好還是用傳統(tǒng)的 IDE 比較靠譜。因此為了彌補這一缺陷,Jupyter 項目在過去幾年也希望通過 JupyterLab 來加強對大型代碼庫的處理過程。 然而,JupyterLab 還是有一大缺陷,它不能通過可視化的方式進行 Debug,這限制了進一步的調(diào)試。這幾天,Jupyter 團隊表示,經(jīng)過幾個月的開發(fā),他們很高興能第一次發(fā)布 Jupyter 可視化 Debugger。 雖然這只是第一版,但目前已經(jīng)可以設置常見的斷點 Debug,查看各種變量、執(zhí)行模塊等信息。

f8a5f6da-6001-11eb-8b86-12bb97331649.gif

新工具的用法也很簡單,很常見的 Debug 方式差不多。如果讀者想要安裝這個新工具,那么首先你需要為 JupyterLab 裝前端插件:

jupyterlabextensioninstall@jupyterlab/debugger 至于后端 Kernel,Jupyter 團隊表示目前 kernel 需要實現(xiàn) Jupyter Debug Protocol,因此暫時只能用xeus-python: condainstallxeus-python-cconda-forge 只要裝好前端與后端,我們就可以直接使用了。開發(fā)者還提供了 Debug 的線上體驗版,不需要安裝任何東西就能體驗。 在線 Debug 環(huán)境: https://hub.gke.mybinder.org/user/jupyterlab-debugger-hwxovlw4/lab/tree/examples/index.ipynb Xeus-python:第一個支持 Jupyter Debug 的內(nèi)核 Xeus 是 Jupyter kernel protocol 的 C++實現(xiàn),它本身并不是一個內(nèi)核,而是能幫助構(gòu)建內(nèi)核的庫。當開發(fā)者希望構(gòu)建 Python、Lua 等擁有 C、C++ API 的語言內(nèi)核時,它非常有用。 目前已經(jīng)有一些內(nèi)核使用 xeus 進行開發(fā),Xeus-python 內(nèi)核是我們做 Python 開發(fā)時可選的一個內(nèi)核,它去年就已經(jīng)有發(fā)布。Xeus-python 之所以被 Jupyter 團隊選為第一個實現(xiàn) Debug 的內(nèi)核,主要是它有以下兩大優(yōu)勢:

Xeus-python 具有可插拔的并發(fā)模型,它允許在不同的線程中運行 Control channel 的處理過程;

Xeus-python 有非常輕量級的代碼庫,因此迭代與更新都非常方便。

短期內(nèi),xeus-python 還會有進一步提升的計劃,例如添加 Ipython 魔術方法,優(yōu)化 xeus-python 的 PyPI 等。 深入至 debugger 的前端架構(gòu) JupyterLab 的 debugger 擴展針對用戶對 IDE 的使用習慣提供了通常性功能:

帶有資源管理器的側(cè)邊欄,無序列表,源預覽以及允許導航至調(diào)用堆棧

可直接在代碼旁(即在代碼單元以及代碼控制臺中)設置斷點的功能

可視化的標記,指示當前執(zhí)行停止的位置

當使用 Jupyter 筆記本時,執(zhí)行的狀態(tài)保存在內(nèi)核中。但是如果我們執(zhí)行了一個 cell,然后又把整個 cell 刪了,那么用戶在 Dubug 的時候希望運行到那些代碼又怎么辦? 如下動圖所示,該插件支持特定用例,并能在只讀模式下查看以前執(zhí)行過的 cell。

fc432e52-6001-11eb-8b86-12bb97331649.gif

進入已刪除的單元格

fce4d2c0-6001-11eb-8b86-12bb97331649.gif

在 JupterLab 中調(diào)試代碼控制臺

fd226522-6001-11eb-8b86-12bb97331649.gif

在 JupyterLab 中調(diào)試文件 可以在 notebook 級別上啟用調(diào)試,用戶可以在調(diào)試 notebook 的同時在另一個 notebook 上工作。

fd88cc5e-6001-11eb-8b86-12bb97331649.gif

同時調(diào)試多個筆記本 可以使用樹狀查看器和表狀查看器檢查變量:

fe2392fc-6001-11eb-8b86-12bb97331649.gif

變量瀏覽器 JupyterLab 的 debugger 插件目標是與任何支持調(diào)試內(nèi)核一并使用。通過 Debug Adapter Protocol,debugger 插件可以抽象出針對于特定語言的功能,并為用戶提供匹配的調(diào)試界面。 并且團隊計劃在 2020 年對 debugger 的體驗進行重大改進,例如在變量瀏覽器中支持豐富的渲染,在 UI 中支持條件斷點。 VS Code 可視化 Debug 工具 Debug 是條漫漫長路,不久前機器之心也介紹過一款 VS Code 實時可視化 debug 工具,在此也可以作為參考。以一種更優(yōu)雅、更簡潔的 debug 方式幫用戶找到代碼問題所在是未來優(yōu)化的方向之一,而之前所介紹這款可視化 debug 能夠快速展示數(shù)據(jù)結(jié)構(gòu)。 從效果層面上看此款工具更加驚艷,而且跟以往傳統(tǒng) debug 方式的展示形式完全不同,比如將斷點設置為第 32 行定義雙向鏈表,隨后一行行運行代碼就會在右圖展現(xiàn)出對應的數(shù)據(jù)結(jié)構(gòu)圖。

fe9ecf30-6001-11eb-8b86-12bb97331649.gif

同時也會根據(jù)數(shù)據(jù)結(jié)構(gòu)以不同的方式展現(xiàn),例如樹形、表格、曲線和圖等。

ff32eb16-6001-11eb-8b86-12bb97331649.gif

同時還內(nèi)置了其他可自定義的可視化調(diào)節(jié)器,可以根據(jù)面對不同的處理對象,可選擇更易于理解的可視化方式。比如圖表可視化,Plotly 可視化,Tree 可視化,網(wǎng)格可視化,文本可視化等等。

Plotly 可視化

AST 可視化 不過這款 VS Code 的 debug 工具開發(fā)者正在探討其對 Python 的支持,而對于 Python 的完美支持會使得該項目更加便捷且適用。 而對于 debug 來說,不管最終是采用的是 print()大法,或是善用 assert 語句,亦或是以直接設置斷點,包括各種新推出的 debug 工具。單從輔助工具角度層面看,只要它能夠提高工作效率,不管是哪款 debug 工具,找到適合你的那便是值得一試

原文標題:神器 jupyter,終于來了!

文章出處:【微信公眾號:人工智能與大數(shù)據(jù)技術】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

責任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 代碼
    +關注

    關注

    30

    文章

    4807

    瀏覽量

    68800
  • 編輯器
    +關注

    關注

    1

    文章

    806

    瀏覽量

    31223
  • python
    +關注

    關注

    56

    文章

    4801

    瀏覽量

    84850

原文標題:神器 jupyter,終于來了!

文章出處:【微信號:TheBigData1024,微信公眾號:人工智能與大數(shù)據(jù)技術】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    激光錫膏的原理及優(yōu)勢

    激光錫膏技術作為一種先進的焊接手段,在電子制造領域展現(xiàn)出了顯著的優(yōu)勢。下面由福英達小編來講解一下其原理及優(yōu)勢
    的頭像 發(fā)表于 01-10 13:22 ?52次閱讀
    激光錫膏的原理及<b class='flag-5'>優(yōu)勢</b>?

    華為云 Flexus X 實例部署安裝 Jupyter Notebook,學習 AI,機器學習算法

    前言 由于本人最近在學習一些機器算法,AI 算法的知識,需要搭建一個學習環(huán)境,所以就在最近購買的華為云 Flexus X 實例上安裝了學習環(huán)境,Jupyter Notebook。沒想到效果格外
    的頭像 發(fā)表于 01-02 13:43 ?110次閱讀
    華為云 Flexus X 實例部署安裝 <b class='flag-5'>Jupyter</b> Notebook,學習 AI,機器學習算法

    CAN總線的優(yōu)勢及應用

    CAN總線的優(yōu)勢及應用資料大全。 ?
    的頭像 發(fā)表于 11-12 17:27 ?436次閱讀
    CAN總線的<b class='flag-5'>優(yōu)勢</b>及應用

    干貨!基于RK3568的 AI 人工智能環(huán)境搭建步驟

    dist-upgrade 10、安裝setuptools pip install launchpadlib pip install setuptools==45.2 11、安裝jupyter
    發(fā)表于 11-12 09:43

    360度全景觀看顯示神器定制球形LED異形創(chuàng)意顯示屏面世。

    隨著科技的不斷進步和人們審美需求的日益提高,相信這款360度全景觀看顯示神器——定制球形LED異形創(chuàng)意顯示屏將會在未來的視覺展示領域中發(fā)揮更加重要的作用,為人們帶來更加豐富多彩、震撼人心的視覺體驗。
    的頭像 發(fā)表于 10-29 10:48 ?144次閱讀
    360度全景觀看顯示<b class='flag-5'>神器</b>定制球形LED異形創(chuàng)意顯示屏面世。

    線路在線監(jiān)測裝置智能圖像機的核心優(yōu)勢是什么?

    答:大家好,今天特地來和大家分享一款電網(wǎng)監(jiān)控領域的神器——線路在線監(jiān)測裝置智能圖像機TLKS-PMG-PV500!這款裝置憑借其獨特的設計與先進的技術,正引領著電網(wǎng)監(jiān)控的新潮流。不得不提的是,該裝
    發(fā)表于 09-25 15:44

    快充電線:高效充電體驗的必備神器

    線是指支持快速充電技術的充電線。它們采用優(yōu)化的電路設計和高質(zhì)量的材料,能夠以更快的速度為設備充電,同時還能保護電池健康。 快充電線的優(yōu)勢 節(jié)省時間 快充電線的主要優(yōu)勢之一是節(jié)省時間。相比普通充電線,快充電線可以在
    的頭像 發(fā)表于 08-30 18:05 ?1147次閱讀

    嵌入式澆花神器拆解

    這就是澆花神器,很小巧的一個東西,可以把水桶中的水泵到花盆中。它可以用按鍵手動操作,不過更方便的是通過WiFi連接網(wǎng)絡,這樣就可以通過手機端的APP遠程操作了,還可以定時操作,間隔多長時間澆一次,每次膠水多長時間都可以設置。
    的頭像 發(fā)表于 08-29 10:11 ?363次閱讀
    嵌入式澆花<b class='flag-5'>神器</b>拆解

    4G5G手機信號屏蔽器:手機信號“靜音”神器

    深圳特信電子|4G5G手機信號屏蔽器:手機信號“靜音”神器
    的頭像 發(fā)表于 07-02 08:51 ?623次閱讀

    銳族手持式激光焊接機-大型鈑金柜體焊接神器!

    在工業(yè)領域,大型鈑金柜體的焊接一直是一項具有挑戰(zhàn)性的任務。然而,手持式激光焊接機的問世為這一難題帶來了革命性的解決方案。 這款焊接神器采用了先進的激光技術,能夠產(chǎn)生高能量密度的光束,實現(xiàn)精準而高效的焊接。與傳統(tǒng)焊接方法相比,手持式激光焊接機具有眾多優(yōu)勢
    的頭像 發(fā)表于 06-20 10:26 ?337次閱讀
    銳族手持式激光焊接機-大型鈑金柜體焊接<b class='flag-5'>神器</b>!

    驍銳單邊安全光柵,安全守護新神器

    在這個高速發(fā)展的科技時代,驍銳又一次引領了行業(yè)的潮流,發(fā)布了一款創(chuàng)新的單邊安全光柵!這款神器的出現(xiàn),將為工業(yè)安全領域帶來革命性的變化。 單邊安全光柵,顧名思義,只需要在危險區(qū)域的一側(cè)安裝,就能提供全方位的安全防護。這不僅節(jié)省了空間,還降低了安裝成本,簡直是一舉兩得!
    的頭像 發(fā)表于 06-18 16:18 ?316次閱讀
    驍銳單邊安全光柵,安全守護新<b class='flag-5'>神器</b>

    蔡司三坐標測量機相對于其他品牌的優(yōu)勢

    最近蔡司代理三本精密儀器小編發(fā)現(xiàn)大家都在討論各種三坐標品牌,作為工業(yè)測量的“神器”,蔡司三坐標肯定也得提一提!畢竟在這個領域里,蔡司的口碑可是響當當?shù)?那蔡司三坐標相對于其他品牌,到底有哪些優(yōu)勢
    的頭像 發(fā)表于 06-04 17:23 ?414次閱讀
    蔡司三坐標測量機相對于其他品牌的<b class='flag-5'>優(yōu)勢</b>

    國產(chǎn)FPGA的優(yōu)勢是什么?

    發(fā)現(xiàn)國產(chǎn)的FPGA 芯片也是越來越多,請問國產(chǎn)的芯片對比國外的最大的優(yōu)勢是什么?
    發(fā)表于 05-26 20:20

    2024新款管材加工神器--LT-HP90三維激光切管機

    新一代管材加工神器LT-HP90三維激光切管機是一種高效的金屬切割設備,具有精準切割、多種切割形式、高效能加工等優(yōu)點,是現(xiàn)代工業(yè)生產(chǎn)中不可或缺的工具。三維激光切管機被譽為管材行業(yè)的加工神器,原因可能
    的頭像 發(fā)表于 04-25 10:39 ?330次閱讀
    2024新款管材加工<b class='flag-5'>神器</b>--LT-HP90三維激光切管機

    介紹一款基于java的滲透測試神器-CobaltStrike

    Cobalt Strike是一款基于java的滲透測試神器,常被業(yè)界人稱為CS神器
    的頭像 發(fā)表于 01-16 09:16 ?1028次閱讀
    介紹一款基于java的滲透測試<b class='flag-5'>神器</b>-CobaltStrike