博客 · 指南

如何在 iPad 上训练机器学习模型,无需 Mac,无需代码

一份实用指南:选择模型类型,收集好的示例,训练、测试并导出 .mlmodel。一切都在 iPad 上完成,你的示例从不上传。

作者:MagicaLCore ·

过去,训练自己的模型意味着需要一台电脑、专门的工具和大量的设置工作。有了配备 M1 或更新芯片的 iPad,MagicaLCore 把整个过程放进了一个 App:你提供示例,进行训练和测试,再导出一个可以用在你自己 App 中的模型。

本指南将从头到尾带你走一遍,并介绍一些习惯,它们决定了模型是只能在演示中奏效,还是能在真实生活中派上用场。

1. 选择合适的模型类型

从你希望模型回答的问题出发。MagicaLCore 可以训练六种模型:

模型 它回答 示例
图像 这张照片里有什么? 水果熟了没有、叶子的种类
声音 这是什么声音? 鸟鸣、乐器、敲门声
表格数据 根据这些列,是哪个类别或哪个数值? 根据手、脚和臂展的长度预测身高
文本 这段文本讲的是什么,语气如何? 按主题整理消息
手势姿势 这是哪个静止的手势? 石头、剪刀、布
手部动作 这段视频里是哪种手部动作? 视频中的简短手势

如果你的问题符合其中之一,iPad 就足够了。

2. 收集好的示例

模型的质量始终取决于它的数据。以下几条规则适用于每种模型类型:

  • 每个类别一个文件夹。 文件夹名称就是标签:熟了、没熟。表格数据请使用 CSV 文件,其中一列是你要预测的值。
  • 多样胜过数量。 不同角度、不同光线和背景的照片。在不同房间录制的声音。
  • 保持类别均衡。 每个类别的示例数量要相近。用某样东西的 10 张照片和另一样东西的 1,000 张照片训练出的模型,会学会去猜那个大类别。
  • 收集模型将会看到的内容。 如果你的 App 要在户外使用 iPad 的摄像头,就用类似的摄像头在户外拍的照片来训练。
  • 留出一些示例。 模型在训练中从未见过的示例,才是诚实测试它的方法。

3. 设置训练,每项设置都有说明

用默认设置训练,就能得到一个有用的初版模型。想要更多控制时,MagicaLCore 会展示每项设置,并配有信息按钮,用通俗的话说明它的作用。你会在使用中学会机器学习的术语,而不用靠猜。

4. 看着它学习

训练时,MagicaLCore 会逐次迭代绘制训练数据和验证数据的准确率与损失。有两点值得留意:

  • 两个准确率一起上升: 模型学到的东西,在它没有记住的示例上也同样有效。
  • 训练准确率持续上升,验证准确率却停滞不前: 模型在死记硬背。增加示例的多样性,通常比增加迭代次数更有帮助。

训练时间长,而课很短或一天很忙?暂停它,之后在历史记录中从中断的地方继续。

5. 像用户一样测试

数字只是开始,真正的测试是在新示例上试用模型。MagicaLCore 让你用自己的照片、音频文件、一行数据或一句话来测试,也可以用摄像头和麦克风实时测试。试试那些困难的情况:光线不好、背景噪音、不寻常的角度。每一个错误都会告诉你接下来该添加哪些示例。

6. 导出真正的 .mlmodel

满意之后,导出一个附带名称、作者和描述的 .mlmodel 文件。它是 Xcode 和 Swift Playgrounds 都能识别的标准格式,因此你可以把它放进 iPhone 或 iPad App。MagicaLCore 中的“使用你的模型”指南展示了每种模型类型的代码。

为什么在 iPad 上?

  • 无需 Mac。 在同一台设备上训练、测试和导出。有了 Swift Playgrounds,你甚至可以在上面开发 App。
  • 隐私从设计开始。 训练、测试和导出都在 iPad 上完成。你的数据集永远不会为了训练模型而上传。
  • 你去哪里,它就去哪里。 外出考察、花园、教室:你可以在同一个地方收集示例并训练。

快速清单:每个类别一个文件夹,示例多样且均衡,留出一部分用于测试,测试困难的情况,然后导出。

有关其他 App 和服务的信息均于文章发布日期核实,可能会有变化。所有产品名称归其各自所有者所有。

继续阅读

全部文章