小编Cen*_* Xu的帖子

如何在numpy中将此for循环向量化?

代码如下:

import numpy as np
X = np.array(range(15)).reshape(5,3)  # X's element value is meaningless
flag = np.random.randn(5,4)
y = np.array([0, 1, 2, 3, 0])  # Y's element value in range(flag.shape[1]) and Y.shape[0] equals X.shape[0]
dW = np.zeros((3, 4))  # dW.shape equals (X.shape[1], flag.shape[1])
for i in xrange(5):
    for j in xrange(4):
        if flag[i,j] > 0:
            dW[:,j] += X[i,:].T
            dW[:,y[i]] -= X[i,:].T
Run Code Online (Sandbox Code Playgroud)

为了更有效地计算dW,如何对此for循环进行矢量化?

python numpy vectorization

7
推荐指数
1
解决办法
135
查看次数

标签 统计

numpy ×1

python ×1

vectorization ×1