我想并行处理一个使用joblib.Memory缓存的函数,但是我遇到了以下错误:
这里是代码:
TypeError: can't pickle function objects
这里是代码:
import joblib
mem = joblib.Memory(cachedir='/tmp')
@mem.cache
def foo(x):
# do some complicated task
return x + 1
if __name__ == '__main__':
f = joblib.delayed(foo)
res = joblib.Parallel(n_jobs=-2)(f(x) for x in range(100))