Python中有哪些第三方庫(kù)-創(chuàng)新互聯(lián)

本篇文章為大家展示了Python中有哪些第三方庫(kù),內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

十年的德清網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營(yíng)銷(xiāo)網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整德清建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“德清網(wǎng)站設(shè)計(jì)”,“德清網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

1. Typer


或許,你并非經(jīng)常編寫(xiě) CLI 應(yīng)用程序,但是當(dāng)你編寫(xiě)時(shí),有可能會(huì)遇到很多障礙。


繼FastAPI的巨大成功之后,tiangolo用同樣的原則為我們帶來(lái)了Typer[1]:一個(gè)新的庫(kù),它能讓你利用Python 3.6+的類(lèi)型提示功能來(lái)編寫(xiě)命令行接口。

這個(gè)設(shè)計(jì)確實(shí)讓Typer脫穎而出。除了確保你的代碼是正確的文檔,你還可以通過(guò)小小的改動(dòng)得到一個(gè)帶有驗(yàn)證的CLI接口。

而且通過(guò)使用類(lèi)型提示,你可以在你的Python編輯器中獲得自動(dòng)完成(比如VSCode),這將提高你的工作效率。

為了增強(qiáng)它的功能,Typer在另外一款非常知名的CLI工具Click的基礎(chǔ)之上做了很多優(yōu)化和改善。這意味著它可以利用它的所有優(yōu)點(diǎn)、社區(qū)和插件,同時(shí)以較少的模板代碼開(kāi)始簡(jiǎn)單的工作。

2. Rich

順著CLI的話題,在使用終端時(shí),往往是單調(diào)的白色,這非常不利于分辨和閱讀。


你想給你的終端輸出添加色彩和與眾不同的風(fēng)格嗎?打印復(fù)雜的表格?顯示漂亮的進(jìn)度條?Markdown?Emojis?

Rich[2]都能滿足你的要求。

請(qǐng)看示例截圖,了解一下它的功能。

3. Dear PyGui

雖然,正如我們所看到的,終端應(yīng)用可以很好看,但有時(shí)這還不夠,你需要一個(gè)真正的GUI。


為此,Dear PyGui[3]應(yīng)運(yùn)而生,它是流行的Dear ImGui C++項(xiàng)目的Python移植。

Dear PyGui利用了在視頻游戲中流行的所謂即時(shí)模式范式。

這意味著動(dòng)態(tài)GUI是一幀一幀獨(dú)立繪制的,不需要持久化任何數(shù)據(jù)。這使得這個(gè)工具與其他Python GUI框架有著本質(zhì)上的區(qū)別。

它具有很高的性能,并使用計(jì)算機(jī)的GPU來(lái)促進(jìn)高動(dòng)態(tài)界面的構(gòu)建,這在工程、模擬、游戲或數(shù)據(jù)科學(xué)應(yīng)用中是經(jīng)常需要的。

4. PrettyErrors

這是一個(gè)讓你覺(jué)得:"怎么以前沒(méi)有人想到它?"的Python庫(kù)。


PrettyErrors[4]只做了一件事,而且做得很好。

在支持彩色輸出的終端中,它將混亂的報(bào)錯(cuò)信息轉(zhuǎn)化為更適合我們?nèi)祟?lèi)的眼睛來(lái)解析的東西。

不再苦苦掃描整個(gè)屏幕,定位報(bào)錯(cuò)信息......現(xiàn)在你可以一目了然地找到它。

5. Diagrams

我們程序員喜歡解決問(wèn)題和編碼。


但有時(shí),作為非常需要的項(xiàng)目文檔的一部分,我們需要向其他同事解釋復(fù)雜的架構(gòu)設(shè)計(jì)。

傳統(tǒng)上,我們已經(jīng)求助于GUI工具,我們可以在圖表和可視化上下功夫,把它放在演示和文檔中。

但這不是的方式。

Diagrams[5]可以讓你不用任何設(shè)計(jì)工具,直接在Python代碼中繪制云系統(tǒng)架構(gòu)。

只需要幾行代碼,就可以繪制一幅亮眼的架構(gòu)圖。

6. Hydra and OmegaConf

在做機(jī)器學(xué)習(xí)項(xiàng)目的研究和實(shí)驗(yàn)時(shí),總有無(wú)數(shù)的設(shè)置需要嘗試。

在一些應(yīng)用中,配置管理變得非常復(fù)雜。如果有一種結(jié)構(gòu)化的方式來(lái)處理這種復(fù)雜性,會(huì)極大的提高開(kāi)發(fā)效率。

Hydra[6]是一個(gè)工具,它允許你以可組合的方式構(gòu)建配置,并從命令行或配置文件中覆蓋某些部分。

python train_model.py variation=option_a,option_b 
 
├── variation 
│   ├── option_a.yaml 
│   └── option_b.yaml 
├── base.yaml 
└── train_model.py

另一款工具,OmegaConf[7]為分層配置系統(tǒng)的基礎(chǔ)提供了一致的API,支持YAML、配置文件、對(duì)象和CLI參數(shù)等不同來(lái)源。

7. PyTorch Lightning

Python中有哪些第三方庫(kù)

