【问题标题】:Dynamic Machine Learning Model for iOSiOS 的动态机器学习模型
【发布时间】:2018-09-25 16:52:24
【问题描述】:

我有一个用 SWIFT 编写的 iOS 应用程序。它获取用户信息并将其保存在数据库(Firebase)中。我想使用这些数据,然后动态更新随着数据更新而创建的机器学习模型,以便每次都提供改进的预测。有没有办法做到这一点?

我知道我可以单独创建经过训练的模型(例如使用 TensorFlow),然后使用 Core ML 将其导入到我的应用中,但我该如何做到这一点,以便模型在新数据进入时不断更新?

感谢您的帮助!

【问题讨论】:

  • 我不知道有没有(我认为有),但我认为你不应该这样做。如您所知,训练模型需要花费太多时间,即使使用strong 计算机也是如此。因此,如果您使用 iOS 应用程序执行此操作,可能需要每小时或每天一次。用户迫不及待想要看到它
  • 我希望用很少的数据来做到这一点,例如50 行,这在计算上应该仍然有效。感谢您的帮助!

标签: ios swift tensorflow machine-learning coreml


【解决方案1】:

取决于型号。

您不能为此使用 Core ML,因为它不支持训练。 iOS 11.3 中的 Metal Performance Shaders 框架现在支持基于神经网络的模型的训练。而且您始终可以编写自己的训练代码。

如果模型是逻辑回归之类的基本模型,您可以在设备上对其进行训练,并且不会花费那么长时间。如果它是一个有很多层的深度学习模型,并且您要在大量数据上对其进行训练,那么在设备上进行训练可能不可行。

【讨论】:

  • 感谢马蒂斯的回复。我希望使用协同过滤来构建我的模型,但是,我只有少量数据(仅使用大约 50 行)。我不知道金属性能着色器和基于神经网络的模型。是否有替代方案可以在云中训练模型?如果我想在设备上使用逻辑回归测试模型,你能指导我一些资源吗?非常感谢或您的帮助
  • 对于协同过滤,最简单的做法是使用 Swift 和来自 Accelerate.framework 的矩阵例程自己编写。
  • 你能指导我一些关于加速框架中矩阵例程的资源吗?
  • 这是我写的一个旧矩阵类型:github.com/hollance/Matrix 和一个我移植到 Swift 的共轭梯度优化例程:gist.github.com/hollance/31da3d531385f822529d953a0566ffb0——两者都可能需要修复才能使用 Swift 3 或 4 进行编译。
猜你喜欢
  • 2023-03-28
  • 1970-01-01
  • 2016-10-27
  • 1970-01-01
  • 2022-12-10
  • 2021-02-20
  • 1970-01-01
  • 2020-06-19
  • 1970-01-01
相关资源
最近更新 更多