挑戰Jupyter Notebook:雲協作、雲硬件,上雲的Notebook編程環境

選自medium

機器之心編譯

參與:李詩萌、張倩

對全世界的 Python 高手而言,Jupyter Notebook 是目前最流行的編程環境,但它也有一些令人難以忍受的缺點。為此,一個位於舊金山的小團隊開發了一款名為 Deepnote 的筆記本工具,這是一種雲協作、雲硬件,上雲的 Notebook 編程環境。Pindrop 的高級研究科學家 Anthony Agnone 認為,Deepnote 已經表現出了超越 Jupyter Notebook 的趨勢。

挑戰Jupyter Notebook:雲協作、雲硬件,上雲的Notebook編程環境


Deepnote 官方網站:https://www.deepnote.com/

如果你是像我一樣的數據科學家,你可能會在工程項目而不是真正的研究上花很多時間。安裝庫、管理數據庫、追蹤實驗、調試代碼、耗盡內存……對此,你一定深有感觸。

Jupyter Notebook 非常適合數據科學的原型設計。在這個單一的環境中,你可以進行無縫探索性分析、數據可視化以及構建 ML 模型的原型。因此,Jupyter Notebook 在數據科學領域大受歡迎。

但它也有一些缺陷。作為一種新工具,DeepNote 能夠以更好、更快的方式彌補這些缺陷,所以比現有工具都更適合使用。

下面我們來說一下 DeepNote 中令人興奮的改進。

實時協作

谷歌的在線協作工具套件(Docs、Sheets 和 Slides 等)在沒加任何功能的情況下,搶走了微軟 Office 大量的市場份額。他們是如何做到的?答案是:實時協作。

在谷歌的套件中和同事合作,不再需要同步進行,也無需為合併而煩心。此外,你還能知道同事們的當前進展,更加便於分工。

DeepNote 可以立即進行實時協作——它支持在共享計算環境中無縫合作。這雖然帶來了改變命名空間的問題,但我覺得,這總比共享 Jupyter notebook 強——它需要重新運行才能獲得給定狀態。

挑戰Jupyter Notebook:雲協作、雲硬件,上雲的Notebook編程環境

DeepNote 的實時協作。

此外,DeepNote 還提供了不同的權限等級:查看、執行、編輯、管理以及所有者。這樣就可以大批量控制操作這些筆記本了。

首先,以教學場景為例。在線課程的教師可以瀏覽虛擬教室中所有共享筆記本。教師擁有管理或所有者權限,而教室中的其他人只有查看權限。

再以要審查整個團隊成員工作的場景為例。團隊成員有所有者權限,這樣就可以全面控制整個筆記本。審查人員擁有編輯權限,可以提供在線反饋,但無法執行任何單元。只有團隊成員持有執行權限,這樣審查人員就無法改(wu)變(ran)團隊成員的命名空間。

變量瀏覽器

Spyder IDE 中有一個 Jupyter 沒有且重要的功能——易於訪問的命名空間瀏覽器。當然,Jupyter 筆記本中有 who/whos 的命令。但無法與 Spyder 相提並論。

而 DeepNote 再次填補了這一空白!

挑戰Jupyter Notebook:雲協作、雲硬件,上雲的Notebook編程環境

DeepNote 為變量提供了精緻的總結。

除了可靠的變量瀏覽器外,如果無法漂亮地顯示 pandas 的 DataFrame,那任何筆記本環境都是不完美的。

挑戰Jupyter Notebook:雲協作、雲硬件,上雲的Notebook編程環境

沒錯,DeepNote 筆記本還能很好地展示 pandas 的 DataFrame

連接雲硬盤

你肯定聽說過一條經驗法則(其實更像是抱怨):數據科學中有 80% 無關數學和統計學。在雲計算設置中,這個比例更接近 90%,還有 10% 的時間損失在為筆記本配置正確的算力上。

挑戰Jupyter Notebook:雲協作、雲硬件,上雲的Notebook編程環境

輕鬆查看並選擇筆記本在何種硬件上運行(https://docs.deepnote.com/)。

DeepNote 理解你的痛苦,可以讓你無縫訪問基於雲的硬件。「無縫」的意思是你可以在筆記本界面上進行所有設置。順便說一句,除非你的核處於空閒狀態,否則它是不會主動關閉的。

Python 包的管理

Python 有出色的包管理系統。DeepNote 意識到了這一點,並在工作路徑中附有 requirements.txt 文件。即使這樣,也很容易忘記安裝一些依賴包。除非導入包時觸發錯誤,否則無法意識到這方面有所疏漏。

為此,DeepNote 筆記本會主動監控包的導入,並根據你聲明的需求,提醒你遺漏的依賴。還有,如果需要的文件不存在,它會猜測該文件是什麼。劇透預警:它的猜測一般都是正確的。

挑戰Jupyter Notebook:雲協作、雲硬件,上雲的Notebook編程環境

DeepNote 包管理器建議安裝缺少的依賴包。

大量集成

挑戰Jupyter Notebook:雲協作、雲硬件,上雲的Notebook編程環境

創建新項目的示例。

最後,DeepNote 幾乎提供了你想要的所有集成。為了使筆記本井井有條,你可以從不同連接中選擇源碼控制庫。這可以在創建筆記本和寫後臺更新時用到。

除了源碼控制,DeepNote 筆記本還可以連接雲計算數據存儲,比如 S3、GCS 以及常用的數據庫引擎。

挑戰Jupyter Notebook:雲協作、雲硬件,上雲的Notebook編程環境

正式連接到不同的雲基礎架構。

儘管 DeepNote 還沒能完全取代 Jupyter,但已隱隱表現出這樣的趨勢。我期待看到 DeepNote 未來將如何繼續!但不需要一味相信我,可以像我一樣註冊他們的搶先訪問計劃。他們在一週內就給出了回應,從那以後我們就一直在討論可以改進之處。不要只抱怨現狀,要改變它。

原文鏈接:https://towardsdatascience.com/deepnote-sets-course-to-become-the-jupyter-killer-d0cb6e3ca011


分享到:


相關文章: