欧洲免费无码视频在线,亚洲日韩av中文字幕高清一区二区,亚洲人成人77777网站,韩国特黄毛片一级毛片免费,精品国产欧美,成人午夜精选视频在线观看免费,五月情天丁香宗合成人网

薈聚奇文、博采眾長(zhǎng)、見(jiàn)賢思齊
當(dāng)前位置:公文素材庫(kù) > 公文素材 > 范文素材 > 年度十大最受歡迎機(jī)器學(xué)習(xí)Python庫(kù)

年度十大最受歡迎機(jī)器學(xué)習(xí)Python庫(kù)

網(wǎng)站:公文素材庫(kù) | 時(shí)間:2019-05-14 07:33:05 | 移動(dòng)端:年度十大最受歡迎機(jī)器學(xué)習(xí)Python庫(kù)

每年的十二月是每個(gè)人review過(guò)去一年成就的時(shí)候,在看自己成就的同時(shí),也同時(shí)為未來(lái)做好打算。對(duì)于程序員來(lái)說(shuō),十二月通常是回顧今年發(fā)布的開(kāi)源庫(kù)或者是最近流行的開(kāi)源庫(kù),因?yàn)樗鼈兪窃谖磥?lái)一段時(shí)間內(nèi)解決我們問(wèn)題的絕佳工具。

AI的快速發(fā)展,讓機(jī)器學(xué)習(xí)走向了巔峰,今天我們就借此盤(pán)點(diǎn)一下2017年最受歡迎的機(jī)器學(xué)習(xí)庫(kù)(ML),希望你能夠在這里尋找到你未來(lái)一段時(shí)間內(nèi)的“利器”。

1. Pipenv

Pipenv是今年初開(kāi)源的用于管理依賴(lài)項(xiàng)的官方推薦工具。Pipenv最初是由Kenneth Reitz創(chuàng)立的一個(gè)項(xiàng)目,旨在將其他包管理器(如NPM或yarn)的創(chuàng)意整合至Python中。安裝virtualenv和virtualenvwrapper,并確保依賴(lài)項(xiàng)的依賴(lài)項(xiàng)版本的可重復(fù)性(在這里閱讀更多關(guān)于這方面的信息)。使用Pipenv,你可以指定所有的依賴(lài)關(guān)系,通常使用命令添加,刪除或更新依賴(lài)項(xiàng)。該工具可以生成一個(gè)文件,使得你的構(gòu)建是確定性的,它可以幫助你避免那些難以捉住的BUG。

2. PyTorch

今年Facebook推出的DLT框架PyTorch,在深度學(xué)習(xí)社區(qū)中很受歡迎。PyTorch是構(gòu)建在流行的Torch框架之上,尤其是它是基于Python的。考慮到過(guò)去幾年人們一直在使用Python進(jìn)行數(shù)據(jù)科學(xué)研究,這也是深度學(xué)習(xí)庫(kù)大部分是使用Python的原因。

最值得注意的是,PyTorch已經(jīng)成為了眾多研究人員的首選框架之一,因?yàn)樗鼘?shí)現(xiàn)了新穎的動(dòng)態(tài)計(jì)算圖范例(Dynamic Computational Graph paradigm)。當(dāng)使用TensorFlow,CNTK或MXNet等框架編寫(xiě)代碼時(shí),必須首先定義一個(gè)稱(chēng)為計(jì)算圖的東西。該圖指定了我們的代碼將運(yùn)行的所有操作,這些操作稍后會(huì)被編譯并被框架優(yōu)化,以便能夠在GPU上并行運(yùn)行得更快。這個(gè)范例被稱(chēng)為靜態(tài)計(jì)算圖,因?yàn)槟憧梢岳酶鞣N優(yōu)化,而且這個(gè)圖形一旦建成,就可以運(yùn)行在不同的設(shè)備上。然而,在諸如自然語(yǔ)言處理之類(lèi)的任務(wù)中,工作量通常是可變的。在將圖像提供給算法之前,把圖像調(diào)整為固定的分辨率,但不能對(duì)可變長(zhǎng)度的句子進(jìn)行相同的處理。這恰恰能體現(xiàn)PyTorch和動(dòng)態(tài)圖表的優(yōu)勢(shì),通過(guò)讓你在代碼中使用標(biāo)準(zhǔn)的Python控制指令,圖形將在執(zhí)行時(shí)定義,給你更多自由空間,這對(duì)于幾個(gè)任務(wù)來(lái)說(shuō)是必不可少的。

