Добрый день!
Вот мой код:
from joblib import Parallel, delayed
def illustartion():
result = Parallel(n_jobs=5, backend="threading")(delayed(lambda x: x*x)(x) for x in [1,2,3])
print(result)
if __name__ == '__main__':
illustartion()
Этот код генерирует такую ошибку:
Код:
File "C:\Python34\lib\site-packages\joblib\parallel.py", line 120, in delayed
pickle.dumps(function)
_pickle.PicklingError: Can't pickle <function illustartion.<locals>.<genexpr>.<lambda> at 0x022BC4B0>: attribute lookup <lambda> on __main__ failed
Проблема в том, что используется модуль pickle, который и умеет работать с лямбда выражениями. В интернет есть некоторые решения этой проблемы, но они все для Python 2.x и скомпелировать нужные пакеты для Python 3.x непросто. Подсажите как решить это проблему (параллельные вычисления в Python 3.x с ламбда выражением)?