iOS11 新特性-Core ML (二)手把手教你生成 Core ML 模型

时间:2024-05-23 18:12:39

    上篇文章中我们介绍了Core ML 操作的前提是有已经训练好的模型,模型文件后缀为mlmodel, 那么怎么获取模型文件呢,我们可以借助苹果提供的 模型转换工具coremltools
以下篇幅,我们将使用 scikit-learn 中的线性回归模型 转换为 mlmodel模型。

    本文假设你已经安装了 python, scikit-learn, coremltools库。

    我们的案例是根据房屋的面积(为了简便,采用一个特征),预测房屋的价格。

    第一步:数据准备:

        我们准备了如下数据(图一),Square_Feet 表示房屋的面积,Price表示价格,将数据保存为csv文件。

iOS11 新特性-Core ML (二)手把手教你生成 Core ML 模型

          (图一)假想数据    

     第二步:编写python脚本加载数据并生成mlmodel模型:

  1.         导入需要的库:
    iOS11 新特性-Core ML (二)手把手教你生成 Core ML 模型
  2.        加载保存的csv文件:
    iOS11 新特性-Core ML (二)手把手教你生成 Core ML 模型
  3.      生成 scikit-lean 模型:
    iOS11 新特性-Core ML (二)手把手教你生成 Core ML 模型
  4.     转换模型为 Core ML 格式:
    iOS11 新特性-Core ML (二)手把手教你生成 Core ML 模型
  5.     修改 Core ML 模型文件的元数据及输入输出描述:
    iOS11 新特性-Core ML (二)手把手教你生成 Core ML 模型
  6.      保存 生成的 模型:
    iOS11 新特性-Core ML (二)手把手教你生成 Core ML 模型

        此时 我们可以在数据目录下看到生成的模型文件:

iOS11 新特性-Core ML (二)手把手教你生成 Core ML 模型

将生成的 模型文件导入到项目中,我们可以查看模型的信息:

      iOS11 新特性-Core ML (二)手把手教你生成 Core ML 模型

本文只展示了scikit-learn 下的 一元线性回归模型的生成及转换,其他库的类似,生成模型的代码已经上传到GitHub,

下一篇我们展示 如何在项目中使用生成的模型