Python分析大數據,推薦四款加速器


在數據科學計算、機器學習、以及深度學習領域,Python 是最受歡迎的語言。Python 在數據科學領域,有非常豐富的包可以選擇,numpy、scipy、pandas、scikit-learn、matplotlib。

但這些庫都僅僅受限於單機運算,當數據量很大時,比如50GB甚至500GB的數據集,這些庫的處理能力都顯得捉襟見肘,打開都很困難了,更別說分析了。本文向大家介紹幾個好用的加速工具,可以很好地補齊現有 PyData 技術棧的短板。有了這些工具,即便是處理億級數據你也可以應對自如。

Mars

Mars 是numpy 、 pandas 、scikit-learn的並行和分布式加速器,由阿里雲高級軟件工程師秦續業等人開發的一個基於張量的大規模數據計算的統一框架,目前它已在 GitHub 上開源。該工具能用於多個工作站,而且即使在單塊 CPU 的情況下,它的矩陣運算速度也比 NumPy(MKL)快。
從 Numpy 到 Mars tensor
項目地址:https://github.com/mars-project/mars
官方文檔:https://docs.mars-project.io

Dask

Dask是一個並行計算庫,能在集群中進行分布式計算,能以一種更方便簡潔的方式處理大數據量,與Spark這些大數據處理框架相比較,Dask更輕。Dask更側重與其他框架,如:Numpy,Pandas,Scikit-learning相結合,從而使其能更加方便進行分布式並行計算。

項目地址:https://github.com/dask/dask
官方文檔:https://docs.dask.org/en/latest/

CuPy

CuPy 是一個借助 CUDA GPU 庫在英偉達 GPU 上實現 Numpy 數組的庫。基於 Numpy 數組的實現,GPU 自身具有的多個 CUDA 核心可以促成更好的並行加速。CuPy 接口是 Numpy 的一個鏡像,並且在大多情況下,它可以直接替換 Numpy 使用。只要用兼容的 CuPy 代碼替換 Numpy 代碼,用戶就可以實現 GPU 加速。

項目地址:https://github.com/cupy/cupy
官方文檔:https://docs-cupy.chainer.org/en/stable/

Vaex

Vaex是一個開源的 DataFrame 庫,對於和你硬盤空間一樣大小的表格數據集,它可以有效進行可視化、探索、分析乃至實踐機器學習。Vaex采用了內存映射、高效的外核算法和延遲計算等概念來獲得最佳性能(不浪費內存),一旦數據存為內存映射格式,即便它的磁盤大小超過 100GB,用 Vaex 也可以在瞬間打開它(0.052 秒)。

項目地址:https://github.com/vaexio/vaex
官方文檔:https://vaex.readthedocs.io/en/latest/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM