現在想要做的是
假設有矩陣 A,B,C,...J共約10個
要與同樣數量shape的矩陣a,b,c,...,j
每個shape大約是 (3500,2500,3)
做 A*a + B*b + C*c +...+ J*j
點對點相乘再全部加總
所以出來的結果也是一個(3500,2500,3)的矩陣
該怎麼做最快呢 @[email protected]"
type都是numpy array,嘗試了幾種方法
1. 直接使用np multiply方法再相+
當然這是最慢的, 要好多秒
2. 使用numexpr把"A*a+B*b+.."的算式寫在evaluate裡面
這個很強 快超多 大概30%以上 但還是不夠快
3. 使用Cupy
這個當然是最快的 可是存在一個問題
我把20個矩陣用cp.array()轉到cupy
計算完後用cp.asnumpy()轉回來
這兩個過程滿耗時的 加起來又比上面兩個慢了 Q.Q
目前嘗試了上面三種方法 都沒辦法達到理想的速度
假設在 i5-7400CPU , 16G記憶體 , 1050Ti的GPU上
有方法可以達到一秒鐘計算50次 甚至100次嗎 ??
希望版上的計算達人們指教還是小蛇的小魯 >///<