【问题标题】:iOS Core ML and a DBSCAN Python scikit modeliOS Core ML 和 DBSCAN Python scikit 模型
【发布时间】:2018-06-14 09:52:30
【问题描述】:

我正在尝试使用 scikit 创建 DBSCAN 机器学习模型。到目前为止,我已经以某种方式工作的 Python 模型。

在此之后,我想将其转换为 Core ML 模型,以便能够在我的 iPhone 应用程序中使用它。

我阅读了很多信息。而here 我发现了类似的东西:

Core ML 仅支持回归和分类(不支持聚类、排名、降维等)

DBSCAN 是一种聚类算法,所以根据这个,即使我将成功创建我的 Python 机器学习模型,我也无法将其转换为 Core ML 并在我的应用程序中使用?

【问题讨论】:

标签: ios machine-learning scikit-learn cluster-analysis coreml


【解决方案1】:

有一个DBSCAN in Turicreate。 Turicreate supports conversion to coreml for some models,但到目前为止还没有 DBSCAN。 ;(

您也可以用dlibOpenCV 中提供的其他一些聚类算法替换DBSCAN。它们都可以为 iOS 项目编译:

此外,DBSCAN 是一种非常常见的算法。一个简短的search over Github 给出了 56 个 C++ 存储库和 9 个 C 实现(如果你想要 Swift 兼容性)。

【讨论】:

  • 转换器是必要条件但不是充分条件;换句话说,由于 CoreML 不支持聚类模型,因此您不能使用 Turi Create 转换器将此类模型转换为 CoreML。 dlib 和 OpenCV 库包含在我在答案中提供的链接中。
  • @desertnaut,你是对的,它上升了AttributeError: 'DBSCANModel' object has no attribute 'export_coreml'。感谢您参考我的列表,我只是认为直接链接到聚类算法以及如何为 iOS 编译它们作为补充可能会有所帮助。
【解决方案2】:

简短的回答是

长答案:CoreML 不是您在 iOS 中进行机器学习的唯一选择;您可以在(不断更新的)Machine Learning for iOS 页面中找到可用工具的完整列表(尽管通过快速扫描,我也找不到 DBSCAN 集群)。

【讨论】:

  • “事实上,甚至不推荐”——在我看来,这句话太强了。如果您不需要在设备上训练它们并且如果您的模型有转换器,Core ML 绝对是运行预训练模型的最简单方法。
  • @AlexanderSosnovshchenko 同意 - 删除声明(实际上是后来的附加组件)。
猜你喜欢
  • 2019-03-30
  • 1970-01-01
  • 2016-06-25
  • 2019-08-06
  • 2019-11-08
  • 2014-12-27
  • 2014-09-11
  • 2018-01-03
  • 2018-09-17
相关资源
最近更新 更多