是否可以在应用程序运行时在设备上训练 CoreML 模型?

Is it possible to train a CoreML model on device as the app runs?

是否可以发布带有 CoreML 模型的 iOS 应用,然后让该应用根据用户行为等在设备上继续改进(训练)模型?因此,该模型将在不需要服务器支持的情况下在设备上不断增长和改进...

答案是肯定的

由于 CoreML 3 得到了极大的优化 – 答案是肯定的,当您的应用程序 运行.

但是,使用 CoreML 2 无法在设备上训练模型,因为 运行 CoreML 2 应用程序与 [= 相比训练模型需要相当多的功率10=]。这就是为什么使用具有强大 GPU 的台式机和云计算机来创建预训练模型。在 CoreML 2 中,您的 ML 模型必须预先配置,并且您必须在那个阶段包括所有预处理技术,例如 Edge DetectionFrame Differencing

现在可以使用 Core ML 3。 https://developer.apple.com/videos/play/wwdc2019/704/ 跳至 9:00 以查看实际效果。如果您只需要代码,请跳至 13:50.

我正在尝试做同样的事情。显然,当您使用 coremltools 将模型转换为 Core ML 格式时,您可以将 "respect_trainable" 参数传递给转换器,它会自动使模型可更新。