我想仿冒一个用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))发布于 2016-07-19 21:56:35
尝试为修饰函数使用不同的名称,如foo_cached = mem.cache(foo),而不是装饰器。另见https://github.com/joblib/joblib/issues/226
https://stackoverflow.com/questions/38465445
复制相似问题