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

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

3天內不再提示

以后Jupyter也能做可視化Debug了

數(shù)據(jù)分析與開發(fā) ? 來源:數(shù)據(jù)分析與開發(fā) ? 作者:機器之心 ? 2021-01-06 16:09 ? 次閱讀

以后 Jupyter 也能做可視化 Debug,Jupyter 團隊發(fā)布第一個 Debug 插件與內核。

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

e3ea0002-4fca-11eb-8b86-12bb97331649.png

盡管很多讀者可能認為 Jupyter 用來做展示和小型試驗就足夠了,Debug 并沒有太大的需求,但彌補上 Jupyter 缺失的一環(huán),能讓它更好用,未來 Debug 也會作為默認模式。 為什么 Jupyter 需要 Debug? Jupyter 這種工具雖然有很好的交互性能,但其也明白,對于大型代碼庫,最好還是用傳統(tǒng)的 IDE 比較靠譜。因此為了彌補這一缺陷,Jupyter 項目在過去幾年也希望通過 JupyterLab 來加強對大型代碼庫的處理過程。

然而,JupyterLab 還是有一大缺陷,它不能通過可視化的方式進行 Debug,這限制了進一步的調試。這幾天,Jupyter 團隊表示,經(jīng)過幾個月的開發(fā),他們很高興能第一次發(fā)布 Jupyter 可視化 Debugger。 雖然這只是第一版,但目前已經(jīng)可以設置常見的斷點 Debug,查看各種變量、執(zhí)行模塊等信息。

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

jupyter labextension install @jupyterlab/debugger至于后端 Kernel,Jupyter 團隊表示目前 kernel 需要實現(xiàn) Jupyter Debug Protocol,因此暫時只能用xeus-python:

conda install xeus-python -c conda-forge只要裝好前端與后端,我們就可以直接使用了。開發(fā)者還提供了 Debug 的線上體驗版,不需要安裝任何東西就能體驗。 在線 Debug 環(huán)境: https://hub.gke.mybinder.org/user/jupyterlab-debugger-hwxovlw4/lab/tree/examples/index.ipynb Xeus-python:第一個支持 Jupyter Debug 的內核 Xeus 是 Jupyter kernel protocol 的 C++實現(xiàn),它本身并不是一個內核,而是能幫助構建內核的庫。

當開發(fā)者希望構建 Python、Lua 等擁有 C、C++ API 的語言內核時,它非常有用。 目前已經(jīng)有一些內核使用 xeus 進行開發(fā),Xeus-python 內核是我們做 Python 開發(fā)時可選的一個內核,它去年就已經(jīng)有發(fā)布。Xeus-python 之所以被 Jupyter 團隊選為第一個實現(xiàn) Debug 的內核,主要是它有以下兩大優(yōu)勢:

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

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

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

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

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

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

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

e47d0f5a-4fca-11eb-8b86-12bb97331649.gif

進入已刪除的單元格

e4b09ad2-4fca-11eb-8b86-12bb97331649.gif

在 JupterLab 中調試代碼控制臺

e4dfb1d2-4fca-11eb-8b86-12bb97331649.gif

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

e54a3958-4fca-11eb-8b86-12bb97331649.gif

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

e5808a1c-4fca-11eb-8b86-12bb97331649.gif

變量瀏覽器 JupyterLab 的 debugger 插件目標是與任何支持調試內核一并使用。通過 Debug Adapter Protocol,debugger 插件可以抽象出針對于特定語言的功能,并為用戶提供匹配的調試界面。 并且團隊計劃在 2020 年對 debugger 的體驗進行重大改進,例如在變量瀏覽器中支持豐富的渲染,在 UI 中支持條件斷點。 VS Code 可視化 Debug 工具 Debug 是條漫漫長路,不久前機器之心也介紹過一款 VS Code 實時可視化 debug 工具,在此也可以作為參考。

以一種更優(yōu)雅、更簡潔的 debug 方式幫用戶找到代碼問題所在是未來優(yōu)化的方向之一,而之前所介紹這款可視化 debug 能夠快速展示數(shù)據(jù)結構。 從效果層面上看此款工具更加驚艷,而且跟以往傳統(tǒng) debug 方式的展示形式完全不同,比如將斷點設置為第 32 行定義雙向鏈表,隨后一行行運行代碼就會在右圖展現(xiàn)出對應的數(shù)據(jù)結構圖。

e5c7adfc-4fca-11eb-8b86-12bb97331649.gif

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

e61fce60-4fca-11eb-8b86-12bb97331649.gif

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

e6902dcc-4fca-11eb-8b86-12bb97331649.png

