0
雖然我正在模擬我的代碼中的執行時間,但我發現以下三行佔用了幾乎99%的運行時間,所以我的目標是優化這些三行代碼。什麼是使python的矩陣運算更快的最佳方式
有關以下代碼的細節是: R,P,Q均爲稀疏矩陣,我使用scipy.sparse.lil_matrix,數據類型是np.float64, 和α,β都只是漂浮恆定。
eij = R[i, j] - np.dot(P[i, :], Q[:, j]) (~9s)
for k in range(K): (~11s)
P[i, k] += alpha * (2 * eij * Q[k, j] - beta * P[i, k])
Q[k, j] += alpha * (2 * eij * P[i, k] - beta * Q[k, j])
我怎麼能讓他們跑得快呢?
嘗試[numexpr](http://code.google.com/p/numexpr/) – JBernardo 2013-04-23 02:57:33
@JBernardo:很酷!比['pyopencl']更容易(http://documen.tician.de/pyopencl/) – Kabie 2013-04-23 03:04:15
@JBernardo提交作爲答案? – jamylak 2013-04-23 03:35:11