自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

2019 年度 Python 類庫(kù) Top 10

新聞 后端
這是第五屆 Python 類庫(kù) Top 10 年度榜。在這里,你會(huì)發(fā)現(xiàn)一些隱藏在開(kāi)源世界中的珍寶,它們能讓你開(kāi)始著手新的項(xiàng)目,或者讓你現(xiàn)有的項(xiàng)目更加有趣。

 [[311839]]

這是第五屆 Python 類庫(kù) Top 10 年度榜。在這里,你會(huì)發(fā)現(xiàn)一些隱藏在開(kāi)源世界中的珍寶,它們能讓你開(kāi)始著手新的項(xiàng)目,或者讓你現(xiàn)有的項(xiàng)目更加有趣。從這份榜單里,你既能找到機(jī)器學(xué)習(xí)的庫(kù),也能找到非機(jī)器學(xué)習(xí)的庫(kù),所以它在各方面均有所涉及。

1. HTTPX

如果你是一名經(jīng)常與 api 交互的 Python 死忠粉,可能會(huì)很熟悉 requests 類庫(kù)。然而,異步范式在高性能現(xiàn)代應(yīng)用程序中越來(lái)越常見(jiàn),如果你使用的正是異步范式,requests 可不會(huì)給你帶來(lái)什么好處。

為了解決這個(gè)問(wèn)題, Tom Christie 和他的合作者為我們帶來(lái)了 HTTPX,它是用于下個(gè)十年的新一代異步 HTTP 客戶端。

HTTPX 延續(xù)了 requests 的用法,為你提供了標(biāo)準(zhǔn)特性以及 HTTP/2 和 HTTP/1 支持。除此之外,還包括使用 ASGI 協(xié)議直接調(diào)用 Python Web 應(yīng)用程序以及完全類型注解等其他特性。

你需要同時(shí)發(fā)出大量請(qǐng)求?那么 HTTPX 就是新的首選。

注意:目前仍在 alpha 版本中考慮 HTTPX,現(xiàn)只作為異步客戶端開(kāi)發(fā)。在未來(lái),將再重新引入同步客戶端。

2. Starlette

Starlette 是一個(gè)輕量級(jí)的 ASGI 框架 / 工具包,具有包括 WebSocket 和 GraphQL 支持,進(jìn)程內(nèi)后臺(tái)任務(wù)和真正的高性能等一系列特性。除此之外,還有 100% 類型注解的代碼庫(kù)和無(wú)依賴??梢园阉醋魇且话娣浅]p量的、現(xiàn)代的和異步的 Flask。

你還可以靈活地選用它,決定是將其作為一個(gè)完整的 web 框架來(lái)使用,還是僅僅作為一個(gè) ASGI 工具包來(lái)使用。

它運(yùn)行在一個(gè) ASGI 服務(wù)器上,比如 uvicorn,它去年也排進(jìn)了 Top 10。如果你正在考慮開(kāi)發(fā)一款新的 Web 應(yīng)用程序,那么你一定要給 Starlette 一個(gè)嶄露頭角的機(jī)會(huì)。

3. FastAPI

Starlette 很棒,但它非常簡(jiǎn)約,且非常開(kāi)放。這給了你很大的自由,但有時(shí),你只是需要一個(gè)把事情做得又對(duì)又快的框架。

Sebastian Ramirez 的 FastAPI 正是這樣的一款框架。無(wú)論在哪層意義上講,它都可稱得上 快。

這款新框架基于的是 OpenAPI 標(biāo)準(zhǔn),用于構(gòu)建具有 Python 高性能特性和自動(dòng)交互文檔的 API。它默認(rèn)支持 Swagger UI 和 ReDoc,使你能夠直接從瀏覽器調(diào)用和測(cè)試你的 API,從而加快開(kāi)發(fā)時(shí)間。使用此框架構(gòu)建 API 既快速又簡(jiǎn)單。

這個(gè)庫(kù)還利用了現(xiàn)代 Python 的最佳實(shí)踐之一:類型提示。FastAPI 在很多方面都使用類型提示,但是最酷的特性之一是由 Pydantic 提供支持的自動(dòng)數(shù)據(jù)校驗(yàn)和轉(zhuǎn)換。

