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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

誰是2020年最強(qiáng)Python庫?

新機(jī)器視覺 ? 來源:量子位 ? 作者:蕾師師 ? 2021-01-07 13:49 ? 次閱讀

2020年已經(jīng)過去了,國外的一家專門提供Python服務(wù)的網(wǎng)站Troy Labs,盤點(diǎn)出了2020年發(fā)布的Python庫Top10。

上榜的有FastAPI的升級版Typer、將CLI變成彩色的Rich、基于GUI框架的Dear PyGui、還有精簡報(bào)錯信息的PrettyErrors……總有一款是你想要的。

下面就讓我們一起來看看吧~

1、Typer

Typer跟FastAPI的原理相同,都是Python上用來構(gòu)建API服務(wù)的一個高性能框架。

它是FastAPI的升級版,不僅能夠準(zhǔn)確地記錄代碼,還能夠輕松地進(jìn)行CLI驗(yàn)證。

Typer易于學(xué)習(xí)和使用,不需要用戶閱讀復(fù)雜的教程文檔即可上手。支持編輯器(如VSCode)代碼自動補(bǔ)全,提高開發(fā)人員的開發(fā)效率,減少bug的數(shù)量。

其次,Typer還能配合命令行神器Click使用,就可以利用Click的優(yōu)點(diǎn)和插件,實(shí)現(xiàn)更復(fù)雜的功能。

2、Rich

誰規(guī)定CLI界面一定得是黑白的?它也可以是彩色的。

Rich API不僅能夠在終端輸出提供豐富的彩色文本和精美的格式,還提供了精美的表格、進(jìn)度條、編輯器、追蹤器、語法高亮等。如下圖所示。

它還可以安裝在Python REPL上,所有的數(shù)據(jù)結(jié)構(gòu)都可以漂亮地輸出或標(biāo)注。

總而言之,它是彩色的、漂亮的、強(qiáng)大的。

Rich兼容性也不錯,適用于Linux,Mac和Windows等多種系統(tǒng)。真彩色/表情符號可與新的Windows終端一起使用。

但是請注意,Rich必須要Python 3.6.1或以上版本。

3、Dear PyGui

如上所示,雖然終端應(yīng)用程序可以做成很漂亮的樣子。但是,你可能還需要一個真正的GUI。

1e124372-503c-11eb-8b86-12bb97331649.png

Dear PyGui是一個便于使用、功能強(qiáng)大的Python GUI框架。但是它與其他的Python GUI卻有著根本上的不同。

它使用了即時模式范式和計(jì)算機(jī)的GPU來實(shí)現(xiàn)動態(tài)界面。即時模式范式在視頻游戲中非常流行,這意味著它的動態(tài)GUI不需要保留任何數(shù)據(jù),而是逐幀獨(dú)立繪制的。同時,它還使用GPU來建構(gòu)動態(tài)界面。

Dear PyGui還可以繪圖、創(chuàng)建主題、創(chuàng)建2D游戲,還擁有一些小工具,比如說內(nèi)置文檔、日志記錄、源代碼查看器之類的,這些小工具可以協(xié)助App的開發(fā)。

支持它的系統(tǒng)有:Windows 10(DirectX 11),Linux(OpenGL 3)和macOS(Metal)等。

4、PrettyErrors

PrettyErrors是一個精簡Python錯誤信息的工具,特點(diǎn)是界面十分簡潔友好。

它最顯著的功能是支持在終端進(jìn)行彩色輸出,標(biāo)注出文件棧蹤跡,發(fā)現(xiàn)錯誤信息,過濾掉冗余信息,提取出關(guān)鍵部分,并且進(jìn)行彩色標(biāo)注,從而提高開發(fā)者的效率。

而且它可以不用安裝,直接被導(dǎo)入項(xiàng)目中使用,但是需要先配置一些參數(shù),其導(dǎo)入和配置的參數(shù)如下:

1eabc862-503c-11eb-8b86-12bb97331649.png

5、Diagrams

程序員編程的時候,有時候需要跟同事解釋他設(shè)計(jì)的程序代碼之間復(fù)雜的結(jié)構(gòu)關(guān)系,然而這不是一兩句話能說清楚的,需要畫表或者做脈絡(luò)圖。

