有什么方法可以加快循环速度(Python)?

时间:2019-04-16 10:23:02

标签: python-3.x multiprocessing joblib

我有一个数组X,大小为60000、28、28。我想计算矩阵Kenter image description here

其中n = 1, ..., 60000k[i,j] = np.linalg.norm(X[i,:,:] - X[j,:,:])

我使用以下代码:

from joblib import Parallel, delayed
import multiprocessing

def get_kernel(X,i,j):
    a = 1000
    K = np.zeros([a,a])
    for i in range(a):
        for j in range(a):
            K[i,j] = np.linalg.norm(X[i,:,:]-X[j,:,:])
    return K

a = 1000
out = Parallel(n_jobs=10)(delayed(get_kernel)(X,i,j) for i in range(a) for j in range(a))

问题在于此代码根本无法提高速度,甚至会使速度变慢。我该怎么办?

0 个答案:

没有答案