亚洲国产成人精品久久_欧美日韩国产综合一区二区_亚洲精品理论电影_色综合久久中文字幕

限制解除!Netflix開源Polynote,讓數據科學Notebook更好用

放大字體  縮小字體 發布日期:2019-11-23  來源:來自互聯網  作者:來自互聯網  瀏覽次數:935
導讀

但幾天前,Netflix開源了Polynote,這是一個全新的Notebook環境,可以應對其中的一些挑戰。Polynote的出現是為了滿足這一基本要求,但它汲取了在數據科學領域中搭建最具雄心的Not…

全文共2751字,預計學習時長8分鐘

全文共2751字,預計學習時長8分鐘

來源:Pexels

Notebook是數據科學家最好的朋友,也可能是工作上的一大噩夢。對于習慣于使用現代集成開發環境(IDEs)的人來說,使用Notebook感覺就像回到了幾十年前。此外,現代Notebook運行環境大多受限于Python程序,并且缺乏其他編程語言的一流支持。

但幾天前,Netflix開源了Polynote,這是一個全新的Notebook環境,可以應對其中的一些挑戰。 Polynote的出現是為了實現加速Netflix數據科學實驗的需求。多年來,Netflix建立了世界一流的機器學習平臺,該平臺主要基于Scala等JVM語言。Jupyter Notebooks等主流技術對這些語言的支持從根本上來說是基礎,因此需要更好的解決方案。Polynote的出現是為了滿足這一基本要求,但它汲取了在數據科學領域中搭建最具雄心的Notebook實驗平臺時所獲得的經驗教訓。

Netflix的Notebook驅動器內部架構

在過去的幾年中,Netflix轉變了數據科學Notebook的使用方式,從實驗制品轉變成了機器學習解決方案中生命周期的關鍵組成部分。最初,Netflix將Jupyter Notebooks作為數據探索和分析的工具。但是,工程團隊很快意識到Jupyter在運行時間抽象化、可擴展性、代碼的可解釋性和調試方面有著明顯的優勢,如果使用得當,可能會對數據科學工作量產生重大影響。為了擴大Jupyter在數據科學運行時間方面的使用,Netflix團隊需要解決一些主要挑戰:

  • 代碼輸出不匹配:Notebook經常需要更換,在很多情況下,在運行環境中看到的輸出與當前代碼并不對應。
  • 服務器要求:Notebook通常需要Notebook服務器運行,這在Notebook大規模使用時會帶來架構上的挑戰。
  • 計劃:大多數數據科學模型需要定期執行,但是用于計劃Notebook的工具仍然相當有限。
  • 參數化:Notebook是相當靜態的代碼環境,傳遞輸入參數的過程絕非易事。
  • 集成測試:Notebook是孤立的代碼環境,眾所周知,它很難與其他Notebook相互集成。因此,使用Notebook時,集成測試等任務將是一大噩夢。

為了滿足這些要求,Netflix建立了一個雄心勃勃的架構,可以使Jupyter Notebooks投入運營。最初可以實現包括諸如“Papermill”之類的技術,該技術可實現Notebook的參數化。

盡管Netflix最初的Notebook架構確實雄心勃勃,但也限制了Python程序,但現在改進后,可以進一步延伸了。

進入Polynote

Polynote是一個多語言Notebook實驗環境。除了Python,當前版本還支持SQL,Vega(visualizations),當然還有Scala等語言。該平臺還與數據科學基礎架構(例如ApacheSpark)集成在一起。Polynote的核心包括以下功能:

a)改進的編輯經驗:Polynote嘗試讓編輯體驗更接近現代IDE。

b)多國語言支持:Polynote提供對Scala和數據科學環境中其他語言的一流支持。

c)數據可視化方面的改進:Polynote無需添加大量代碼即可將本機數據可視化,并集成到Notebook的數據集中。

d)配置和依賴項管理:諸如Scala之類的語言在程序中需要復雜的程序包依賴項。Polynote將包依賴項配置保存在Notebook中,以解決JVM開發人員在該領域遇到的一些常見問題。

