当前位置: 首页 > 知识库问答 >
问题:

如何在AWS sagemaker中运行预先培训的模型?

黎承颜
2023-03-14

我有一个模型。预训练的pkl文件以及与ml模型相关的所有其他文件。我想把它部署到aws sagemaker上。但是在没有培训的情况下,如何将其部署到aws sagmekaer,就像aws sagemaker中的fit()方法一样,运行train命令并推送模型。焦油gz到s3位置,当使用deploy方法时,它使用相同的s3位置来部署模型,我们不会在s3中手动创建与aws模型创建的位置相同的位置,并使用一些时间戳来命名它。如何推出我们自己的个性化模式。焦油gz文件,并使用相同的s3位置调用deploy()函数。

共有1个答案

沈单弓
2023-03-14

您所需要的只是:

  1. 使您的模型位于模型中的任意S3位置。焦油gz存档
  2. 在SageMaker兼容的docker图像中有一个推理脚本,可以读取您的模型。pkl,提供服务并处理推论
  3. 创建将工件与推理代码关联的endpoint

当您请求endpoint部署时,SageMaker将负责下载您的模型。焦油gz并解压缩到服务器docker映像中的适当位置,即/opt/ml/model

根据您使用的框架,您可以使用预先存在的docker映像(可用于Scikit learn、TensorFlow、PyTorch、MXNet),也可以创建自己的映像。

  • 关于自定义映像创建,请参见此处的规范和此处的两个用于R和sklearn的自定义容器示例(由于有一个预构建的docker映像和一个sagemaker sklearn SDK,因此sklearn一个不太相关)

关于你的以下经历:

当使用deploy方法时,它使用相同的s3位置来部署模型,我们不会在s3中手动创建aws模型创建的相同位置,并使用一些时间戳对其命名

我同意,有时使用SageMaker Python SDK(SageMaker的许多可用SDK之一)的演示可能会产生误导,因为它们经常利用刚刚经过培训的Estimator可以部署的事实(Estimator.deploy(…) ),而不必实例化将推理代码映射到模型工件的中介模型概念。这种设计可能是代表代码compacity完成的,但在现实生活中,给定模型的培训和部署可能会通过在不同系统中运行的不同脚本来完成。完全有可能在同一个会话中部署一个模型并对其进行培训,您需要实例化一个sagemaker。模型对对象建模,然后部署它。

 类似资料:
  • 我是pytorch的新手,我正在尝试运行我找到的github模型并对其进行测试。因此,作者提供了模型和损失函数。 像这样: 数据加载 假设我想训练这个模型15个时代。这就是我到目前为止所做的:我正在尝试设置优化器和训练,但我不确定如何将自定义丢失和数据加载绑定到模型,并正确设置15个历元训练。 有什么建议吗?

  • 我想训练自己的自定义模型。我可以从哪里开始? 我使用这个样本数据来训练一个模型: 基本上,我想从给定的输入中找出一些无意义的文本。 我尝试了opennlp开发文档中给出的以下示例代码,但出现了错误:Model与name finder不兼容!

  • 我想使用Apache OpenNLP为我的母语乌尔都语训练NER模型。我已经准备好了中的训练数据。制作训练模型(. bin)的下一步是什么,就像我们在模型下载部分的OpenNLP站点上找到的那样。

  • 我想在SageMaker找一份当地的培训工作。 根据这个AWS笔记本(https://github.com/awslabs/amazon-sagemaker-examples/blob/master/sagemaker-python-sdk/mxnet_gluon_mnist/mxnet_mnist_with_gluon_local_mode.ipynb),我能够在本地进行训练和预测。 有没有办法

  • 这是我的培训代码 滚轮编号。火车 结果训练 当我使用这段代码测试它时。 给出了如下结果。有些时候是错的。

  • 我有一个优化代码运行在sagemaker。我想每1小时运行一次代码。我怎么能在sagemaker安排跑步?。我不想调用模型endpoint,但我想在每1小时运行整个代码。