美文网首页
Core ML 介绍与实践

Core ML 介绍与实践

作者: BigLuckyHaha | 来源:发表于2017-07-31 13:54 被阅读363次

    1. core ML简介

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

    • Vision:这部分是关于图像分析和图像识别的。
      其中包括人脸追踪,人脸识别,航标(landmarks),文本识别,区域识别,二维码识别,物体追踪,图像识别等。
      其中使用的模型包括:Places205-GoogLeNet,ResNet50,Inception v3,VGG16,SqueezeNet。
      这些模型最小的5M,最大的550M,集成压力较大。

    • Natural Language Processing:这部分是自然语言处理的API。
      包括语言识别,分词,词性还原,词性判定,实体辨识。

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

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

    总结
    • Model 极速集成
    • 支持多种数据类型
    • 硬件优化
    • 适配主流机器学习框架

    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

    总结
    • 一个关于计算机视觉的顶层新框架。
    • 多重跟踪检测。
    • 集成 Core ML 轻松使用 model

    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进行高效的图像计算,比如高斯模糊,图像直方图计算,索贝尔边缘检测算法等。

    相关文章

      网友评论

          本文标题:Core ML 介绍与实践

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