joblib Параллельное изменение словаря - PullRequest
0 голосов
/ 19 марта 2020

все. У меня есть словарь, к которому нужно добавить пары ключ-значение при запуске сценария, а также изменить значения для этого ключа. Я решил использовать модуль joblib. Но словарь остается пустым. Что я делаю неправильно? Код ниже:

dct={}

num_cores = multiprocessing.cpu_count()

def my_func(data, batch_test, dct):

    min_dist=float('inf')
    closest_batch = 0
    for batch_train in data.batch.unique():
        dist = dtw.distance_fast(data.loc[data.batch == batch_test].signal.values, 
                    data.loc[data.batch == batch_train].signal.values)
        if dist < min_dist:
            min_dist=dist
            closest_batch = batch_train
    dct[batch_test] = closest_batch

Parallel(n_jobs=num_cores, verbose=10)(delayed(my_func)( 
                  data = data, 
                  dct = dct, 
                  batch_test = batch)for batch in batch_tests)

После выполнения я получаю: None, None, None, None, None

...