Любой способ ускорить этот цикл (Python)? - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть массив X размером 60000, 28, 28. Я хочу вычислить матрицу K: enter image description here

, где n = 1, ..., 60000, k[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))

Проблема в том, что этот код вообще не дает мне никакого увеличения скорости, но даже замедляет работу.что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...