2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Python 3.x - параллельные вычисления и сериализация
Сообщение21.04.2016, 00:26 
Добрый день!

Вот мой код:

Используется синтаксис Python
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 с ламбда выражением)?

 
 
 [ 1 сообщение ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group