FastAPI 是基于 Starlette 構(gòu)建的,其性能與 NodeJS 和 Go 相當(dāng),而且它還支持原生 WebSocket 和 GraphQL。

最后,但并非最不重要的是,它擁有一些為開(kāi)源庫(kù)編寫的 最好的技術(shù)文檔。說(shuō)真的,強(qiáng)烈建議看一看。

4. Immutables

MagicStack 的工作人員回歸,他們使用了簡(jiǎn)單優(yōu)雅的不可變映射類型 (“凍結(jié)的字典”)。

誰(shuí)能從中受益呢?其底層數(shù)據(jù)結(jié)構(gòu)是一個(gè)哈希數(shù)組映射的字典樹 (HAMT),在 Haskell 等函數(shù)式編程語(yǔ)言中使用。最有趣的是,對(duì)于 set() 和 get() 操作,它們都提供了 O(log N) 性能,對(duì)于相對(duì)較小的映射來(lái)說(shuō)其實(shí)就是 O(1)。

如果你的應(yīng)用程序使用了更大的字典,可以使用 bump 提高性能,這個(gè)酷酷的新庫(kù)可以值得關(guān)注。

5. Pyodide

Pyodide 是一個(gè)真正能讓你大吃一驚的項(xiàng)目。它使用 WebAssembly 將 Python 科學(xué)棧引入瀏覽器,將科學(xué)計(jì)算提升到了一個(gè)全新的水平。

想要用 NumPy 處理一些數(shù)字嗎?使用 Pandas 處理一些較大的數(shù)據(jù)流?使用 NumPy 標(biāo)制結(jié)果?幸有 Pyodide,現(xiàn)在你可以在瀏覽器中輕松實(shí)現(xiàn)所有這些功能,甚至更多。

除此之外,更好的消息是:它的 packages 目錄列出了超過(guò) 35 個(gè)當(dāng)前可用的包。不夸張地說(shuō),天空是其唯一限制。

6. Modin

Modin 的座右銘是通過(guò)改變一行代碼來(lái)擴(kuò)展你的 Pandas 工作流程,真的,就這么簡(jiǎn)單。只需安裝 Modin,改變你的導(dǎo)入語(yǔ)句,在當(dāng)下?lián)碛卸嗪颂幚砥鞯墓P記本電腦上就能獲得高達(dá) 4 倍的速度優(yōu)勢(shì)。

它是怎么做到的?現(xiàn)在來(lái)揭曉這個(gè)秘密。Modin 實(shí)現(xiàn)了自己的 modin.pandas.DataFrame 對(duì)象,它是一個(gè)輕量級(jí)并行 DataFrame。這個(gè)對(duì)象的使用是透明的,因?yàn)樗c Pandas 是 api 兼容的,并且它是在后臺(tái)運(yùn)行的,它將使用 Ray 或 Dask 之類的計(jì)算引擎來(lái)分發(fā)數(shù)據(jù)和計(jì)算。

有時(shí)候,只需要對(duì)你的代碼做一些小的修改就能使速度獲得極大的提升,Modin 就是個(gè)很好的證明。

7. Streamlit

在每個(gè)重大的機(jī)器學(xué)習(xí)項(xiàng)目中,都有一個(gè)你最終需要與模型和數(shù)據(jù)進(jìn)行手動(dòng)交互的時(shí)間點(diǎn)。與花費(fèi)數(shù)小時(shí)和數(shù)千行代碼開(kāi)發(fā)應(yīng)用程序不同,Streamlit 使你能夠快速構(gòu)建應(yīng)用程序來(lái)共享你的模型和分析?,F(xiàn)在,創(chuàng)建一個(gè)與你的數(shù)據(jù)和模型的輸出進(jìn)行交互和可視化的 UI 簡(jiǎn)直易如反掌。

Streamlit 提供了一種從 Python 腳本跳到生產(chǎn)級(jí)應(yīng)用程序的快速方法,只需在代碼中添加幾行即可。

Streamlit 能與各種數(shù)據(jù)科學(xué)相關(guān)的工具一起工作,TensorFlow、Keras、PyTorch、Pandas,凡是你能想到的,它都可以。

8. Transformers

