如何通过最少使用for循环来优化以下代码?

时间:2019-10-22 17:11:07

标签: python-3.x performance for-loop optimization coding-efficiency

代码花了太多时间进行计算,我想减少迭代次数。我尝试使用@Albuquerque How to optimise the following for loop code?建议的方法,但是对于此代码,我有3d数组。请提出如何优化以下代码的建议。

K=2
D=3
N=3
sigma=np.asarray([[1,2,3],[4,5,6]])
F=np.asarray([[1,2,3],[4,5,6]])
X=np.asarray([[1,2,3],[4,5,6],[7,8,9]])

W=
[
 [
  [1,2,3],
  [3,2,1]
 ],
 [
  [1,1,19],
  [1,2,1]
 ],
 [
  [2,2,2],
  [1,3,5]
 ]
]

result2= np.ones([N, D])
for i in range(N):
   for l in range(D):
     result2[i][l]=np.sum(W[i][k][l]*(F[k][l]+sigma[k][l]*X[i][l]) for k in range(K))


output-
array([[ 26.,  42.,  60.],
      [ 25.,  72., 441.],
      [ 48., 171., 360.]])

0 个答案:

没有答案