IOS 中什么是 CoreML?如何使用?代码举例讲解

CoreML 是苹果提供的机器学习框架。我们可以使用它来轻松将预训练的机器学习模型集成到 IOS App 中。

使用 CoreML 的基本步骤:

  1. 训练一个机器学习模型,支持的格式有:
    • .mlmodel (Core ML 模型格式)
    • .onnxml (Open Neural Network Exchange 格式)
    • .h5 (Keras 模型格式)
    • .pb (TensorFlow 模型格式)
  2. 将模型文件添加到 Xcode 项目中。
  3. 导入 CoreML 和模型文件:
swift
import CoreML
let model = OneClass_1_0().model 
  1. 使用 MLModel 类加载模型,并创建接口对象 MLPrediction。
  2. 根据输入的数据类型,构造模型的输入 MLFeatureProvider。
  3. 调用 prediction(for:) 方法并传入输入,获取模型预测输出。
  4. 输出结果形式取决于模型类型,例如分类会返回字符串,回归会返回 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!)