Plotly 可視化

e70b4b2e-4fca-11eb-8b86-12bb97331649.png

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

責任編輯:xj

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

文章出處:【微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關注!文章轉載請注明出處。

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

    關注

    54

    文章

    4758

    瀏覽量

    84289
  • 代碼編輯器
    +關注

    關注

    0

    文章

    14

    瀏覽量

    6013

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

文章出處:【微信號:DBDevs,微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    大屏數(shù)據(jù)可視化 開源

    在當今信息爆炸的時代,數(shù)據(jù)已經(jīng)成為各個行業(yè)決策制定和業(yè)務發(fā)展的關鍵。為了更直觀、準確地理解和利用海量數(shù)據(jù), 大屏數(shù)據(jù)可視化 成為一種強大的工具。通過將數(shù)據(jù)以圖表、圖形等形式展示在大屏幕上,不僅
    的頭像 發(fā)表于 06-27 16:06 ?320次閱讀
    大屏數(shù)據(jù)<b class='flag-5'>可視化</b> 開源

    如何實現(xiàn)園區(qū)大屏可視化

    如何實現(xiàn)園區(qū)大屏可視化? 1.建立孿生模型:首先需要建立園區(qū)的孿生模型,即一個數(shù)字的虛擬模型,反映園區(qū)的實際情況、結構、設備、人員等信息。這個模型可以通過傳感器、監(jiān)控設備、GIS 數(shù)據(jù)等實時獲取和更新,確保與實際情況保持
    的頭像 發(fā)表于 06-19 15:39 ?314次閱讀
    如何實現(xiàn)園區(qū)大屏<b class='flag-5'>可視化</b>?

    態(tài)勢數(shù)據(jù)可視化技術有哪些

    智慧華盛恒輝態(tài)勢數(shù)據(jù)可視化技術是一種將數(shù)據(jù)以圖形、圖像、動畫等視覺形式展現(xiàn)出來的技術,特別是在處理和分析態(tài)勢數(shù)據(jù)時,該技術能夠將復雜的數(shù)據(jù)轉化為直觀、易于理解的視覺表現(xiàn)。以下是態(tài)勢數(shù)據(jù)可視化技術
    的頭像 發(fā)表于 06-11 15:47 ?304次閱讀

    智慧大屏是如何實現(xiàn)數(shù)據(jù)可視化的?

    智慧大屏,作為數(shù)據(jù)可視化的重要載體,已在城市管理、交通監(jiān)控、商業(yè)運營等領域廣泛應用。本文旨在闡述智慧大屏實現(xiàn)數(shù)據(jù)可視化的關鍵技術和方法,包括數(shù)據(jù)源管理、數(shù)據(jù)處理、視覺編碼、用戶界面與交互設計等。
    的頭像 發(fā)表于 06-04 15:02 ?466次閱讀
    智慧大屏是如何實現(xiàn)數(shù)據(jù)<b class='flag-5'>可視化</b>的?

    大屏數(shù)據(jù)可視化的作用和意義

    大屏數(shù)據(jù)可視化是指利用大屏幕設備展示數(shù)據(jù)信息,通過圖表、圖像、動畫等視覺手段將數(shù)據(jù)呈現(xiàn)出來,以便用戶能夠直觀、清晰地理解數(shù)據(jù)背后的含義和關聯(lián)。在信息化時代,數(shù)據(jù)已經(jīng)成為企業(yè)決策和運營的重要依托,而
    的頭像 發(fā)表于 06-03 17:56 ?541次閱讀

    大屏數(shù)據(jù)可視化是什么?運用了什么技術

    大屏數(shù)據(jù)可視化 是一種利用大屏幕設備展示數(shù)據(jù)可視化結果的技術,旨在以更生動、直觀的方式呈現(xiàn)數(shù)據(jù)信息。這種數(shù)據(jù)展示方式廣泛應用于各種場景,包括會議、展覽、監(jiān)控中心等,旨在幫助用戶更快速、準確地理
    的頭像 發(fā)表于 05-24 15:35 ?738次閱讀

    數(shù)據(jù)可視化:企業(yè)數(shù)字建設效果的呈現(xiàn)

    數(shù)據(jù)可視化即通過圖表的形式將數(shù)據(jù)的內在信息有邏輯性地呈現(xiàn)給用戶,使用戶更容易發(fā)現(xiàn)數(shù)據(jù)中蘊藏的規(guī)律,找出問題,進而做出決策;另一方面,數(shù)據(jù)可視化項目也是一張重要的名片,是企業(yè)數(shù)字建設效果的呈現(xiàn)。本文
    的頭像 發(fā)表于 04-29 10:18 ?352次閱讀
    數(shù)據(jù)<b class='flag-5'>可視化</b>:企業(yè)數(shù)字<b class='flag-5'>化</b>建設效果的呈現(xiàn)

    FUXA基于Web的過程可視化軟件案例

    FUXA——基于Web的過程可視化軟件
    發(fā)表于 04-24 18:32 ?0次下載

    態(tài)勢數(shù)據(jù)可視化技術有哪些

    確,計算方法不實用,可視化效果不直觀等技術問題,設計并實現(xiàn)基于地理信息系統(tǒng),網(wǎng)絡拓撲圖,攻擊路徑等的安全態(tài)勢可視化分析系統(tǒng)方法, 通過可視化技術將安全態(tài)勢數(shù)據(jù)以多視圖,多角度,多層次
    的頭像 發(fā)表于 04-22 15:17 ?338次閱讀

    態(tài)勢可視化系統(tǒng)軟件

    智慧華盛恒輝態(tài)勢可視化是一種對特定環(huán)境中一段時間內的持續(xù)動作和改變的目標實體的感知、認知和理解,并最終以直觀、靈活、逼真的方式展示總體狀態(tài)的技術。 智慧華盛恒輝可視化技術是戰(zhàn)場環(huán)境表達的最重要形式
    的頭像 發(fā)表于 04-22 14:48 ?263次閱讀

    數(shù)據(jù)可視化的未來:2024 年及以后

    隨著我們進入數(shù)據(jù)驅動決策的下一個時代,數(shù)據(jù)可視化領域即將迎來一場變革性革命。隨著信息的不斷涌入和數(shù)據(jù)的復雜性不斷增加,傳統(tǒng)的可視化方法需要幫助跟上步伐。人工智能、機器學習和增強現(xiàn)實等新興技術正在為新一代實時數(shù)據(jù)可視化工具鋪平道路
    的頭像 發(fā)表于 01-25 11:52 ?434次閱讀

    迎接數(shù)智時代:數(shù)字經(jīng)濟引領可視化轉型

    數(shù)字經(jīng)濟和數(shù)字轉型正推動企業(yè)進行變革,可視化和數(shù)智化成為關鍵驅動力。NFC技術為企業(yè)提供更便捷、更安全的數(shù)據(jù)傳輸途徑,加速數(shù)字轉型。企業(yè)應打造
    的頭像 發(fā)表于 01-15 17:59 ?464次閱讀
    迎接數(shù)智時代:數(shù)字經(jīng)濟引領<b class='flag-5'>可視化</b>轉型

    可視化全程追溯,可視化資產(chǎn)管理系統(tǒng)

    管理系統(tǒng)以智能技術為核心,融合實時監(jiān)控、數(shù)據(jù)分析與可視化展示等功能,為企業(yè)提供完整的資產(chǎn)管理解決方案。它能夠有效地追蹤和管理企業(yè)的固定資產(chǎn)、設備和庫存物資,幫助企業(yè)實現(xiàn)資產(chǎn)的全生
    的頭像 發(fā)表于 01-11 13:54 ?419次閱讀
    <b class='flag-5'>可視化</b>全程追溯,<b class='flag-5'>可視化</b>資產(chǎn)管理系統(tǒng)

    一鍵生成可視化圖表/大屏 這13款數(shù)據(jù)可視化工具很強大

    選擇何種數(shù)據(jù)可視化工具。那么你來對地方,往下看。 什么是數(shù)據(jù)可視化? 數(shù)據(jù)可視化是創(chuàng)建數(shù)據(jù)集趨勢、模式和關鍵見解的可視化表示的過程。數(shù)據(jù)
    的頭像 發(fā)表于 12-19 17:27 ?4797次閱讀
    一鍵生成<b class='flag-5'>可視化</b>圖表/大屏 這13款數(shù)據(jù)<b class='flag-5'>可視化</b>工具很強大

    Python 可視化如何配色

    一半。如果沒有良好的審美觀,很容易做出來的東西辣眼睛…… 所以想做好數(shù)據(jù)可視化,就要有合適的配色方案。除了可以借鑒參考配色網(wǎng)站的案例,可以自己自定義一套配色方案。 如何去自定義呢? 我倒是有一個想法,配色的美感需要培養(yǎng),但在一開始可以在優(yōu)秀的作品上尋找靈感,比如經(jīng)典電影
    的頭像 發(fā)表于 10-30 15:43 ?457次閱讀
    Python <b class='flag-5'>可視化</b>如何配色