我有一个预先训练的model.pkl文件,以及所有其他与ml模型有关的文件。我希望它将其部署在aws sagemaker上。 但是无需培训,如何将其部署到aws sagmekaer,因为aws sagemaker中的fit()方法运行train命令并将model.tar.gz推到s3位置,并且当使用deploy方法时,它将使用相同的s3位置部署模型时,我们不会在s3中手动创建与aws模型创建的位置相同的位置,也不会使用一些时间戳对其进行命名。如何在s3位置中放置我们自己的个性化model.tar.gz文件,并使用相同的s3位置来调用deploy()函数。
答案 0 :(得分:0)
您需要的是:
model.tar.gz
存档中的任意S3位置model.pkl
,提供服务并处理推理。当您请求端点部署时,SageMaker将负责下载model.tar.gz
并解压缩到服务器的docker映像中的相应位置,即/opt/ml/model
根据您使用的框架,您可以使用预先存在的docker映像(可用于Scikit-learn,TensorFlow,PyTorch,MXNet),或者您可能需要创建自己的Docker映像。
关于您的以下经历:
使用deploy方法时,它将使用相同的s3位置来部署 模型,我们不会在s3中手动创建与创建时相同的位置 通过aws模型并使用一些时间戳来命名
我同意,有时使用SageMaker Python SDK(SageMaker的许多 SDK之一)的演示会产生误导,因为它们通常会利用{刚刚训练的{1}}可以在同一会话中部署(Estimator
),而不必实例化将推理代码映射到模型工件的中间模型概念。该设计大概代表代码兼容性来完成,但是在现实生活中,给定模型的训练和部署很可能是通过在不同系统中运行的不同脚本来完成的。完全有可能在先前的同一会话中部署经过训练的模型,您需要实例化一个Estimator.deploy(..)
对象,然后进行部署。