一般情況下,程序員使用GUI工具處理圖表,并將文稿進(jìn)行可視化處理。但是還有更好的方法,比如說使用Diagrams庫。

Diagrams讓不需要任何設(shè)計(jì)類工具,直接在Python代碼中繪制云系統(tǒng)結(jié)構(gòu)。它們的圖標(biāo)來自多家云服務(wù)商,包括AWS, Azure, GCP等。

僅需幾行代碼,就可以簡單地創(chuàng)造出箭頭符號和結(jié)構(gòu)圖。

1ef8093e-503c-11eb-8b86-12bb97331649.png

由于它使用Graphviz來渲染圖,所以還需要先安裝好Graphviz。

6、Hydra and OmegaConf

在做機(jī)器學(xué)習(xí)項(xiàng)目的時候,需要做一大堆的環(huán)境配置工作。因此,在一些復(fù)雜的應(yīng)用程序中,配置管理工作也相應(yīng)變得復(fù)雜。

Hydra可以使配置工作變得簡單。它能夠從命令行或者配置文件中覆蓋部分出來,無需維護(hù)相似的配置文件,用組合的方式進(jìn)行配置,從而加快了實(shí)驗(yàn)運(yùn)行速度。

Hydra兼容性強(qiáng),擁有含插件的結(jié)構(gòu),能夠很好地與開發(fā)者的操作文件融合。它的插件還可以實(shí)現(xiàn)直接通過命令行,就把代碼發(fā)布到AWS或者其他云端系統(tǒng)。

Hydra也離不開OmegaConf,兩者關(guān)系密不可分,OmegaConf為Hydra的分層配置系統(tǒng)提供了協(xié)同的API,二者協(xié)同運(yùn)作可支持YAML、配置文件、對象、CLI參數(shù)等。

7、PyTorch Lightning

PyTorch Lightning也是Facebook的一個研究成果。它是一個輕巧的PyTorch包裝器,用于高性能AI研究,其最重要的特征是能夠解析PyTorch代碼,讓代碼研究成分和工程成分的分離。

它的擴(kuò)展模型可以在任何硬件(CPU、GPU、TPU)上運(yùn)行,且容易被復(fù)制,刪除了大量的文件樣本,保持了自身的靈活性,運(yùn)行速度快。

Lightning能夠使DL / ML研究的40多個部分實(shí)現(xiàn)自動化,例如GPU訓(xùn)練、分布式GPU(集群)訓(xùn)練、TPU訓(xùn)練等等……

因?yàn)長ightning將可以將文件自動導(dǎo)出到ONNX或TorchScript,所以它適用于進(jìn)行快速推理的AI研究員、BERT或者自監(jiān)督學(xué)習(xí)的研究團(tuán)隊(duì)等。

8、Hummingbird

Hummingbird是微軟的一項(xiàng)研究成果,它能夠?qū)⒁呀?jīng)訓(xùn)練好的ML模型匯編成張量計(jì)算,從而不需要設(shè)計(jì)新的模型。

還允許用戶使用神經(jīng)網(wǎng)絡(luò)框架(例如PyTorch)來加速傳統(tǒng)的ML模型。

它的推理API跟sklearn范例十分相似,都可以重復(fù)使用現(xiàn)有的代碼,但是它是用Hummingbird生成的代碼去實(shí)現(xiàn)的。

Hummingbird還在Sklearn API之后提供了一個方便的統(tǒng)一推理API。這樣就可以將Sklearn模型與Hummingbird生成的模型互換,而無需更改推理代碼。

它之所以被重點(diǎn)關(guān)注,還因?yàn)樗軌蛑С侄喾N多樣的模型和格式。

到目前為止,Hummingbird支持PyTorch、TorchScript、ONNX和TVM等各種ML模型。

9、HiPlot

由于ML模型變得越來越復(fù)雜,還有很多超參數(shù),于是就需要用到HiPlot。HiPlot是今年3月Facebook發(fā)行的一個庫,主要用于處理高維數(shù)據(jù)。