e)可重復性:將代碼、數據和執行結果組合到一個文檔中,可以使Notebook功能更加強大,但也難以復制。Polynote的可重復性是框架的一流功能。

a)改進的編輯經驗

Polynote包含IDE中的常見功能,例如代碼自動補全或語法錯誤高亮顯示,從而改進了數據科學家和研究人員新建Notebook的體驗。更多的編輯功能由Monaco編輯器提供,該編輯器可以支持Visual Studio Code的體驗。

b)多國語言支持:

Polynote不僅對多種語言提供支持,而且還可將這些語言組合在一個程序中。在Polynote中,每個單元(cell)可以基于不同的語言。運行單元時,內核會向單元的語言解釋器提供可用的類型化輸入值,而解釋器將結果輸入的輸出值返回到內核。這讓PolynoteNotebook中的單元可以在相同的情境中運行。下面的示例呈現了一個Python庫,用于計算使用Scala生成的數據集的保序回歸(isotonic regression)。

c)數據可視化方面的改進:

數據可視化是大多數Notebook運行環境中的常見組件。但是,Polynote通過把可視化價值主張包含在平臺的本機組件中,將可視化價值主張提升到另一層次,該平臺不需要開發人員編寫任何代碼即可直觀地探索數據集。

d)配置和依賴項管理

大多數時候,使用Notebook的數據科學家都可以享受Python程序包管理模型中處理程序依賴項的高效率。但是,在像Scala這樣的JVM語言中,依賴項管理可能會是一大噩夢。Polynote通過將配置和依賴項直接存儲在Notebook中而無需依賴外部文件,可以解決這一挑戰。此外,Polynote還提供了一個用戶友好型的“配置”部分,用戶可以在其中為每個Notebook設置依賴項。

e)可重復性

借助Polynote,Netflix有一個新的代碼解釋模塊,而無需像傳統Notebook那樣依賴REPL模型。新解釋模型的一個關鍵功能就是消除了隱藏狀態,這使數據科學家可以在Notebook中復制單元而無需從先前位置引入任何狀態。 Polynote是雄心勃勃的數據科學Notebook競爭中的一個新版本,但它有自己的優點。基于JVM語言的支持可讓使Polynote成為致力于Spark基礎結構開發人員的最愛。同樣,編輯和可重復性功能無疑是對傳統Notebook環境的增強。

Polynote可以在Github上找到,也可以關注該項目的網站。

留言 點贊 關注

我們一起分享AI學習與發展的干貨

如轉載,請后臺留言,遵守轉載規范

 
 
免責聲明
本文為會員免費發布,僅代表發布者個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,作者需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理。
 
 
主站蜘蛛池模板: 91精品国产91久久久久福利| 国产区精品视频| 天天人人精品| 精品国产91亚洲一区二区三区www| 国产精品丝袜一区二区三区 | 国产欧美日韩中文字幕| 日本精品一区二区三区在线播放视频| 国产福利视频一区| 国产精品亚洲网站| 国产亚洲精品美女久久久m| 久久久97精品| 久久久欧美精品| 久久久精品网站| 日本不卡在线观看| 午夜久久久久久久久久久| 91精品国产91久久久久久吃药 | 国产精品一区二区3区| 国语精品免费视频| 久久国产精品久久久久V| 久久免费一区| 久久久精品在线观看| 欧美精品久久久久久久免费观看| 日本视频一区二区在线观看| 青青草原av在线播放| 欧美一级免费在线观看| 欧美亚洲在线观看| 久久av中文字幕| 国产精品中文字幕在线| 99国产在线视频| 亚洲字幕一区二区| 日韩国产一区久久| 欧美精品一本久久男人的天堂| 萌白酱国产一区二区| 欧美最猛黑人xxxx黑人猛叫黄| 欧美在线视频一区二区| 久久精品国产精品亚洲精品色 | 69av在线视频| 日本视频一区二区在线观看| 日本亚洲欧洲色α| 九九热精品视频在线播放| 国产在线视频不卡|