向量化與for迴圈耗時對比——python實現
深度學習中,可採用向量化替代for迴圈,優化耗時問題
對比例程如下,參考andrew ng的課程筆記
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 version: " , str(1000*(toc-tic)) + "ms")
c = 0
tic1 = time.time()
for i in range(1000000):
c += a[i]*b[i]
toc1 = time.time()
print(c)
print("for loop version: " , str(1000*(toc1-tic1)) + "ms")
處理百萬資料,耗時相差400多倍。
效果圖:
python向量化與迴圈耗時對比及其原理
python向量化與迴圈耗時對比及其原理,向量化計算速度是迴圈的約為300倍。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...
向量化與正則化
向量化vectorization vectorization是使用矩陣計算來代替for迴圈,以簡化計算過程,提高效率。如上式,是乙個求和的過程,顯然需要乙個for語句迴圈m次,所以根本沒有完全的實現vectorization。下面介紹向量化的過程 約定訓練資料的矩陣形式如下,x的每一行為一條訓練樣本...
Numpy基礎 陣列與向量化計算
一 多維陣列 1 生成ndarray array函式 1 np.array import numpy as np data1 6,7.5,8,0,1 建立簡單的列表 print data1 arr1 np.array data1 將列表轉化為陣列 print arr1 2 ndarry的資料型別 1...