2015-02-05 2 views
1
from joblib import Parallel, delayed 

def func(v): 
    temp.append(v) 
    return 

temp = [] 
Parallel(n_jobs=4)(delayed(func)(v) for v in range(10)) 
print temp 

Я хочу сделать переменную разделяемой памяти. Но значение temp пусто []. Как мне это сделать?Как передать переменную в 'joblib' Библиотека Python

Для другого метода я попытался pickle.dump и загрузить. Но есть проблема с блокировкой. Пожалуйста, дайте мне совет!

+0

Я думаю, что это будет 'Параллель (n_jobs = 4) (задержка (func (v)) для v в диапазоне (10))' –

+0

@AvinashRaj Спасибо за комментарий. У вашей команды есть ошибка. "TypeError: объект" function "не является итерируемым" –

ответ

1
from joblib import Parallel, delayed 

def func(v): 
    return v 

temp = Parallel(n_jobs=4)(delayed(func)(v) for v in range(10)) 
print temp 

delayed собирает выход возвращенное func в списке и возвращает его на доработку.

Смежные вопросы