MLCore 端上推理全流程

本文介绍了如何将ONNX模型转换为iOS可用的MLModel,详细阐述了转化模型、验证模型转化成功以及在iOS端进行推理的步骤,包括输入输出的转化方法,同时探讨了在iOS端使用MLCore推理框架的便利性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MLCore 端上推理全流程

1. 问题描述

目前,我们在做一项端上的增强项目,需要用到相关平台的推理框架。现在有一个这样的问题:存在已有的onnx模型,可否转化成mlmodel模型,以供iOS端上使用。听上去挺简单的,安排☑️。
对于端上推理框架的套路如下几点:

  • 如何转化模型
  • 如何转化模型输入
  • 如何推理
  • 如何转化模型输出

在实际生产中,我们最难做的就是如何转化模型输入,所以,只要能做到模型输入的转化,我们即可完成任务。当然,后面还有需要需要注意的。

2. 如何转化模型

我们参考coremltools官网相关api。安装

sudo pip3 install coremltools==5.0b2

相关转化代码

import coremltools
import coremltools.proto.FeatureTypes_pb2 as ft

## onnx模型转换为mlmodel模型
mlmodel = coremltools.converters.onnx.convert(model=‘xxx’)

## 设置描述,作者,版本号
mlmodel.description = ‘xxx’
mlmodel.author      = ‘xxx’
mlmodel.version     = ‘xxx’
## 保存模型
mlmodel.save(‘xxx')

## 可处理输入和输出,将输出和输出转化为Image输入
spec = mlmodel.get_spec()
input_ = spec.description.input[0]
## ft.ImageFeatureType.BGR or ft.ImageFeatureType.RGB
input.type.imageType.colorSpace = ft.ImageFeatureType.GRAYSCALE
input.type.imageType.width  = xxx
input.type.imageType.height = xxx

## 将新生成的配置保存到模型中
coremltools.utils.save_spec(spec, mlmodel)

以上代码的注释也解释清楚了。这里需要明确的问题是:

  • 转换的模型路径。
  • 转换的模型输入,类似指定为iOS的CVPixelBufferRef,否则&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值