如何将 joblib 转储保存到另一个文件夹?

How do I save a joblib dump to another folder?

我的目标结构:

我当前的代码,位于工具目录中

joblib.dump(pipeline, "../models/model_full_June2020.jl")

抛出错误:

FileNotFoundError: [Errno 2] No such file or directory: '../models/model_full_June2020.jl'

我猜我的路径是错误的。如果我没记错的话 windows 路径和 python 不同于 python 和其他系统。当我将这个东西部署到 heroku 时,我想无论它依赖于哪个特定系统,它都需要工作。

如@john 所述,这并不意味着 tools 目录是当前目录。

以编程方式设置相对路径,而不是假设您的 cwdtools 目录中。您可以执行以下操作

在包含脚本的文件中,您想执行如下操作:

import os
dirname = os.path.dirname(__file__)
filename = os.path.join(dirname, 'relative/path/to/file/you/want')
joblib.dump(pipeline, filename )

这应该可以正确定位文件,因为 filename 会产生绝对路径。

您可以简单地尝试一下。我为 LinearRegression 做了这个。

joblib.dump(lr,'models/rent_lr_model')