将经过训练的 AWS SageMaker MXNet 模型部署/转换到 iOS 设备
Posted
技术标签:
【中文标题】将经过训练的 AWS SageMaker MXNet 模型部署/转换到 iOS 设备【英文标题】:Deploy/convert trained AWS SageMaker MXNet Model to iOS devices 【发布时间】:2019-12-13 18:18:13 【问题描述】:我使用 SageMaker 对象检测算法训练了一个 MXnet SSD resnet-50 模型,并希望在 ios 设备上使用它。因此我需要将其转换为 Apple CoreML 格式。我试过mxnet-to-coreml。
也许有更好的方法来做到这一点? 有谁知道实现此任务的便捷方法?
我的模型包含两个文件:
resnet50_ssd_model-symbol.json resnet50_ssd_model-0000.params在转换模型之前,我使用MXnet 提供的“deploy.py”将其设置为部署状态。
mxnet-to-coreml 转换器失败并出现以下错误:
raise TypeError("不支持 %s 类型的 MXNet 层。" % 层) TypeError: 不支持 _copy 类型的 MXNet 层。
我这样调用转换器脚本:
python mxnet_coreml_converter.py --model-prefix='ssd_resnet50_512' --
epoch=0 --input-shape='"data":"3, 512, 512"' --mode=classifier --pre-
processing-arguments='"image_input_names":"data"' --output-
file="resnet50.mlmodel"
【问题讨论】:
【参考方案1】:如here 所述,从 MXNet 到 CoreML 的转换器尚不支持此层(“_copy”)(这是 MXNet 运算符)。对此有一个功能请求。
【讨论】:
以上是关于将经过训练的 AWS SageMaker MXNet 模型部署/转换到 iOS 设备的主要内容,如果未能解决你的问题,请参考以下文章
我们如何在 AWS Sagemaker 推理中添加复杂的预处理
AWS SageMaker ML DevOps 工具/架构 - Kubeflow?
如何将 AWS SageMaker 提供给组织外部的人员使用?
SageMaker - CloudFormation 中 SageMaker 实体的说明