Cd08b26b1f6d440869075bb14aef89ca
机器学习新工具: Create ML App

本文是 WWDC 2019 Session 430的读后感,其视频及配套 PDF 文稿链接如下:Introducing the Create ML App
本文首先介绍 Create ML 的背景知识,然后讲解全新 Create ML App 的进步,最后介绍 Create ML 所对应的使用场景。

Create ML 的背景

Create ML 是苹果于2018年 WWDC 推出的生成机器学习模型的工具。它可以接收用户给定的数据,生成 iOS 开发中需要的机器学习模型(Core ML 模型)。

iOS 开发中,机器学习模型的获取主要有以下几种:

  • 从苹果的官方主页下载现成的模型。2017年有4个现成的模型,2018年有6个,今年增加到了9个(8个图片、1个文字),数量有限,进步速度缓慢。

  • 用第三方的机器学习框架生成模型,再用 Core ML Tools 转成 Core ML 模型。2017年苹果宣布支持的框架有6个,包括 Caffee、Keras。2018年宣布支持的第三方框架增加到了11个,包括了最知名的 TensorFlow、IBM Watson、MXNet。至此 Core ML 已经完全支持市面上所有主流的框架。

  • 用 Create ML 直接训练数据生成模型。2018年推出的初代 Create ML有三个特性:使用 Swift 编程进行操作、用 Playground 训练和生成模型、在 Mac OS 上完成所有工作。

今年的 Create ML 在易用性上更进一步:无需编程即可完成操作、独立成单独的 Mac OS App、支持更多的数据类型和使用场景。

Create ML App 的主要功能

去年推出的 Create ML 的工作流程是这样的:定义数据源 -> 用数据源训练并生成模型 -> 验证和测试 -> 保存模型。整个过程需要在 Playground 中编写 Swift 代码,示例代码如下:

import Foundation
import CreateML

// 定义数据源
let trainDirectory = URL(fileURLWithPath: "/Users/createml/Desktop/Fruits")
let testDirectory = URL(fileURLWithPath: "/Users/createml/Desktop/TestFruits")

// 训练模型
let model = try MLImageClassifier(trainingData: .labeledDirectories(at: trainDirectory))

// 评估模型
let evaluation = model.evaluation(on: .labeledDirectories(at: testDirectory))

// 保存模型
try model.write(to: URL(fileURLWithPath: "/Users/createml/Desktop/FruitClassifier.mlmodel"))

今年的 Create ML App 成为了一个单独的 Mac OS 应用,它的工作流程不变,但操作却是异常简便,这里我们以花朵图片分类器为例:

  • 打开 Create ML App。打开 Xcode,选择左上菜单 Xcode 选项,在开发者工具中找到 Create ML,点击打开。
top Created with Sketch.