美文网首页机器学习之路iOS Developer
如何把sklearn机器学习模型转换为Core ML支持的格式

如何把sklearn机器学习模型转换为Core ML支持的格式

作者: Cyyyyyyyy | 来源:发表于2017-06-14 16:24 被阅读254次

手把手教你在应用里用上iOS机器学习框架Core ML里,我们用苹果提供的模型Places205-GoogLeNet在iOS应用里实现了一个支持Core ML的应用。然后在
5行代码训练出你的第一个机器学习模型里,训练了出了一个自己的机器学习模型。

接下来我来告诉你怎么在应用里用上自己训练的模型。

开发环境

5行代码训练出你的第一个机器学习模型里的开发环境的基础上,我们还要安装苹果的coremltools

在控制台执行下面这一行命令就够了。

pip install -U coremltools

如果你用的Python版本不是2.x,上面的命令会报错,这里有解决方案。

转换模型

我们在上篇文章的代码基础上往下写。简单说,就是我们的模型可以通过提供的性别和身高推算出人的体重,更多细节请翻回这里看。

from sklearn.linear_model import LinearRegression
import pandas as pd

full_data = pd.read_csv("Data.csv")
model = LinearRegression()
model.fit(full_data[['Gender', 'Height']], full_data["Weight"])

model就是我们在Python里的模型对象,下面我们把它转化成Core ML要用的mlmodel格式。

import coremltools
coreml_model = coremltools.converters.sklearn.convert(model, ["gender", "height"], "weight")

coreml_model.author = "chenyi"
coreml_model.license = 'BSD'
coreml_model.short_description = 'Predicts weight by gender and height'

coreml_model.input_description['gender'] = "Gender:0 for male;1 for female."
coreml_model.input_description['height'] = "Height in cm."
coreml_model.output_description['weight'] = "Weight in kg."

coreml_model.save('PredictWeight.mlmodel')

大部分代码都是用来填写模型的描述信息的,真正做转换工作的只有convertsave两行。

大功告成,接下来你就可以按照手把手教你在应用里用上iOS机器学习框架Core ML里提到的方法把模型用在自己的iOS应用上啦。

要注意一下,coremltools现在的版本(0.3.0)还不支持sklearn的所有算法。具体的支持情况请查阅文档

参考资料

CoreMLTools官网
CoreMLTools文档

相关文章

  • 如何把sklearn机器学习模型转换为Core ML支持的格式

    在手把手教你在应用里用上iOS机器学习框架Core ML里,我们用苹果提供的模型Places205-GoogLeN...

  • Core ML框架研究与应用

    Core ML允许你把多种机器学习模型集成到你的应用程序中。除了支持30层以上的广泛深入学习,它还支持标准模型,如...

  • core ML之model转换

    这次主要讲一下如何获得一个不是 CoreML 格式的数据模型,并把它转换为 Core ML 格式。 有许多热门的深...

  • iOS11的CoreML开发

    Core ML支持很多机器学习的模型,包括神经网络,决策树融合,支持向量机,线性模型。CoreML需要一个扩展名为...

  • Core ML 介绍与实践

    1. core ML简介 CoreML让你将很多机器学习模型集成到你的app中。除了支持层数超过30层的深度学习之...

  • iOS机器学习

    核心ML 将机器学习模型集成到您的应用程序中。 使用Core ML,您可以将训练有素的机器学习模型集成到应用程序中...

  • 手把手教你在应用里用上iOS机器学习框架Core ML

    2017年的WWDC上,苹果发布了Core ML这个机器学习框架。现在,开发者可以轻松的使用Core ML把机器学...

  • CoreML实践

    本文主要讲述CoreML的一次全流程实践。Core ML模型支持很多第三方机器学习工具创建和训练的模型的转换,比如...

  • iOS Core ML 2.0

    1.Core ML,您可以将机器学习模型集成到您的应用程序中

  • iOS:使用 Core ML 进行机器学习

    Core ML 是一个使各种机器学习和统计模型在 macOS 和 iOS 上原生支持的令人兴奋的新框架。它帮助开发...

网友评论

    本文标题:如何把sklearn机器学习模型转换为Core ML支持的格式

    本文链接:https://www.haomeiwen.com/subject/xnxeqxtx.html