如果你正在從事任何與機(jī)器學(xué)習(xí)相關(guān)的工作,那么你可能已經(jīng)聽(tīng)說(shuō)了在過(guò)去一年中圍繞 自然語(yǔ)言處理(NLP) 方面的重要進(jìn)展。

許多新的和高性能的模型,如 BERT、 XLNet 或者 roBERTa,已經(jīng)被開(kāi)發(fā)出來(lái),通過(guò)各種 NLP 任務(wù) (如文本分類、機(jī)器翻譯、命名實(shí)體識(shí)別等) 來(lái)顯著提高技術(shù)水平。

對(duì)于實(shí)踐者來(lái)說(shuō),重要的是擁有能夠使用這些模型來(lái)支撐生產(chǎn)應(yīng)用程序的工具,這些用起來(lái)并不復(fù)雜。對(duì)于研究人員來(lái)說(shuō),重要的是擁有能夠調(diào)整內(nèi)部機(jī)制的類庫(kù),這樣就可以更輕巧地開(kāi)發(fā)和試驗(yàn)新的模型,而不必浪費(fèi)太多時(shí)間編寫樣板代碼。

Hugging Face 有一幫杰出的人,他們?yōu)槲覀儙?lái)了 transformers,它是一個(gè)類庫(kù),其中包括打包、預(yù)先訓(xùn)練,并已經(jīng)為使用最現(xiàn)代的 NLP 模型的實(shí)現(xiàn)做好了準(zhǔn)備。TensorFlow 2.0 和 PyTorch 之間的互操作性幫助該類庫(kù)迅速成為行業(yè)標(biāo)準(zhǔn),支撐著研究和生產(chǎn)應(yīng)用程序。它們的發(fā)展速度也非???,隨著研究人員的開(kāi)發(fā),經(jīng)常有新的模型引入到這個(gè)類庫(kù)中。

蛋糕上的櫻桃:Hugging Face 團(tuán)隊(duì)開(kāi)發(fā)了 DistilBERT,它是一個(gè)體積更小、速度更快、價(jià)格更低、重量更輕的純凈版 BERT。

你還在猶豫要不要使用 Hugging Face / Transformer 以切換到現(xiàn)代的 NLP?那么擇日不如撞日,今天就是你的幸運(yùn)日,看看他們偉大的 在線演示,可不要吝惜你的大姆指喲。

9. Detectron2

Facebook 的人工智能研究團(tuán)隊(duì) (FAIR) 一直在推動(dòng) 計(jì)算機(jī)視覺(jué) (CV) 的極限,他們開(kāi)發(fā)了新的模型,用于像對(duì)象檢測(cè)、姿式預(yù)估、語(yǔ)義 / 實(shí)例劃分,以及最近的全景分割等任務(wù)。

解決這些問(wèn)題的可能性就像幾年前的科幻小說(shuō)一樣。我們對(duì) FAIR 抱有最好的期望,這一次他們?cè)O(shè)法再次震撼全場(chǎng)。

Detectron2 是備受期待的 Detectron 續(xù)作,它是用 PyTorch 從頭開(kāi)始構(gòu)建的,裝滿了最先進(jìn)的計(jì)算機(jī)視覺(jué)算法。

這樣的類庫(kù)尤其難于進(jìn)行工程設(shè)計(jì),因?yàn)樗鼈儽仨氈С植煌愋偷挠美?。就?Hugging Face 的 Transformers 一樣,費(fèi)爾團(tuán)隊(duì)也很好地完成了 Detectron2 的設(shè)計(jì),它采用了一種非常靈活和模塊化的方式,使得它非常適合 CV 的研究應(yīng)用。同時(shí),它的使用極其簡(jiǎn)單,對(duì)于那些只想快速獲得結(jié)果而不想干預(yù)內(nèi)部機(jī)制的人來(lái)說(shuō)非常理想。是的,你可以使用 Detectron2,讓你的軟件只用幾行 Python 代碼就能“理解”圖像。

時(shí)間將會(huì)告訴我們,Detectron2 能否成功地營(yíng)造一個(gè)充滿活力的社區(qū),而到目前為止,情況看來(lái)很有希望。它很可能成為 CV 應(yīng)用程序的“首選”解決方案,因?yàn)樵?CV 應(yīng)用程序中,新的、更快、更好的模型是由研究人員創(chuàng)建的。如果你正在做任何類型的 CV 工作,一定要密切保持關(guān)注!