Facebook AI通過幾十個超參數(shù)和10萬多個實(shí)驗(yàn),利用HiPlot,來分析深度神經(jīng)網(wǎng)絡(luò)。

它是用平行圖和其他的圖像方式,幫助AI研究者發(fā)現(xiàn)高維數(shù)據(jù)的相關(guān)性和模型,是一款輕巧的交互式可視化工具。

1fa3bfd6-503c-11eb-8b86-12bb97331649.png

HiPlot與其他可視化工具相比,有其特有的優(yōu)點(diǎn):

首先,它的互動性強(qiáng),因?yàn)槠叫袌D是交互式的,所以能夠滿足多種情況下的圖像可視化。

其次,它簡單易用,可以通過IPython Notebook或者通過帶有“ hiplot”命令的服務(wù)直接使用。

它還有具有可擴(kuò)展性。默認(rèn)情況下,HiPlot的Web服務(wù)可以解析CSV或JSON文件,還可以為其提供自定義Python解析器,將實(shí)驗(yàn)轉(zhuǎn)換為HiPlot實(shí)驗(yàn)。

10、Scalene

Scalene是一個用于Python腳本的CPU和內(nèi)存分析器,能夠正確處理多線程代碼,還能區(qū)分Python代碼和本機(jī)代碼的運(yùn)行時間。

你不需要修改代碼,只需運(yùn)行Scalene腳本,它就會生成一個文本形式的報(bào)告,顯示出每一行代碼的CPU和內(nèi)存的使用情況。通過這個文本報(bào)告,開發(fā)人員可以提高代碼的效率。

201b6f2c-503c-11eb-8b86-12bb97331649.png

Scalene的速度快、準(zhǔn)確率高,還能夠?qū)Ω吆哪艿拇a行進(jìn)行標(biāo)注。

除了以上10個,還有多個高性能的Python庫被點(diǎn)名了,例如Norfair、Quart、Alibi-detect、Einops……等等,詳情查看底部鏈接。

那么,你今年有發(fā)現(xiàn)好用的Python庫嗎?

如果有的話,請?jiān)谠u論區(qū)一起分享一下呀~

原文標(biāo)題:誰是2020年最強(qiáng)Python庫?年度Top10出爐

文章出處:【微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

責(zé)任編輯:haq

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

    關(guān)注

    2

    文章

    1505

    瀏覽量

    62170
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4799

    瀏覽量

    84817

原文標(biāo)題:誰是2020年最強(qiáng)Python庫?年度Top10出爐

