Core ML 介绍与实践

2017-07-31  本文已影响363人  BigLuckyHaha

1. core ML简介

CoreML让你将很多机器学习模型集成到你的app中。除了支持层数超过30层的深度学习之外,还支持决策树的融合,SVM(支持向量机),线性模型。由于其底层建立在Metal 和Accelerate等技术上,所以可以最大限度的发挥CPU和GPU的优势。你可以在移动设备上运行机器学习模型,数据可以不离开设备直接被分析。

结构
结构.png
支持模型
模型.png
支持模型.png
模型转换
3rd model convert.png
应用场景
应用场景.png
优缺点

优点:将机器学习带到移动设备上,简单易开发
缺点:不支持模型再训练和联合学习

总结

2.Vision

Vision 使用

将各种功能的 Request 提供给一个 RequestHandler,Handler 持有图片信息,并将处理结果分发给每个 Request 的 completion Block 中。可以从 results 属性中得到 Observation 数组,然后进行更新 UI 等操作。因为 completion Block 所执行的队列跟 perform request 的队列相同,所以更新 UI 时记得使用主队列。

Vision 操作流水线分为两类:分析图片和跟踪队列。可以使用图片检测出的物体或矩形结果(Observation)来作为跟踪队列请求(Request)的参数。


analyzing.png tracking.png
支持图片类型

CVPixelBufferRef
CGImageRef
CIImage
NSURL
NSData

总结

3.core ML实践

模型使用

把 MLMODEL 文件拖拽到 Xcode 工程中,勾选对应的 target, Xcode 自动生成对应代码。生成的类名就是 MLMODEL 文件名,输入和输出的变量名和类型也可以在 Xcode 中查看。

模型使用.png

demo地址

4.相关框架

metal

Metal是与OpenGL ES是并列的,它们都是应用对GPU访问的底层接口。而Metal则提供了更底层,更面向硬件的接口,这也是为何Apple给这个框架起名为“Metal”的原因。

mps

mps即 Metal Performance Shaders 是MetalKit iOS9新增的类,可以使用GPU进行高效的图像计算,比如高斯模糊,图像直方图计算,索贝尔边缘检测算法等。

上一篇 下一篇

猜你喜欢

热点阅读