将Joblib内存库与部分对象一起使用

时间:2016-11-15 14:20:26

标签: python caching partial joblib

我有一个带有两个参数的函数:

def foo(x,y):
   # some complicated math
   return result

我使用functools库定义部分:

f1 = partial(foo,1)
f2 = partial(foo,2)

现在我想使用joblib.Memory库将结果缓存到磁盘中以避免重新计算。

from joblib import Memory
mem = Memory(cachedir = '/tmp')    
f1c = mem.cache(f1)
f2c = mem.cache(f2)
res1 = f1c(10)
res2 = f1c(10)

当我运行代码时,我收到警告:

JobLibCollisionWarning: Cannot detect name collisions
for function 'unknown

此外,结果不会被缓存。有没有办法将部分对象与内存库一起使用?

0 个答案:

没有答案