每一個(gè)能夠提高數(shù)據(jù)科學(xué)團(tuán)隊(duì)生產(chǎn)力的工具都是價(jià)值連城的。

沒(méi)有理由讓在數(shù)據(jù)科學(xué)項(xiàng)目中工作的人每次都要重新發(fā)明輪子,反復(fù)思考如何更好地組織項(xiàng)目中的代碼,使用一些不太好維護(hù)的 "PyTorch boilerplate",或者用潛在的控制權(quán)換取使用更高級(jí)別的抽象。

Lightning[8]通過(guò)將科學(xué)與工程脫鉤,有助于提高生產(chǎn)力。它有點(diǎn)像TensorFlow的Keras,在某種意義上,它使你的代碼更加簡(jiǎn)潔。

然而,它并沒(méi)有奪走你的控制權(quán)。它仍然是PyTorch,你可以使用所有常用的API。

這個(gè)庫(kù)可以幫助團(tuán)隊(duì)利用軟件工程的良好實(shí)踐,圍繞組件的組織和明確的責(zé)任,構(gòu)建高質(zhì)量的代碼,可以輕松地?cái)U(kuò)展到多個(gè)GPU、TPU和CPU上進(jìn)行訓(xùn)練。

這個(gè)庫(kù)可以幫助數(shù)據(jù)科學(xué)團(tuán)隊(duì)中那些初級(jí)成員產(chǎn)生更好的結(jié)果,同時(shí),更有經(jīng)驗(yàn)的成員也會(huì)喜歡它,因?yàn)樵诓环艞壙刂茩?quán)的前提下,提高了整體生產(chǎn)力。

8. Hummingbird

不是所有的機(jī)器學(xué)習(xí)都是深度學(xué)習(xí)。很多時(shí)候,你的模型由scikit-learn中實(shí)現(xiàn)的比較傳統(tǒng)的算法組成(比如隨機(jī)森林),或者你使用梯度提升方法,比如流行的LightGBM和XGBoost。


然而,在深度學(xué)習(xí)領(lǐng)域正在發(fā)生很多變化。像PyTorch這樣的框架正在以令人窒息的速度前進(jìn),硬件設(shè)備也在優(yōu)化,以更快的速度和更低的功耗運(yùn)行張量計(jì)算。如果我們能夠利用這些工作,更快、更高效地運(yùn)行我們的傳統(tǒng)方法,豈不美哉?

這就是Hummingbird[9]的用武之地。

微軟的這個(gè)新庫(kù)可以將你訓(xùn)練好的傳統(tǒng)ML模型編譯成張量計(jì)算。

這很好,因?yàn)樗梢宰屇銛[脫重新設(shè)計(jì)模型的需要。

截至目前,Hummingbird支持轉(zhuǎn)換到PyTorch、TorchScript、ONNX和TVM,以及各種ML模型和矢量器。

9. HiPlot

Python中有哪些第三方庫(kù)

幾乎每一位數(shù)據(jù)科學(xué)家在其職業(yè)生涯的某個(gè)階段都曾處理過(guò)高維數(shù)據(jù)。

不幸的是,人類(lèi)的大腦并沒(méi)有足夠的能力直觀地處理這種數(shù)據(jù),所以我們必須借助其他技術(shù)。

今年年初,F(xiàn)acebook發(fā)布了HiPlot[10],這是一個(gè)幫助發(fā)現(xiàn)高維數(shù)據(jù)中的相關(guān)性和模式的庫(kù),使用平行圖和其他圖形方式來(lái)表示信息。在他們的發(fā)布博文中解釋了這個(gè)概念,但基本上是一種很好的、方便的可視化和過(guò)濾高維數(shù)據(jù)的方法。

HiPlot是交互式的,可擴(kuò)展的,你可以從你的標(biāo)準(zhǔn)Jupyter Notebooks或通過(guò)它自己的服務(wù)器使用它。

10. Scalene

Python中有哪些第三方庫(kù)

隨著Python庫(kù)的生態(tài)系統(tǒng)越來(lái)越復(fù)雜,我們發(fā)現(xiàn)自己編寫(xiě)了越來(lái)越多的依賴(lài)于C擴(kuò)展和多線程代碼的代碼。

在對(duì)比性能時(shí),這就成了一個(gè)問(wèn)題,因?yàn)镃Python內(nèi)置的剖析工具不能正確處理多線程和本地代碼。

這時(shí),Scalene[11]就來(lái)救場(chǎng)了。

Scalene是一個(gè)針對(duì)Python腳本的CPU和內(nèi)存剖析工具,它能夠正確處理多線程代碼,并區(qū)分運(yùn)行Python和本地代碼的時(shí)間。

你不需要修改你的代碼,你只需要用scalene從命令行運(yùn)行你的腳本,它就會(huì)為你生成一個(gè)文本或HTML報(bào)告,顯示每行代碼的CPU和內(nèi)存使用情況。

上述內(nèi)容就是Python中有哪些第三方庫(kù),你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

文章標(biāo)題:Python中有哪些第三方庫(kù)-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://muchs.cn/article44/dsjdhe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、云服務(wù)器、App設(shè)計(jì)、App開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司