當(dāng)然,PyTorch也會(huì)自動(dòng)計(jì)算梯度,并且速度非常快,而且是可擴(kuò)展的。

3. Caffe2

這聽(tīng)起來(lái)可能不太現(xiàn)實(shí),F(xiàn)acebook今年也發(fā)布了另一個(gè)的DL框架——caffe2。原來(lái)的Caffe框架已被廣泛使用多年,并以非常不錯(cuò)的性能和經(jīng)過(guò)測(cè)試的代碼庫(kù)而聞名。然而,最近DL的趨勢(shì)使這個(gè)框架在某些方面顯得有些out。于是Caffe2就成為了它的替代品。

Caffe2支持分布式訓(xùn)練、部署,支持最新的CPU和CUDA的硬件。雖然PyTorch可能更適合研究,但Caffe2更適合大規(guī)模部署。其實(shí),你可以在PyTorch中構(gòu)建和訓(xùn)練模型,同時(shí)使用Caffe2進(jìn)行部署!這不是很好嗎?

4. Pendulum

去年,Arrow是一個(gè)旨在使你更輕松,同時(shí)使用Python date time類(lèi)進(jìn)入了榜單,而今年是Pendulum。

Pendulum的優(yōu)點(diǎn)之一是它是Python標(biāo)準(zhǔn)datetime類(lèi)直接替代品,因此你可以輕松地將其與現(xiàn)有代碼集成,并且只有在需要時(shí)才能使用其功能。作者特別注意確保時(shí)區(qū)能夠正確處理,默認(rèn)情況下使每個(gè)實(shí)例時(shí)區(qū)感知自己的時(shí)區(qū)。你也將得到一個(gè)擴(kuò)展timedelta,這樣日期時(shí)間算術(shù)更容易。

與其他的庫(kù)不同,它努力使API具有可預(yù)測(cè)的行為。如果你正在做一些涉及日期的小事,請(qǐng)查看更多的文檔。

5. Dash

如果你正在做數(shù)據(jù)科學(xué),你可能會(huì)使用Python生態(tài)系統(tǒng)中的Pandas和scikit-learn等優(yōu)秀的工具。還可以使用JupyterNotebook管理你的工作流程。但是,當(dāng)你和那些不知道如何使用這些工具的人一起做一項(xiàng)工作的時(shí)候,你該怎么辦?你如何建立一個(gè)界面,使人們可以輕松地玩轉(zhuǎn)數(shù)據(jù),并在整個(gè)過(guò)程中對(duì)其進(jìn)行可視化?過(guò)去,你或許需要一個(gè)專(zhuān)業(yè)的JavaScript前端團(tuán)隊(duì)來(lái)構(gòu)建這些GUI。

Dash近幾年發(fā)布的一個(gè)用于構(gòu)建Web應(yīng)用程序的開(kāi)源庫(kù),尤其是在純Python語(yǔ)言中利用數(shù)據(jù)可視化的Web應(yīng)用程序。它建立在Flask,Plotly.js和React 之上,并提供了接口,所以你不必學(xué)習(xí)這些框架也能進(jìn)行高效的開(kāi)發(fā)。如果你想了解更多關(guān)于Dash的有趣應(yīng)用,點(diǎn)擊這個(gè)地方。

6. PyFlux

Python中有許多庫(kù)用于研究數(shù)據(jù)科學(xué)和ML,但是當(dāng)你的數(shù)據(jù)是隨著時(shí)間的推移而變化的度量(例如股票價(jià)格,儀器的測(cè)量值等等)時(shí),這對(duì)于大部分庫(kù)來(lái)說(shuō)是一個(gè)比較棘手的問(wèn)題。

