5 個開源 Python 庫,讓機器學習更簡單

m645218h88 7年前發布 | 14K 次閱讀 Python 數據挖掘 開源 Python開發

機器學習令人興奮,但實際操作卻很困難也很復雜。它涉及到很多手動操作,如集合工作流和管道,設置數據源,以及在內部部署與云部署的資源之間切換等。

Python 是一款強大的工具語言,被廣泛應用在大數據和機器學習之中。以下推薦了 5 個 Python 庫,幫你疏通機器學習之路。

PyWren

PyWren 允許你將基于 Python 的科學計算工作負載作為多個 AWS Lambda 函數來運行。The New Stack 上一份對該項目的描述是,使用 AWS Lamba 作為強大的并行處理系統,處理可以切分為多個小任務的項目,從而不用占據大量的內存或存儲空間。

此項目有個缺點是 lambda 函數運行不能超過 300 秒。但如果是一份只需幾分鐘就能完成的工作,并且要在數據集中運行上千次,那 PyWren 會是不錯的選擇,它能在一定程度上將用戶硬件上無法運行的工作平行化至云端。

Tfdeploy

Google 的 TensorFlow 框架在發布了 1.0 版本之后進入輝煌時期,這時人們要問了:如何才能在不使用 TensorFlow 本身的情況下,使用在 TensorFlow 上訓練的模型?

Tfdeploy 能給你答案。它將經過訓練的 TensorFlow 模型導出為“簡單的基于 NumPy 的可調用對象”,即該模型可以在 Python 中使用,并以 Tfdeploy 和 NumPy math-and-stats 庫為唯一的依賴關系。大多數可以在 TensorFlow 中執行的操作也可以在 Tfdeploy 中執行,你可以通過標準的 Python metaphors 來擴展庫的行為(如,重載類)。

Luigi

編寫批量作業只是處理數據堆的一部分,你還需要將所有作業串起來生成類似工作流和管道的東西。

Luigi 由 Spotify 創建,用于“解決與長期運行成批處理作業有關的管道問題”。開發者可以通過 Luigi 采用多個不同且不相關的數據處理任務,如,Hive 查詢,Java 中的 Hadoop 任務,Scala 中的 Spark 任務,從數據庫轉儲 table 等,還可以創建一個端到端運行它們的工作流。

對任務的整個描述以及依存性被打造為 Python 模塊,而不是作為 XML 配置文件或其他數據格式創建,因此可以集成到其他以 Python 為中心的項目中。

Kubelib

如果你使用 Kubernetes 作為機器學習作業的編排系統,那么你會祈禱 Kubernetes 產生的問題不要比解決的問題還多。Kubelib 為 Kubernetes 提供了一組 Pythonic 接口,最初是為了協助 Jenkins 腳本工作。但是它可以在沒有 Jenkins 的情況下使用,它可以處理 kubectl CLI 或 Kubernetes API 暴露的一切服務。

PyTorch

PyTorch 是一個Torch7團隊開源的 Python 優先的深度學習框架,提供兩個高級功能:強大的 GPU 加速 Tensor 計算(類似 numpy),構建基于 tape 的自動升級系統上的深度神經網絡。你可以重用你喜歡的 python 包,如 numpy、scipy 和 Cython ,在需要時擴展 PyTorch。

通常使用 PyTorch 是將其作為 numpy 的替代品,以使用強大的 GPU 能力,或作為一個深度學習研究平臺,提供最大的靈活性和速度。

 

 

來自:https://my.oschina.net/editorial-story/blog/854878

 

 本文由用戶 m645218h88 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!