機(jī)器學(xué)習(xí)令人無比神往叶堆,但從事這個(gè)工作的人可能并不這么想少梁。
機(jī)器學(xué)習(xí)的工作內(nèi)容往往復(fù)雜枯燥又困難——通過大量重復(fù)工作進(jìn)行提升必不可少:
匯總工作流及傳輸渠道洛口、設(shè)置數(shù)據(jù)源以及在內(nèi)部部署和云部署的資源之間來回分流。
所以使用工具提升你的工作效率實(shí)在很關(guān)鍵凯沪,而且像這樣的工具越多越好第焰。
好在你學(xué)的是Python,作為一門威力巨大的工具語言妨马,Python可以給你提供足夠的輔助工具挺举,讓你在大數(shù)據(jù)和機(jī)器學(xué)習(xí)項(xiàng)目中游刃有余。
唯一的問題在于Python海量的資源庫讓患有選擇困難癥的你難以取舍烘跺,因此糖豆貼心的給你找來了目前評(píng)價(jià)最高的五個(gè)Python庫湘纵。
1. PyWren
項(xiàng)目地址:https://github.com/ericmjonas/pywren
PyWren項(xiàng)目
PyWren滤淳,簡(jiǎn)單而強(qiáng)大梧喷,用于進(jìn)行基于Python的科學(xué)計(jì)算工作。
項(xiàng)目 At The New Stack 的簡(jiǎn)介這樣描述 PyWren:
把 AWS Lambda 作為一個(gè)巨大的平行處理系統(tǒng)脖咐,以處理那些可被切割成諸多小任務(wù)的項(xiàng)目铺敌,同時(shí)還可以節(jié)約很多內(nèi)存和硬盤空間。
Lambda 函數(shù)的一個(gè)缺點(diǎn)是運(yùn)行時(shí)間最長不能超過 300 秒屁擅。
但是偿凭,如果你有一個(gè)只花費(fèi)幾分鐘就能完成卻需要在數(shù)據(jù)集中運(yùn)行數(shù)千次的工作,那么 PyWren 也許是一個(gè)好選擇派歌,它可以在云端完成一種用戶硬件上不可用的規(guī)模平行化的工作弯囊。
2. Tfdeploy
項(xiàng)目地址:https://github.com/riga/tfdeploy
Tfdeploy項(xiàng)目
如果你需要使用基于谷歌的 TensorFlow 框架的訓(xùn)練模型卻不想使用框架本身的話寡夹,Tfdeploy可以幫你。
借由 Tfdeploy勺美,可以在 Python 中使用模型早抠,而且僅僅需要Numpy 的數(shù)學(xué)和統(tǒng)計(jì)庫作為支撐霎烙。
幾乎所有能在 TensorFlow 上跑的運(yùn)行也能在 Tfdeploy 上跑,而且你可以通過標(biāo)準(zhǔn) Python 隱喻方式來延伸庫的行為(比如,超載一個(gè)類別)吼过。
但是,Tf 部署并不支持 GPU 加速咪奖。
3.Luigi
項(xiàng)目地址:https://github.com/spotify/luigi
Luigi項(xiàng)目
編寫成批作業(yè)通常只是處理海量數(shù)據(jù)的其中一步:你也不得不將所有這些工作串聯(lián)起來,做成類似工作流程的東西羊赵。
Luigi 是 Spotify 打造的趟佃,用于解決所有通常與長期運(yùn)行成批處理作業(yè)有關(guān)的管道問題。
有了 Luigi昧捷,研發(fā)人員就可以從事幾個(gè)很難闲昭、與數(shù)據(jù)無關(guān)的任務(wù)處理——「 Hive 詢問,在 Jave 上完成的 Hadoop 任務(wù)靡挥, Scala 上的 Spark 任務(wù)序矩,從數(shù)據(jù)庫中導(dǎo)出表格」——?jiǎng)?chuàng)造一個(gè)端到端運(yùn)行它們的工作流。
對(duì)任務(wù)的整個(gè)描述以及依存性被打造為 Python 模塊跋破,和 XML 配置文檔或其他數(shù)據(jù)形式不同簸淀,因此,可以被組合到其他以 Python 為中心的項(xiàng)目中去毒返。
4.Kubelib
項(xiàng)目地址:https://github.com/safarijv/kubelib
Kubelib項(xiàng)目
如果你采用 Kubernetes 作為完成機(jī)器學(xué)習(xí)工作的編排系統(tǒng)(orchestration system),那你可能要小心的維護(hù)以免其自身運(yùn)行的BUG比它能解決的問題都多拧簸。
Kubelib 為 Kubernetes 提供了一系列的 Python 接口劲绪,雖說需要 Jekins ing 作為支持,但沒有 Jenkins 的情況下也能夠使用盆赤。
它能夠完成 暴露在 kubectl CLI 或者 Kubernetes API 中的所有事贾富。
5.PyTorch
項(xiàng)目地址:https://github.com/pytorch/pytorch
PyTorch項(xiàng)目
最后一個(gè)成員還比較新弟劲,但卻已經(jīng)制造了足夠大的聲勢(shì):Python 庫新成員 Pytorch祷安,這一個(gè)Torch 機(jī)器學(xué)習(xí)框架工具。
PyTorch 不僅為 Torch 添加了 Python 端口兔乞,也增加了許多其他的便利汇鞭,比如 GPU 加速,共享內(nèi)存完成多重處理(multiprocessing庸追,特別是多核上隔離開的工作霍骄。)
最大的亮點(diǎn)在于它們能為 Numpy 中的無加速功能提供 GPU 驅(qū)動(dòng)的替代選擇。