将Core ML模型集成到您的应用程序中

将简单模型添加到应用程序,将输入数据传递给模型,并处理模型的预测。

下载

SDKs

  • iOS 11.0+
  • Xcode 9.0+

Framework

  • Core ML

概观

此示例应用程序使用经过训练的MarsHabitatPricer.mlmodel模型来预测火星上的栖息地价格。

将模型添加到Xcode项目中

通过将模型拖动到项目导航器中,将模型添加到Xcode项目中。

您可以通过在Xcode中打开模型来查看有关模型的信息,包括模型类型及其预期的输入和输出。在此示例中,输入是太阳能电池板和温室的数量,以及栖息地的地块面积(以英亩为单位)。输出是栖息地的预测价格。

在代码中创建模型

Xcode还使用有关模型输入和输出的信息来自动生成模型的自定义编程接口,您可以使用该接口与代码中的模型进行交互。因为,Xcode生成接口来表示model (MarsHabitatPricer),模型的输入(MarsHabitatPricerInput)和模型的输出(MarsHabitatPricerOutput)。

使用生成的MarsHabitatPricer类的初始值设定项来创建模型:

let model = MarsHabitatPricer()

获取输入值以传递给模型

此示例应用程序使用UIPickerView来获取用户的模型输入值。

func selectedRow(for feature: Feature) -> Int {
    return pickerView.selectedRow(inComponent: feature.rawValue)
}

let solarPanels = pickerDataSource.value(for: selectedRow(for: .solarPanels), feature: .solarPanels)
let greenhouses = pickerDataSource.value(for: selectedRow(for: .greenhouses), feature: .greenhouses)
let size = pickerDataSource.value(for: selectedRow(for: .size), feature: .size)

使用模型进行预测

MarsHabitatPricer类有一个prediction(solarPanels:greenhouses:size:),这些会用来从模型的输入预测价格的方法值-在这种情况下,太阳能电池板的数量,温室的数量和栖息地的大小(在英亩)。此方法的结果是一个实例。

guard let marsHabitatPricerOutput = try? model.prediction(solarPanels: solarPanels, greenhouses: greenhouses, size: size) else {
    fatalError("Unexpected runtime error.")
}

访问price属性以获取预测价格并在应用程序的UI中显示结果。

let price = marsHabitatPricerOutput.price
priceLabel.text = priceFormatter.string(for: price)

注意 生成的prediction(solarPanels:greenhouses:size:)方法可能会抛出错误。使用Core ML时遇到的最常见类型的错误发生在输入数据的详细信息与模型所期望的详细信息不匹配时 - 例如,图像格式错误。

构建并运行Core ML应用程序

Xcode将Core ML模型编译为经过优化以在设备上运行的资源。模型的优化表示包含在您的应用程序包中,用于在应用程序在设备上运行时进行预测。

也可以看看

第一步

获得核心ML模型

获取要在您的应用中使用的Core ML模型。

将训练模型转换为核心ML

将使用第三方机器学习工具创建的训练模型转换为Core ML模型格式。

原文:https://developer.apple.com/documentation/coreml/integrating_a_core_ml_model_into_your_app

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CreateAMind

openAi HER 算法运行流程学习

1153
来自专栏天天P图攻城狮

Android终端上视频转GIF的实现及GIF质量讨论

在生成 GIF 的过程中,最关键的步骤就是生成调色板以及像素到调色板的映射关系。

1K11
来自专栏人工智能LeadAI

YOLO:实时目标检测

一瞥(You Only Look Once, YOLO),是检测Pascal VOC(http://host.robots.ox.ac.uk:8080/pasc...

1K7
来自专栏Petrichor的专栏

tensorflow: 畅玩tensorboard图表(SCALARS)

这篇博客建立在你已经会使用tensorboard的基础上。如果你还不会记录数据并使用tensorboard,请移步我之前的另一篇博客:tensorflow: t...

3043
来自专栏和蔼的张星的图像处理专栏

10.YOLO系列及如何训练自己的数据。

SSD失败之后就挺失望的,而且莫名其妙,于是转向YOLO了,其实object detection领域可选的模型并不多,RCNN系列我是大概看过的,还写过:RCN...

4862
来自专栏章鱼的慢慢技术路

图像处理基础知识

2025
来自专栏数据小魔方

带数据等级评定的柱形图

今天跟大家分享的是带数据等级评定的柱形图! ▽▼▽ 在传统柱形图中,如果能够在图表中加入优良差等数据等级评定的区域,那么读者在阅读起来就容易许多,不用自己心里去...

2583
来自专栏Jack-Cui

Caffe学习笔记(五):使用pycaffe生成solver.prototxt文件并进行训练

Python版本: Python2.7 运行平台: Ubuntu14.04     上几篇笔记记录了如何将图片数据转换成db(leveldb/lmdb)文件,...

3840
来自专栏深度学习与计算机视觉

TensorFlow 组合训练数据(batching)

在之前的文章中我们提到了TensorFlow TensorFlow 队列与多线程的应用以及TensorFlow TFRecord数据集的生成与显示,通过这些操作...

6617
来自专栏用户2442861的专栏

深度学习样本生成data augmentation

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

1593

扫码关注云+社区

领取腾讯云代金券