我有一个带有两个参数的函数:
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
此外,结果不会被缓存。有没有办法将部分对象与内存库一起使用?