部署Amazon SageMaker目标检测模型时触发正则表达式校验错误
问题原因
你的报错一共涉及2个校验规则不满足,对应问题如下:
- 模型名称不符合规则:SageMaker要求模型名称只能由字母、数字、连字符组成,且开头和结尾必须是字母或数字,不能包含
.等特殊字符。你当前的模型名称model.tar.gz-2021-08-26-08-43-29-384包含了.tar.gz里的.字符,触发校验失败。 - 模型数据路径格式错误:
modelDataUrl字段要求必须是s3://或者https://开头的URI,指向S3中存储的模型压缩包位置。你当前的model.model_data填的是ECR推理镜像的地址,不是S3模型路径,完全不符合字段要求。
关于你提到的移动模型文件的问题:教程要求把模型文件移动到独立目录,只是为了区分训练输出的日志、中间产物和最终模型文件,避免冗余内容被打包进模型压缩包,方便文件管理。模型文件本身可以存在S3的任意路径,不需要必须放在/output或者子目录下,只要model_data参数指向的路径正确即可。
解决方法
按以下步骤调整即可:
- 修正
model_data参数:将该参数的值替换为你S3中模型文件的完整路径,格式为s3://<你的S3桶名>/folder/output/model/model.tar.gz,请替换为你实际的桶名和文件路径。 - 显式指定合法的模型名称:在创建
model对象时,手动传入name参数,传入符合规则的名称,示例:name = "object-detection-model-20210826",不要包含.、_等特殊字符。 - 重新执行部署代码即可正常创建端点。
内容的提问来源于stack exchange,提问作者hmnoidk
相关产品推荐
相关产品推荐

