尝试缓存结果时Joblib用户警告

时间:2016-05-10 05:12:30

标签: python numpy netcdf joblib

我得到了foll。尝试使用joblib缓存结果时的用户警告:

from tempfile import mkdtemp
cachedir = mkdtemp()
from joblib import Memory
memory = Memory(cachedir=cachedir, verbose=0)

@memory.cache
def get_nc_var3d(path_nc, var, year):
    """
    Get value from netcdf for variable var for year
    :param path_nc:
    :param var:
    :param year:
    :return:
    """
    try:
        hndl_nc = open_or_die(path_nc)
        val = hndl_nc.variables[var][int(year), :, :]
    except:
        val = numpy.nan
        logger.info('Error in getting var ' + var + ' for year ' + str(year) + ' from netcdf ')

    hndl_nc.close()
    return val

我得到了foll。使用foll调用此函数时发出警告。参数:

UserWarning: Persisting input arguments took 0.58s to run.
If this happens often in your code, it can cause performance problems 
(results will be correct in all cases). 
The reason for this is probably some large input arguments for a wrapped
 function (e.g. large strings).
THIS IS A JOBLIB ISSUE. If you can, kindly provide the joblib's team with an
 example so that they can fix the problem.

输入参数:C:/Users/rit/Documents/PhD/Projects/\GLA/Input/LUWH/\LUWLAN_v1.0h\transit_model.nc range_to_large 1150

如何摆脱警告?以及为什么会发生这种情况,因为输入参数不会太长。

0 个答案:

没有答案