mot*_*m79 6 python caching partial joblib
我有一个带有两个参数的函数:
def foo(x,y):
# some complicated math
return result
Run Code Online (Sandbox Code Playgroud)
我使用functools库定义了部分:
f1 = partial(foo,1)
f2 = partial(foo,2)
Run Code Online (Sandbox Code Playgroud)
现在我想使用该joblib.Memory库将结果缓存在磁盘中以避免重新计算。
from joblib import Memory
mem = Memory(cachedir = '/tmp')
f1c = mem.cache(f1)
f2c = mem.cache(f2)
res1 = f1c(10)
res2 = f1c(10)
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,我收到警告:
JobLibCollisionWarning: Cannot detect name collisions
for function 'unknown
Run Code Online (Sandbox Code Playgroud)
也不会缓存结果。有没有办法在内存库中使用部分对象?