5個開源Python庫,讓機器學(xué)習(xí)更簡單
機器學(xué)習(xí)令人興奮,但實際操作卻很困難也很復(fù)雜。它涉及到很多手動操作,如集合工作流和管道,設(shè)置數(shù)據(jù)源,以及在內(nèi)部部署與云部署的資源之間切換等。
Python 是一款強大的工具語言,被廣泛應(yīng)用在大數(shù)據(jù)和機器學(xué)習(xí)之中。以下推薦了 5 個 Python 庫,幫你疏通機器學(xué)習(xí)之路。
PyWren
PyWren 允許你將基于 Python 的科學(xué)計算工作負載作為多個 AWS Lambda 函數(shù)來運行。The New Stack 上一份對該項目的描述是,使用 AWS Lamba 作為強大的并行處理系統(tǒng),處理可以切分為多個小任務(wù)的項目,從而不用占據(jù)大量的內(nèi)存或存儲空間。
此項目有個缺點是 lambda 函數(shù)運行不能超過 300 秒。但如果是一份只需幾分鐘就能完成的工作,并且要在數(shù)據(jù)集中運行上千次,那 PyWren 會是不錯的選擇,它能在一定程度上將用戶硬件上無法運行的工作平行化至云端。
Tfdeploy
Google 的 TensorFlow 框架在發(fā)布了 1.0 版本之后進入輝煌時期,這時人們要問了:如何才能在不使用 TensorFlow 本身的情況下,使用在 TensorFlow 上訓(xùn)練的模型?
Tfdeploy 能給你答案。它將經(jīng)過訓(xùn)練的 TensorFlow 模型導(dǎo)出為“簡單的基于 NumPy 的可調(diào)用對象”,即該模型可以在 Python 中使用,并以 Tfdeploy 和 NumPy math-and-stats 庫為唯一的依賴關(guān)系。大多數(shù)可以在 TensorFlow 中執(zhí)行的操作也可以在 Tfdeploy 中執(zhí)行,你可以通過標(biāo)準(zhǔn)的 Python metaphors 來擴展庫的行為(如,重載類)。
Luigi
編寫批量作業(yè)只是處理數(shù)據(jù)堆的一部分,你還需要將所有作業(yè)串起來生成類似工作流和管道的東西。
Luigi 由 Spotify 創(chuàng)建,用于“解決與長期運行成批處理作業(yè)有關(guān)的管道問題”。開發(fā)者可以通過 Luigi 采用多個不同且不相關(guān)的數(shù)據(jù)處理任務(wù),如,Hive 查詢,Java 中的 Hadoop 任務(wù),Scala 中的 Spark 任務(wù),從數(shù)據(jù)庫轉(zhuǎn)儲 table 等,還可以創(chuàng)建一個端到端運行它們的工作流。
對任務(wù)的整個描述以及依存性被打造為 Python 模塊,而不是作為 XML 配置文件或其他數(shù)據(jù)格式創(chuàng)建,因此可以集成到其他以 Python 為中心的項目中。
Kubelib
如果你使用 Kubernetes 作為機器學(xué)習(xí)作業(yè)的編排系統(tǒng),那么你會祈禱 Kubernetes 產(chǎn)生的問題不要比解決的問題還多。Kubelib 為 Kubernetes 提供了一組 Pythonic 接口,最初是為了協(xié)助 Jenkins 腳本工作。但是它可以在沒有 Jenkins 的情況下使用,它可以處理 kubectl CLI 或 Kubernetes API 暴露的一切服務(wù)。
PyTorch
PyTorch 是一個 Torch7 團隊開源的 Python 優(yōu)先的深度學(xué)習(xí)框架,提供兩個高級功能:強大的 GPU 加速 Tensor 計算(類似 numpy),構(gòu)建基于 tape 的自動升級系統(tǒng)上的深度神經(jīng)網(wǎng)絡(luò)。你可以重用你喜歡的 python 包,如 numpy、scipy 和 Cython ,在需要時擴展 PyTorch。
通常使用 PyTorch 是將其作為 numpy 的替代品,以使用強大的 GPU 能力,或作為一個深度學(xué)習(xí)研究平臺,提供***的靈活性和速度。

