10. Metaflow

前方出現(xiàn)一個(gè)新生兒,一幅新面孔勉強(qiáng)擠進(jìn)了 2019 年的名單!但是贊成別不把它當(dāng)回事:盡管它才是在幾周前剛剛發(fā)布的,但已經(jīng)經(jīng)過(guò)了 Netflix 的內(nèi)部測(cè)試,歷經(jīng)兩年時(shí)間的改進(jìn),他們才決定開(kāi)放源代碼。

Metaflow 是一個(gè) Python 類庫(kù),用于幫助數(shù)據(jù)科學(xué)家和工程師構(gòu)建用于現(xiàn)實(shí)世界的真實(shí)項(xiàng)目。它主要專注于減輕非技術(shù)數(shù)據(jù)科學(xué)家的技術(shù)負(fù)擔(dān),例如計(jì)算資源、并行執(zhí)行、體系結(jié)構(gòu)設(shè)計(jì)和版本控制等。Netflix 與 AWS 的合作,使你能夠輕松定義復(fù)雜的數(shù)據(jù)流,同時(shí)對(duì)分布式計(jì)算提供開(kāi)箱即用的支持。

我們已經(jīng)在為 Tryolabs 內(nèi)部的一些關(guān)鍵項(xiàng)目做了 Metaflow 評(píng)估。如果你有興趣更多地了解這款工具,請(qǐng)查看 Netflix 的公開(kāi)博客。

總   結(jié)

這一年又過(guò)去了,它為開(kāi)源世界留下了非凡的貢獻(xiàn),這些貢獻(xiàn)在未來(lái)幾年仍將具有重要意義。你可以查看我們之前榜單:看看 2015 年、2016 年、2017 年、2018 年 來(lái)類庫(kù)的演變。

如果我們漏掉了你最喜歡的 Python 類庫(kù),請(qǐng)?jiān)谙旅姘l(fā)表評(píng)論。我們很想聽(tīng)聽(tīng)你的意見(jiàn)。

作者簡(jiǎn)介

Fabián Torres,全棧開(kāi)發(fā)人員。電氣工程學(xué)士學(xué)位;Elias Masquil,全棧開(kāi)發(fā)人員;Alan Descoins,首席技術(shù)官和合作伙伴,計(jì)算機(jī)工程學(xué)士學(xué)位;German Hoffman,全棧開(kāi)發(fā)和研究工程師,計(jì)算機(jī)工程學(xué)士學(xué)位。

 

責(zé)任編輯:張燕妮 來(lái)源: AI前線
相關(guān)推薦

2020-12-31 23:45:47

類庫(kù)Python語(yǔ)言

2019-09-16 16:21:38

Go語(yǔ)言編程語(yǔ)言Python

2021-01-04 09:27:19

Python 開(kāi)發(fā)編程語(yǔ)言

2021-08-17 08:51:38

機(jī)器學(xué)習(xí)庫(kù)人工智能

2024-01-09 09:19:31

2021-12-28 11:33:14

加密貨幣比特幣貨幣

2019-08-02 09:26:24

深度學(xué)習(xí)框架排行榜

2019-12-25 09:13:58

Python機(jī)器學(xué)習(xí)編程語(yǔ)言

2015-10-09 09:47:04

2015-11-16 14:34:27

CIO時(shí)代網(wǎng)

2011-11-25 09:46:32

Ubuntu應(yīng)用奧斯卡

2024-01-12 09:50:55

2019-03-28 13:47:35

程序員大數(shù)據(jù)招聘

2018-11-14 10:36:47

Python 開(kāi)發(fā)編程語(yǔ)言

2019-03-27 14:54:05

NoSQL數(shù)據(jù)庫(kù)Forreste

2017-04-25 10:57:16

宜人貸

2018-11-19 15:09:47

程序員大數(shù)據(jù)Devops

2019-04-22 15:16:08

Windows 10Windows新功能

2018-12-17 13:52:47

Python開(kāi)源項(xiàng)目數(shù)據(jù)可視化

2017-01-19 00:21:37

Android 開(kāi)源數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)