SwiftUI机器学习之苹果的机器学习框架和工具

苹果的机器学习框架和工具

Apple提供了许多框架来帮助将机器学习集成到您的应用程序中。这些框架在不同的抽象级别上运行,但可以大致分为两大类:

  • 任务级框架
  • 模型级框架。

任务级框架

任务级框架提供的方法使您可以执行高级任务,而不必显式处理培训和部署机器学习模型。该框架包括许多预训练的模型,并将根据您要执行的任务选择一个模型。

Apple提供的关键任务级框架如下:

  • 视觉:此框架提供高级API来执行任务,例如人脸检测,界标检测,条形码扫描和对象跟踪。该框架还提供了有用的方法,可用于准备与其他框架(例如Core ML)一起使用的图像。实际上,如果您想使用自定义的Core ML格式模型来处理应用程序中的图像和视频,则强烈建议使用Vision。您可以在https://developer.apple.com/documentation/vision上了解有关Vision框架的更多信息。

  • 自然语言:此框架提供了高级API,用于分析文本并推论特定于语言的元素,例如名词,动词,形容词和命名实体,例如人,地方和组织。它也可以用来检测。https:// developer.apple.com/documentation/naturallanguage.

  • 语音:此框架可用于识别音频流中的口头单词。该框架支持多种语言,并使用Apple服务器上托管的机器学习模型来实现其大部分功能。如果您在应用程序中使用此框架,则您的应用程序将需要Internet连接。值得注意的是,Apple对每天可以通过应用程序发出的请求数量设置了限制。您可以在https://developer.apple.com/documentation/speech上找到有关Speech框架的更多信息。

模型级框架

模型级框架提供了一种在应用程序中使用机器学习模型的机制。 Core ML是Apple的模型级框架,尽管您可以使用其他第三方框架来代替Core ML,但它通常是iOS开发人员的首选。任务级框架和Core ML之间的区别在于,您需要执行一些工作才能完成某些工作。任务级框架提供了方便的高级API,可处理许多任务,例如预处理输入,线程,使用适当的模型以及后处理模型输出。
但是,要使用Core ML实现等效功能,您将需要执行各种预处理和后处理操作。考虑到额外的开销,您可能会想问为什么我还要直接使用Core ML?有两个很好的理由。

  • 对于您需要执行的高级任务,Apple的任务级框架可能不存在。例如,没有任务级框架来预测股价走势。
  • 即使存在任务级框架,框架内部使用的模型也可能不足以满足您的需求。
    Apple提供了Core ML格式的许多预训练模型,可以从https://developer.apple.com/machine-learning/models/下载。这些模型是开源的,Apple还提供了用于创建模型的Python源代码的链接。
    除了Apple提供的模型外,您还可以从第三方Internet存储库中获取Core ML格式的模型。这些模型存储库通常称为模型动物园。在Internet上快速搜索Core ML模型Zoo应该返回几个选项。值得一提的是,使用这些第三方模型的风险自负。
  • 格式转换器
    Core ML Tools是Apple提供的Python模块,可用于将使用流行的开源工具(例如Scikit-learn,LightGBM和XGBoost)创建的模型转换为Core ML格式。您可以在https://pypi.org/project/ coremltools /上找到有关Core ML Tools的更多信息。
    核心ML工具不支持某些框架,例如Google TensorFlow和Apache MXNet。 Google提供了名为tf-coreml的TensorFlow转Core ML转换器Python模块,可用于将TensorFlow模型转换为Core ML格式。您可以在https://github.com/tf-coreml/tf-coreml上找到有关tf-coreml的更多信息。

推荐代码

  • iOS SwiftUI整合人工智能制作照片识别(2020教程)

推荐

基础文章推荐

  • 《SwiftUI是什么,听听大牛们如何说》

经典教程推荐

  • onevcat 大神的《SwiftUI 与 Combine 编程》
  • 更新近百篇SwiftUI教程《SwiftUI2020教程》
  • 帮您突破数据存储难关《SwiftUI vs CoreData数据存储解决方案》

技术源码推荐

推荐文章

CoreData篇

  • SwiftUI数据存储之做个笔记App 新增与查询(CoreData)
  • SwiftUI进阶之存储用户状态实现登录与登出
  • SwiftUI 数据之List显示Sqlite数据库内容(2020年教程)

TextField篇

  • 《SwiftUI 一篇文章全面掌握TextField文本框 (教程和全部源码)》
  • 《SwiftUI实战之TextField风格自定义与formatters》
  • 《SwiftUI实战之TextField如何给键盘增加个返回按钮(隐藏键盘)》
  • 《SwiftUI 当键盘出现时避免TextField被遮挡自动向上移动》
  • 《SwiftUI实战之TextField如何给键盘增加个返回按钮(隐藏键盘)》

JSON文件篇

  • SwiftUI JSON文件下载、存储、解析和展示(代码大全)

一篇文章系列

  • SwiftUI一篇文章全面掌握List(教程和源码)
  • 《SwiftUI 一篇文章全面掌握TextField文本框 (教程和全部源码)》
  • SwiftUI一篇文章全面掌握Picker,解决数据选择(教程和源码)
  • SwiftUI一篇文章全面掌握Form(教程和源码)
  • SwiftUI Color 颜色一篇文章全解决

技术交流

QQ:3365059189
SwiftUI技术交流QQ群:518696470

  • 请关注我的专栏icloudend, SwiftUI教程与源码
    https://www.jianshu.com/c/7b3e3b671970

你可能感兴趣的:(SwiftUI机器学习之苹果的机器学习框架和工具)