PyFlux是一個(gè)專(zhuān)門(mén)為時(shí)間序列而開(kāi)發(fā)的 Python開(kāi)源庫(kù)。時(shí)間序列研究是統(tǒng)計(jì)學(xué)和計(jì)量經(jīng)濟(jì)學(xué)的一個(gè)子領(lǐng)域,目標(biāo)可以描述時(shí)間序列如何表現(xiàn)(以潛在的因素或興趣的特征來(lái)表示),也可以借此預(yù)測(cè)未來(lái)的行為。

PyFlux允許使用時(shí)間序列建模,并且已經(jīng)實(shí)現(xiàn)了像GARCH這樣的現(xiàn)代時(shí)間序列模型。

7. Fire

通常情況下,你需要為你的項(xiàng)目制作命令行界面(CLI)。除了傳統(tǒng)的argparse,Python還有一些這樣的工具,Clik和docopt。Fire是今年谷歌發(fā)布的軟件庫(kù),在解決這個(gè)的問(wèn)題上采用了不同的方法。

Fire是一個(gè)開(kāi)源的庫(kù),可以為任何Python項(xiàng)目自動(dòng)生成一個(gè)CLI,關(guān)鍵是自動(dòng),你幾乎不需要編寫(xiě)任何代碼或文檔來(lái)構(gòu)建你的CLI!你只需要調(diào)用一個(gè)Fire方法并把它所需要構(gòu)建的傳遞給CLI。

如果你想對(duì)此有所深入了解,請(qǐng)閱讀指南,因?yàn)檫@個(gè)庫(kù)可以為你節(jié)省很多時(shí)間。

8. Imbalanced-learn

在理想的情況下,我們會(huì)有完美平衡的數(shù)據(jù)集,但不幸的是,現(xiàn)實(shí)世界并不是這樣的,某些任務(wù)擁有非常不平衡的數(shù)據(jù)。例如,在預(yù)測(cè)信用卡交易中的欺詐行為時(shí),你預(yù)計(jì)絕大多數(shù)交易(99.9%)是合法的。天真地訓(xùn)練ML算法會(huì)導(dǎo)致令人失望的性能,所以在處理這些類(lèi)型的數(shù)據(jù)集時(shí)需要特別小心。

幸運(yùn)的是,Imbalanced-learn是一個(gè)Python包,它提供了一些解決這類(lèi)問(wèn)題的方法,并提供一些技術(shù)的實(shí)現(xiàn),它與scikit-learn兼容,是scikit-learn-contrib項(xiàng)目的一部分。

9. FlashText

如果你需要搜索某些文本并將其替換為其他內(nèi)容(如大多數(shù)數(shù)據(jù)清理流程中),則通常會(huì)轉(zhuǎn)為正則表達(dá)式。通常情況下,正則表達(dá)式考研完美的解決問(wèn)題。但是有時(shí)會(huì)發(fā)生這樣的情況:你需要搜索的術(shù)語(yǔ)數(shù)量是成千上萬(wàn),然后,正則表達(dá)式可能變得非常緩慢。這時(shí)FlashText是一個(gè)更好的選擇,它使整個(gè)操作的運(yùn)行時(shí)間大大提高了(從5天到15分鐘)。FlashText的優(yōu)點(diǎn)在于無(wú)論搜索條件有多少,運(yùn)行時(shí)都是一樣的,而正則表達(dá)式中運(yùn)行時(shí)將隨著條件數(shù)幾乎呈線性增長(zhǎng)。

FlashText證明了算法和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)的重要性,即使對(duì)于簡(jiǎn)單的問(wèn)題,更好的算法也可以輕松超越最快的CPU。

10. Luminoth

現(xiàn)實(shí)生活中圖像無(wú)處不在,理解其內(nèi)容對(duì)于多個(gè)應(yīng)用程序來(lái)說(shuō)是至關(guān)重要的。值得慶幸的是,由于DL的發(fā)展,圖像處理技術(shù)已經(jīng)進(jìn)步很多。

