- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
任何人都可以提供使用 SageMaker Pipeline 部署 pytorch 模型的示例吗?
我使用 SageMaker Studio 的 MLOps 模板(用于模型构建、训练和部署的 MLOps 模板)来构建 MLOps 项目。
该模板使用 sagemaker pipelines 构建用于预处理、训练和注册模型的管道。部署脚本在YAML文件中实现并使用CloudFormation来运行。模型注册时会自动触发部署脚本。
该模板使用xgboost模型来训练数据并部署模型。我想使用 Pytorch 并部署它。我成功地将pytorch替换为xgboost,并成功预处理数据、训练模型并注册模型。但我没有在我的模型中使用 inference.py 。所以我收到模型部署错误。
更新端点时的错误日志为:
FileNotFoundError: [Errno 2] No such file or directory: '/opt/ml/model/code/inference.py'
我试图找到使用 inference.py 进行 pytorch 模型的示例,但找不到任何使用 sagemaker pipelines 和 RegisterModel 的示例。
如有任何帮助,我们将不胜感激。
下面您可以看到用于训练和注册模型的管道的一部分。
from sagemaker.pytorch.estimator import PyTorch
from sagemaker.workflow.pipeline import Pipeline
from sagemaker.workflow.steps import (
ProcessingStep,
TrainingStep,
)
from sagemaker.workflow.step_collections import RegisterModel
pytorch_estimator = PyTorch(entry_point= os.path.join(BASE_DIR, 'train.py'),
instance_type= "ml.m5.xlarge",
instance_count=1,
role=role,
framework_version='1.8.0',
py_version='py3',
hyperparameters = {'epochs': 5, 'batch-size': 64, 'learning-rate': 0.1})
step_train = TrainingStep(
name="TrainModel",
estimator=pytorch_estimator,
inputs={
"train": sagemaker.TrainingInput(
s3_data=step_process.properties.ProcessingOutputConfig.Outputs[
"train_data"
].S3Output.S3Uri,
content_type="text/csv",
),
"dev": sagemaker.TrainingInput(
s3_data=step_process.properties.ProcessingOutputConfig.Outputs[
"dev_data"
].S3Output.S3Uri,
content_type="text/csv"
),
"test": sagemaker.TrainingInput(
s3_data=step_process.properties.ProcessingOutputConfig.Outputs[
"test_data"
].S3Output.S3Uri,
content_type="text/csv"
),
},
)
step_register = RegisterModel(
name="RegisterModel",
estimator=pytorch_estimator,
model_data=step_train.properties.ModelArtifacts.S3ModelArtifacts,
content_types=["text/csv"],
response_types=["text/csv"],
inference_instances=["ml.t2.medium", "ml.m5.large"],
transform_instances=["ml.m5.large"],
model_package_group_name=model_package_group_name,
approval_status=model_approval_status,
)
pipeline = Pipeline(
name=pipeline_name,
parameters=[
processing_instance_type,
processing_instance_count,
training_instance_type,
model_approval_status,
input_data,
],
steps=[step_process, step_train, step_register],
sagemaker_session=sagemaker_session,
)
最佳答案
PyTorch api 使用基本 pytorch 图像。当调用 sagemaker.pytorch.deploy 方法时,sagemaker 运行 '/opt/ml/model/code/inference.py'
但是在您的基础镜像中没有该文件。
因此,如果您想使用部署方法,您可以使用 sagemaker 风格制作“inference.py”(可以在 sagemaker 容器中执行)并构建并推送镜像。
然后就可以使用deploy方法了!
这里是示例代码 https://sagemaker-workshop.com/custom/containers.html
关于pytorch - 使用 SageMaker Pipeline 和 RegisterModel 部署 PyTorch 模型时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69523257/
如何在 MVC 4 中添加将个人资料图片上传到默认 RegisterModel 的选项? 最佳答案 此答案将图像转换为字节数组,以便您可以将其保存在数据库中。如果您想将图像保存到文件存储,可以轻松修改
我想在我的网站的注册表中添加一个界面。我们称之为 IShape。有多种接口(interface)实现,例如 ISquare 和 ICycle,除了接口(interface)中声明的共享属性之外,每个属
任何人都可以提供使用 SageMaker Pipeline 部署 pytorch 模型的示例吗? 我使用 SageMaker Studio 的 MLOps 模板(用于模型构建、训练和部署的 MLOps
我是一名优秀的程序员,十分优秀!