尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
機器學習令人無比神往,但從事這個工作的人可能並不這麼想。
機器學習的工作內容往往複雜枯燥又困難——通過大量重復工作進行提升必不可少:
匯總工作流及傳輸管道、設置數據源以及在內部部署和雲部署的資源之間來回分流。
所以使用工具提升你的工作效率實在很關鍵,而且像這樣的工具越多越好。
好在你學的是Python,作為一門威力巨大的工具語言,Python可以給你提供足夠的輔助工具,讓你在大數據和機器學習項目中遊刃有餘。
唯一的問題在於Python海量的資源庫讓患有選擇困難症的你難以取舍,因此糖豆貼心的給你找來了目前評價最高的五個Python庫。
Python學習資料或者需要代碼、視頻加Python學習群:960410445
1. PyWren
項目地址:https://github.com/ericmjonas/pywren
PyWren項目
PyWren,簡單而強大,用於進行基於Python的科學計算工作。
項目 At The New Stack 的簡介這樣描述 PyWren:
把 AWS Lambda 作為一個巨大的平行處理系統,以處理那些可被切割成諸多小任務的項目,同時還可以節約很多內存和硬盤空間。
Lambda 函數的一個缺點是運行時間最長不能超過 300 秒。
但是,如果你有一個只花費幾分鐘就能完成卻需要在數據集中運行數千次的工作,那麼 PyWren 也許是一個好選擇,它可以在雲端完成一種用戶硬件上不可用的規模平行化的工作。
2. Tfdeploy
項目地址:https://github.com/riga/tfdeploy
Tfdeploy項目
如果你需要使用基於Google的 TensorFlow 框架的訓練模型卻不想使用框架本身的話,Tfdeploy可以幫你。
借由 Tfdeploy,可以在 Python 中使用模型,而且僅僅需要Numpy 的數學和統計庫作為支撐。
幾乎所有能在 TensorFlow 上跑的運行也能在 Tfdeploy 上跑,而且你可以通過標準 Python 隱喻方式來延伸庫的行為(比如,超載一個類別)。
但是,Tf 部署並不支持 GPU 加速。
3.Luigi
項目地址:https://github.com/spotify/luigi
Luigi項目
編寫成批作業通常只是處理海量數據的其中一步:你也不得不將所有這些工作串聯起來,做成類似工作流程的東西。
Luigi 是 Spotify 打造的,用於解決所有通常與長期運行成批處理作業有關的管道問題。
有了 Luigi,研發人員就可以從事幾個很難、與數據無關的任務處理——「 Hive 詢問,在 Jave 上完成的 Hadoop 任務, Scala 上的 Spark 任務,從數據庫中導出表格」——創造一個端到端運行它們的工作流。
對任務的整個描述以及依存性被打造為 Python 模塊,和 XML 配置文檔或其他數據形式不同,因此,可以被組合到其他以 Python 為中心的項目中去。
4.Kubelib
項目地址:https://github.com/safarijv/kubelib
Kubelib項目
如果你採用 Kubernetes 作為完成機器學習工作的編排系統(orchestration system),那你可能要小心的維護以免其自身運行的BUG比它能解決的問題都多。
Kubelib 為 Kubernetes 提供了一系列的 Python 接口,雖說需要 Jekins ing 作為支持,但沒有 Jenkins 的情況下也能夠使用。
它能夠完成 暴露在 kubectl CLI 或者 Kubernetes API 中的所有事。
5.PyTorch
項目地址:https://github.com/pytorch/pytorch
PyTorch項目
最後一個成員還比較新,但卻已經製造了足夠大的聲勢:Python 庫新成員 Pytorch,這一個Torch 機器學習框架工具。
PyTorch 不僅為 Torch 添加了 Python 端口,也增加了許多其他的便利,比如 GPU 加速,共享內存完成多重處理(multiprocessing,特別是多核上隔離開的工作。)
最大的亮點在於它們能為 Numpy 中的無加速功能提供 GPU 驅動的替代選擇。