Luminoth是一個(gè)使用TensorFlow和Sonnet構(gòu)建的用于計(jì)算機(jī)視覺(jué)的開(kāi)源Python工具包。目前,它可以支持被稱(chēng)為Faster R-CNN的模型的形式進(jìn)行對(duì)象檢測(cè)。

并且Luminoth不僅是一個(gè)特定模型的實(shí)現(xiàn),而是建立在模塊化和可擴(kuò)展的基礎(chǔ)上的,所以定制現(xiàn)有的部分或用新的模型來(lái)擴(kuò)展它來(lái)處理不同的問(wèn)題,就可以能多地重用代碼。它提供了用于輕松完成構(gòu)建DL模型所需的工程工作如:將你的數(shù)據(jù)轉(zhuǎn)換為用于提供數(shù)據(jù)管道(TensorFlow的記錄)的格式,執(zhí)行數(shù)據(jù)增強(qiáng),在多個(gè)GPU訓(xùn)練,運(yùn)行評(píng)估指標(biāo),在TensorBoard中可視化,并用簡(jiǎn)單的API或?yàn)g覽器界面部署訓(xùn)練有素的模型,以便人們使用。

其他優(yōu)秀的Python庫(kù):

1.PyVips

你可能從來(lái)沒(méi)有聽(tīng)說(shuō)過(guò)libvips庫(kù),首先它是一個(gè)圖像處理庫(kù),如Pillow或ImageMagick,并支持多種格式。但是,與其他庫(kù)相比,libvips速度更快,占用的內(nèi)存也更少。PyVips是最近發(fā)布的用于libvips的Python綁定包,它與Python 2.7-3.6(甚至PyPy)兼容,易于使用pip。如果在你的應(yīng)用程序中需要進(jìn)行某種形式的圖像處理,可以考慮一下它。

2.Requestium

有時(shí),你需要自動(dòng)化網(wǎng)絡(luò)中的某些操作,如抓取網(wǎng)站,進(jìn)行應(yīng)用程序測(cè)試,填寫(xiě)網(wǎng)頁(yè)表單,要想在不暴露API的網(wǎng)站中執(zhí)行操作,自動(dòng)化是必需的。Python有很好的請(qǐng)求庫(kù),可以讓你執(zhí)行一些這樣的操作,但不幸的是請(qǐng)求獲取的HTML代碼可能沒(méi)有表單,你可能會(huì)嘗試查找表單來(lái)填充自動(dòng)化任務(wù)。解決這個(gè)問(wèn)題的方法是對(duì)JavaScript代碼所做的請(qǐng)求進(jìn)行反向工程,這將意味著需要花費(fèi)很多時(shí)間來(lái)調(diào)試。另一個(gè)選擇是轉(zhuǎn)向使用Selenium這樣的庫(kù),它允許你以編程方式與Web瀏覽器交互并運(yùn)行Javascript代碼。有了這個(gè),問(wèn)題就可以解決了。

Requestium庫(kù)可以讓你從請(qǐng)求開(kāi)始并無(wú)縫地切換到使用Selenium,它可以作為一個(gè)請(qǐng)求的直接替換。它還集成了Parsel,因此編寫(xiě)所有用于在頁(yè)面中查找元素的選擇器要比其它方式更加快捷。

3.skorch

假如你很喜歡使用scikit-learn的API,但是遇到了需要使用PyTorch來(lái)完成工作。不要擔(dān)心,skorch是一個(gè)封裝,可以通過(guò)類(lèi)似sklearn的接口提供PyTorch編程。如果你熟悉這些庫(kù),那么語(yǔ)法將很簡(jiǎn)單易懂。通過(guò)skorch,你會(huì)得到一些抽象的代碼,所以你可以把更多的精力放在真正重要的事情上,比如做數(shù)據(jù)科學(xué)。

來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問(wèn)題,請(qǐng)聯(lián)系我們及時(shí)刪除。


年度十大最受歡迎機(jī)器學(xué)習(xí)Python庫(kù)》由互聯(lián)網(wǎng)用戶(hù)整理提供,轉(zhuǎn)載分享請(qǐng)保留原作者信息,謝謝!
鏈接地址:http://www.7334dd.com/gongwen/170893.html