<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          誰(shuí)是 2020 年最強(qiáng) Python 庫(kù)?年度 Top 10 出爐!

          共 4183字,需瀏覽 9分鐘

           ·

          2021-01-06 16:43


          蕾師師 發(fā)自 凹非寺?

          量子位 報(bào)道 | 公眾號(hào) QbitAI

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

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

          下面就讓我們一起來(lái)看看吧~

          1、Typer

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

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

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

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

          開源地址:
          https://github.com/tiangolo/typer

          2、Rich

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

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

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

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

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

          但是請(qǐng)注意,Rich 必須要 Python 3.6.1 或以上版本。

          開源地址:
          https://github.com/willmcgugan/rich

          3、Dear PyGui

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

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

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

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

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

          開源地址:
          https://github.com/hoffstadt/DearPyGui

          4、PrettyErrors

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

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

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

          開源地址:
          https://github.com/onelivesleft/PrettyErrors

          5、Diagrams

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

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

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

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

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

          開源地址:
          https://github.com/mingrammer/diagrams

          6、Hydra and OmegaConf

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

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

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

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

          開源地址:
          https://github.com/facebookresearch/hydra

          https://github.com/omry/omegaconf

          7、PyTorch Lightning

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

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

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

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

          開源地址:
          https://github.com/PyTorchLightning/PyTorch-lightning

          8、Hummingbird

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

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

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

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

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

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

          開源地址:
          https://github.com/microsoft/hummingbird

          9、HiPlot

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

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

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

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

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

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

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

          開源地址:
          https://github.com/facebookresearch/hiplot

          參考鏈接:
          https://ai.facebook.com/blog/hiplot-high-dimensional-interactive-plots-made-easy

          10、Scalene

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

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

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

          開源地址
          https://github.com/emeryberger/scalene

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

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

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

          參考鏈接:
          https://tryolabs.com/blog/2020/12/21/top-10-python-libraries-of-2020/

          https://www.upgrad.com/blog/reasons-why-python-popular-with-developers/

          搶茅臺(tái)腳本火了!Github 熱搜榜第一名!


          別這樣直接運(yùn)行Python命令,否則電腦等于“裸奔”

          瀏覽 28
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  无码毛片一区二区三区四区五区六区 | 操逼王 | 国产成人无码精品久久久一区 | 91五月丁香啪啪视频 | 97午夜福利视频 |