【深度學習】向量化加速(1)

在大數據集處理中,通過使用向量來代替for循環,從而達到加速的效果。

一個A+B的例子,演示向量加速的效果。相同的輸出結果,所需要的時間遠小於for循環。

ps:
numpy 是Python的一種開源的數值計算擴展。這種工具可用來存儲和處理大型矩陣,比Python自身的嵌套列表(nested list structure)結構要高效的多(該結構也可以用來表示矩陣(matrix))。據說NumPy將Python相當於變成一種免費的更強大的MatLab系統。

import time
import numpy as np
a=np.random.rand(1000000)
b=np.random.rand(1000000)

tic=time.time()
c=np.dot(a,b)
toc=time.time()

print(c)
print("Vectorized :"+str(1000*(toc-tic))+"ms")

c=0
tic=time.time()
for i in range(1000000):
    c+=a[i]*b[i]
toc=time.time()

print(c)
print("For loop:"+str(1000*(toc-tic))+"ms")

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章