用 CuPy 將Numpy加速700倍?

“作為 Python 語言的一個擴展程序庫,Numpy 支持大量的維度數(shù)組與矩陣運算,為 Python 社區(qū)帶來了很多幫助。借助于 Numpy,數(shù)據(jù)科學家、機器學習實踐者和統(tǒng)計學家能夠以一種簡單高效的方式處理大量的矩陣數(shù)據(jù)。那么 Numpy 速度還能提升嗎?本文介紹了如何利用 CuPy 庫來加速 Numpy 運算速度。
就其自身來說,Numpy 的速度已經(jīng)較 Python 有了很大的提升。當你發(fā)現(xiàn) Python 代碼運行較慢,尤其出現(xiàn)大量的 for-loops 循環(huán)時,通常可以將數(shù)據(jù)處理移入 Numpy 并實現(xiàn)其向量化最高速度處理。

pip install cupy
i7–8700k CPU
1080 Ti GPU
32 GB of DDR4 3000MHz RAM
CUDA 9.0
import numpy as np
import cupy as cp
import time
### Numpy and CPU
s = time.time()
*x_cpu = np.ones((1000,1000,1000))*
e = time.time()
print(e - s)### CuPy and GPU
s = time.time()
*x_gpu = cp.ones((1000,1000,1000))*
e = time.time()
print(e - s)
### Numpy and CPU
s = time.time()
*x_cpu *= 5*
e = time.time()
print(e - s)### CuPy and GPU
s = time.time()
*x_gpu *= 5*
e = time.time()
print(e - s)
數(shù)組乘以 5
數(shù)組本身相乘
數(shù)組添加到其自身
### Numpy and CPU
s = time.time()
*x_cpu *= 5
x_cpu *= x_cpu
x_cpu += x_cpu*
e = time.time()
print(e - s)### CuPy and GPU
s = time.time()
*x_gpu *= 5
x_gpu *= x_gpu
x_gpu += x_gpu*
e = time.time()
print(e - s)

文章轉(zhuǎn)載:Python編程學習圈
(版權(quán)歸原作者所有,侵刪)
![]()

點擊下方“閱讀原文”查看更多
評論
圖片
表情
