本系列文集主要会记录我在“将机器学习模型部署到iOS App上”的一些学习和研究,记录下来,以备查询。如果能够对大家有所帮助,那也是最好不过的了。
关注点
术业有专攻,对于iOS Developer而言,要部署机器学习模型,我们应该关注一些我们应该关注的点,而把其他点,交给其他更加专业的人来做。
比如,我们的关注点包括(当然不仅限于):
- 如何在iOS中部署机器学习模型
- 模型在iOS中的性能优化
- 性能优化对模型各项指标的影响
- 模型的热更新
而并不是特别关注:
- 模型算法的优化
- 模型的训练过程
- 模型经过训练后,在部署前,对我们而言已经固化的各项指标,比如性能、准确度等
知识储备
如果你需要在iOS中部署机器学习模型,除了需要掌握iOS的一些基本知识外,你还需要了解一下机器学习的一些基础的理论知识和主流的技术。以下是一些个人建议,如果你是一名iOS Developer,同时对机器学习理论、Python、机器学习主流框架都有一定的了解,可以跳过本文,直接阅读后续文章。
- iOS基础
你至少需要是一名iOS Developer,最好对图像处理、音视频处理有所了解。
- 机器学习理论基础
对于新手而言,知乎的这边文章,能够帮助你很好的入门机器学习的理论知识:《如何用3个月零基础入门「机器学习」?》。当然了,如果你对机器学习算法不感兴趣,或者急于将现成的算法模型集成到iOS,以获取成就感,大可暂时跳过其中的数学推导部分,留到以后慢慢精进,也是可以的,这取决于个人的学习路线。
- 机器学习技术
你需要对一些主流的机器学习技术有一定的了解,包括Python、TensorFlow、Keras、Caffe,并且实际使用过他们。
Core ML
Core ML 2 是一个机器学习框架,能用于众多 Apple 的产品,包括 Siri、相机和快速输入。Core ML 2 带来了极速的性能和机器学习模型的轻松整合,使您仅用几行代码就能为 app 构建智能功能。现在,您还可以在 Mac 上使用 Create ML 和 Xcode 10 中的 playground 构建自己的模型。
更多Core ML的介绍请参阅苹果官方。
TensorFlow Lite
TensorFlow Lite is the official solution for running machine learning models on mobile and embedded devices. It enables on‑device machine learning inference with low latency and a small binary size on Android, iOS, and other operating systems.
TensorFlow Lite 是用于在移动端和嵌入式设备上跑机器学习模型的Google官方解决方案。它为Android和iOS提供了更小、更快的运行机器学习模型的解决方案。
好吧,废话那么多,让我们从最简单的开始吧!