如何在luigi中将模型pickle文件输出到s3?

我有一个训练模型的任务,例如:


class ModelTrain(luigi.Task):

    def output(self):

        client = S3Client(os.getenv("CONFIG_AWS_ACCESS_KEY"),

                          os.getenv("CONFIG_AWS_SECRET_KEY"))

        model_output = os.path.join(

            "s3://", _BUCKET, exp.version + '_model.joblib')

        return S3Target(model_output, client) 


    def run(self):

        joblib.dump(model, '/tmp/model.joblib')

    with open(self.output().path, 'wb') as out_file:

        out_file.write(joblib.load('/tmp/model.joblib'))        

FileNotFoundError: [Errno 2] 没有这样的文件或目录:'s3://bucket/version_model.joblib'


在这方面的任何指示都会有所帮助


凤凰求蛊
浏览 178回答 2
2回答

潇潇雨雨

您能否尝试在 open 语句中删除 .path 。  def run(self):     joblib.dump(model, '/tmp/model.joblib')             with open(self.output(), 'wb') as out_file:         out_file.write(joblib.load('/tmp/model.joblib'))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python