CoreML 是苹果提供的机器学习框架。我们可以使用它来轻松将预训练的机器学习模型集成到 IOS App 中。
使用 CoreML 的基本步骤:
- 训练一个机器学习模型,支持的格式有:
- .mlmodel (Core ML 模型格式)
- .onnxml (Open Neural Network Exchange 格式)
- .h5 (Keras 模型格式)
- .pb (TensorFlow 模型格式)
- 将模型文件添加到 Xcode 项目中。
- 导入 CoreML 和模型文件:
swift
import CoreML
let model = OneClass_1_0().model
- 使用 MLModel 类加载模型,并创建接口对象 MLPrediction。
- 根据输入的数据类型,构造模型的输入 MLFeatureProvider。
- 调用 prediction(for:) 方法并传入输入,获取模型预测输出。
- 输出结果形式取决于模型类型,例如分类会返回字符串,回归会返回 double 值。
下面是一个使用 Keras 导出的 CoreML 模型简单示例:
swift
let model = OneClass_1_0().model
let prediction = try? model.prediction(forFeatures: inputFeatures)
let classIndex = prediction?.classLabel
let className = labelName(forIndex: classIndex!)