博客 · 指南
如何在 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 和服务的信息均于文章发布日期核实,可能会有变化。所有产品名称归其各自所有者所有。
MagicaLCore