文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    數(shù)據(jù)事件觸發(fā)的設(shè)置和應(yīng)用

    數(shù)據(jù)無論對于生產(chǎn)管理還是很多的實(shí)際應(yīng)用都非常重要。小編這次聊一下數(shù)據(jù)事件觸發(fā)的應(yīng)用。示例使用了postgresql和Python。
    的頭像 發(fā)表于 12-13 15:14 ?162次閱讀

    使用Python進(jìn)行串口通信的案例

    當(dāng)然!以下是一個使用Python進(jìn)行串口通信的簡單示例。這個示例展示了如何配置串口、發(fā)送數(shù)據(jù)以及接收數(shù)據(jù)。我們將使用 pyserial ,這是一個非常流行的用于串口通信的Python
    的頭像 發(fā)表于 11-22 09:11 ?290次閱讀

    NVIDIA發(fā)布cuPyNumeric加速計(jì)算

    該加速計(jì)算幫助科研人員無縫地?cái)U(kuò)展到強(qiáng)大的計(jì)算集群,并且無需修改 Python 代碼,推進(jìn)科學(xué)發(fā)現(xiàn)。
    的頭像 發(fā)表于 11-21 10:05 ?284次閱讀

    如何使用Python構(gòu)建LSTM神經(jīng)網(wǎng)絡(luò)模型

    構(gòu)建一個LSTM(長短期記憶)神經(jīng)網(wǎng)絡(luò)模型是一個涉及多個步驟的過程。以下是使用Python和Keras構(gòu)建LSTM模型的指南。 1. 安裝必要的 首先,確保你已經(jīng)安裝了Python
    的頭像 發(fā)表于 11-13 10:10 ?441次閱讀

    如何用python控制usb2any?

    我想用python控制usb2any,在網(wǎng)上搜索后得到的關(guān)于usb2any的資料很少,是否有官方的usb2any函數(shù)?
    發(fā)表于 11-08 14:36

    Python解析:通過實(shí)現(xiàn)代理請求與數(shù)據(jù)抓取

    Python中,有多個可以幫助你實(shí)現(xiàn)代理請求和數(shù)據(jù)抓取。這些提供了豐富的功能和靈活的API,使得你可以輕松地發(fā)送HTTP請求、處理響應(yīng)、解析HTML/XML/JSON數(shù)據(jù),以及進(jìn)行復(fù)雜的網(wǎng)絡(luò)操作。
    的頭像 發(fā)表于 10-24 07:54 ?191次閱讀

    如何用python控制usb2any?

    我想用python控制usb2any,在網(wǎng)上搜索后得到的關(guān)于usb2any的資料很少,是否有官方的usb2any函數(shù)?
    發(fā)表于 09-27 06:44

    pytorch和python的關(guān)系是什么

    在當(dāng)今的人工智能領(lǐng)域,Python已經(jīng)成為了最受歡迎的編程語言之一。Python的易學(xué)易用、豐富的和框架以及強(qiáng)大的社區(qū)支持,使其成為了數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)等領(lǐng)域的首選語言。而在深度學(xué)習(xí)領(lǐng)域
    的頭像 發(fā)表于 08-01 15:27 ?2082次閱讀

    Python建模算法與應(yīng)用

    上成為理想的腳本語言,特別適用于快速的應(yīng)用程序開發(fā)。本文將詳細(xì)介紹Python在建模算法中的應(yīng)用,包括常見的建模算法、Python在建模中的優(yōu)勢、常用以及實(shí)際案例。
    的頭像 發(fā)表于 07-24 10:41 ?580次閱讀

    opencv-python和opencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一個開源的計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)軟件,它提供了大量的圖像和視頻處理功能。OpenCV-Python
    的頭像 發(fā)表于 07-16 10:38 ?1267次閱讀

    深度學(xué)習(xí)常用的Python

    深度學(xué)習(xí)作為人工智能的一個重要分支,通過模擬人類大腦中的神經(jīng)網(wǎng)絡(luò)來解決復(fù)雜問題。Python作為一種流行的編程語言,憑借其簡潔的語法和豐富的支持,成為了深度學(xué)習(xí)研究和應(yīng)用的首選工具。本文將深入探討
    的頭像 發(fā)表于 07-03 16:04 ?668次閱讀

    如何使用Python進(jìn)行神經(jīng)網(wǎng)絡(luò)編程

    。 為什么使用Python? Python是一種廣泛使用的高級編程語言,以其易讀性和易用性而聞名。Python擁有強(qiáng)大的,如TensorFlow、Keras和PyTorch,這些
    的頭像 發(fā)表于 07-02 09:58 ?423次閱讀

    2020-2022-2024TI杯全國大學(xué)生電子設(shè)計(jì)競賽官方推薦芯片對比分析比較

    2020-2022-2024TI杯全國大學(xué)生電子設(shè)計(jì)競賽官方推薦芯片對比分析比較 一一度的TI杯全國大學(xué)生設(shè)計(jì)競賽又正式拉開帷幕,器件清單一出來又忍不住對2024、2022
    發(fā)表于 06-25 10:25

    ESP32下如何加自定義Python?

    我看官方有提供Micropython的bin文件,但我想根據(jù)自己外設(shè)擴(kuò)充一下Python,這個應(yīng)該從哪里入手? 之前做過RTT系統(tǒng)的python擴(kuò)充,RTT有提供Micropyth
    發(fā)表于 06-18 06:27

    python 學(xué)習(xí):在內(nèi)網(wǎng)中 python-numpy 安裝方法,升級pip3版本的指令

    指令格式如下:先下載numpy到C盤具體位置 手動安裝指令如下: pip install c:\\\\users\\\\sesa738142
    發(fā)表于 04-22 17:18