2020年已經過去了,國外的一家專門提供Python服務的網站Troy Labs,盤點出了2020年發布的Python庫Top10。
上榜的有FastAPI的升級版Typer、將CLI變成彩色的Rich、基于GUI框架的Dear PyGui、還有精簡報錯信息的PrettyErrors……總有一款是你想要的。
下面就讓我們一起來看看吧~
1、Typer
Typer跟FastAPI的原理相同,都是Python上用來構建API服務的一個高性能框架。
它是FastAPI的升級版,不僅能夠準確地記錄代碼,還能夠輕松地進行CLI驗證。
Typer易于學習和使用,不需要用戶閱讀復雜的教程文檔即可上手。支持編輯器(如VSCode)代碼自動補全,提高開發人員的開發效率,減少bug的數量。
其次,Typer還能配合命令行神器Click使用,就可以利用Click的優點和插件,實現更復雜的功能。
2、Rich
誰規定CLI界面一定得是黑白的?它也可以是彩色的。
Rich API不僅能夠在終端輸出提供豐富的彩色文本和精美的格式,還提供了精美的表格、進度條、編輯器、追蹤器、語法高亮等。如下圖所示。
它還可以安裝在Python REPL上,所有的數據結構都可以漂亮地輸出或標注。
總而言之,它是彩色的、漂亮的、強大的。
Rich兼容性也不錯,適用于Linux,Mac和Windows等多種系統。真彩色/表情符號可與新的Windows終端一起使用。
但是請注意,Rich必須要Python 3.6.1或以上版本。
3、Dear PyGui
如上所示,雖然終端應用程序可以做成很漂亮的樣子。但是,你可能還需要一個真正的GUI。
Dear PyGui是一個便于使用、功能強大的Python GUI框架。但是它與其他的Python GUI卻有著根本上的不同。
它使用了即時模式范式和計算機的GPU來實現動態界面。即時模式范式在視頻游戲中非常流行,這意味著它的動態GUI不需要保留任何數據,而是逐幀獨立繪制的。同時,它還使用GPU來建構動態界面。
Dear PyGui還可以繪圖、創建主題、創建2D游戲,還擁有一些小工具,比如說內置文檔、日志記錄、源代碼查看器之類的,這些小工具可以協助App的開發。
支持它的系統有:Windows 10(DirectX 11),Linux(OpenGL 3)和macOS(Metal)等。
4、PrettyErrors
PrettyErrors是一個精簡Python錯誤信息的工具,特點是界面十分簡潔友好。
它最顯著的功能是支持在終端進行彩色輸出,標注出文件棧蹤跡,發現錯誤信息,過濾掉冗余信息,提取出關鍵部分,并且進行彩色標注,從而提高開發者的效率。
而且它可以不用安裝,直接被導入項目中使用,但是需要先配置一些參數,其導入和配置的參數如下:
5、Diagrams
程序員在編程的時候,有時候需要跟同事解釋他設計的程序代碼之間復雜的結構關系,然而這不是一兩句話能說清楚的,需要畫表或者做脈絡圖。
一般情況下,程序員使用GUI工具處理圖表,并將文稿進行可視化處理。但是還有更好的方法,比如說使用Diagrams庫。
Diagrams讓不需要任何設計類工具,直接在Python代碼中繪制云系統結構。它們的圖標來自多家云服務商,包括AWS, Azure, GCP等。
僅需幾行代碼,就可以簡單地創造出箭頭符號和結構圖。
由于它使用Graphviz來渲染圖,所以還需要先安裝好Graphviz。
6、Hydra and OmegaConf
在做機器學習項目的時候,需要做一大堆的環境配置工作。因此,在一些復雜的應用程序中,配置管理工作也相應變得復雜。
Hydra可以使配置工作變得簡單。它能夠從命令行或者配置文件中覆蓋部分出來,無需維護相似的配置文件,用組合的方式進行配置,從而加快了實驗運行速度。
Hydra兼容性強,擁有含插件的結構,能夠很好地與開發者的操作文件融合。它的插件還可以實現直接通過命令行,就把代碼發布到AWS或者其他云端系統。
Hydra也離不開OmegaConf,兩者關系密不可分,OmegaConf為Hydra的分層配置系統提供了協同的API,二者協同運作可支持YAML、配置文件、對象、CLI參數等。
7、PyTorch Lightning
PyTorch Lightning也是Facebook的一個研究成果。它是一個輕巧的PyTorch包裝器,用于高性能AI研究,其最重要的特征是能夠解析PyTorch代碼,讓代碼研究成分和工程成分的分離。
它的擴展模型可以在任何硬件(CPU、GPU、TPU)上運行,且容易被復制,刪除了大量的文件樣本,保持了自身的靈活性,運行速度快。
Lightning能夠使DL / ML研究的40多個部分實現自動化,例如GPU訓練、分布式GPU(集群)訓練、TPU訓練等等……
因為Lightning將可以將文件自動導出到ONNX或TorchScript,所以它適用于進行快速推理的AI研究員、BERT或者自監督學習的研究團隊等。
8、Hummingbird
Hummingbird是微軟的一項研究成果,它能夠將已經訓練好的ML模型匯編成張量計算,從而不需要設計新的模型。
還允許用戶使用神經網絡框架(例如PyTorch)來加速傳統的ML模型。
它的推理API跟sklearn范例十分相似,都可以重復使用現有的代碼,但是它是用Hummingbird生成的代碼去實現的。
Hummingbird還在Sklearn API之后提供了一個方便的統一推理API。這樣就可以將Sklearn模型與Hummingbird生成的模型互換,而無需更改推理代碼。
它之所以被重點關注,還因為它能夠支持多種多樣的模型和格式。
到目前為止,Hummingbird支持PyTorch、TorchScript、ONNX和TVM等各種ML模型。
9、HiPlot
由于ML模型變得越來越復雜,還有很多超參數,于是就需要用到HiPlot。HiPlot是今年3月Facebook發行的一個庫,主要用于處理高維數據。
Facebook AI通過幾十個超參數和10萬多個實驗,利用HiPlot,來分析深度神經網絡。
它是用平行圖和其他的圖像方式,幫助AI研究者發現高維數據的相關性和模型,是一款輕巧的交互式可視化工具。
HiPlot與其他可視化工具相比,有其特有的優點:
首先,它的互動性強,因為平行圖是交互式的,所以能夠滿足多種情況下的圖像可視化。
其次,它簡單易用,可以通過IPython Notebook或者通過帶有“ hiplot”命令的服務直接使用。
它還有具有可擴展性。默認情況下,HiPlot的Web服務可以解析CSV或JSON文件,還可以為其提供自定義Python解析器,將實驗轉換為HiPlot實驗。
10、Scalene
Scalene是一個用于Python腳本的CPU和內存分析器,能夠正確處理多線程代碼,還能區分Python代碼和本機代碼的運行時間。
你不需要修改代碼,只需運行Scalene腳本,它就會生成一個文本形式的報告,顯示出每一行代碼的CPU和內存的使用情況。通過這個文本報告,開發人員可以提高代碼的效率。
Scalene的速度快、準確率高,還能夠對高耗能的代碼行進行標注。
除了以上10個,還有多個高性能的Python庫被點名了,例如Norfair、Quart、Alibi-detect、Einops……等等,詳情查看底部鏈接。
那么,你今年有發現好用的Python庫嗎?
如果有的話,請在評論區一起分享一下呀~
原文標題:誰是2020年最強Python庫?年度Top10出爐
文章出處:【微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
API
+關注
關注
2文章
1499瀏覽量
61964 -
python
+關注
關注
56文章
4792瀏覽量
84628
原文標題:誰是2020年最強Python庫?年度Top10出爐
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論