用iOS的ML(机器学习)创建自己的AI App
目录
- 用iOS的ML(机器学习)创建自己的AI App
- 机器学习如同迭代过程
- CoreML 的使用方法?
- 软件要求
- 硬件
- 开始吧!!
- 构建管道:
- 设计和训练网络
- Keras 转 CoreML
- 将模型集成到 Xcode 中
- 结论
推荐超级课程:
- Docker快速入门到精通
- Kubernetes入门到大师通关课
- AWS云服务快速入门实战
在机器学习中,一切都始于模型,这是进行预测或识别的系统。教计算机学习涉及使用训练数据的机器学习算法进行学习。从训练中生成的输出通常称为机器学习模型。有不同类型的机器学习模型来解决同一个问题(例如对象识别),但使用不同的算法。神经网络, 树集成, 支持向量机(SVM)是其中一些机器学习算法。
机器学习如同迭代过程
首先,我们尝试使用公共模型,但为了带来独特的市场价值和优势,我们希望我们的模型能胜过其他模型。我们在寻找的是所谓的ML反馈循环。谷歌在其ML功能中遵循以下模式:
- 获取初始数据(一次性)
- — — — — —
- 对数据进行标记
- 训练模型
- 测试模型
- 将模型投入生产运行
- 获取新数据(并重复)
现在,对于一个移动应用程序,流程看起来像是:
在上图中,移动应用程序似乎使用了由ML创建的模型,但是它是如何工作的?是的,这里就是Core ML发挥作用的地方。
CoreML 的使用方法?
Core ML 是苹果的一种新的机器学习框架。它将机器学习模型带到苹果设备上,并让开发者能够轻松利用机器学习。我们可以使用苹果准备的十几种模型,或者从流行的ML框架(比如Keras,Caffe 或 scikit-learn)中转换开源模型。
使用 CoreML 创建IOS应用程序的工作流程如下:
1- 您需要使用如Caffe、turi、Keras等ML框架创建一个数据模型。
2- 安装名为Core ML Tools的Python框架,将数据模型转换为Core ML格式。此转换的结果将是一个带有mlmodel扩展的文件。
3- 就是这样,您可以使用Core ML Tools创建的模型,并将其用于您的移动应用程序。
软件要求
为了训练模型,我们需要一个ML框架。最流行的是由Google开发的Tensorflow。它受到社区最好的支持,并拥有大量的教程和开发者的关注。然而,当您深入了解时,您可能会最终发现自己在Github 问题页面或堆栈溢出上处理一些数学问题或未记录的代码。与Web应用程序或移动开发相比,ML仍处于婴儿阶段,作为开发者,您需要准备好面对这些。建议您留出额外的时间来探索ML的神秘之处。开始使用高级库如Keras或许更容易。您可以在文章结尾处查看一些训练教程的链接。
Tensorflow 和 Keras 是最常见的ML库之一
硬件
许多人说我们需要一个GPU来训练模型。对于需要高精度或进行一些网络架构调整的项目来说这是正确的。如果我们需要一个包含10个类别的图像分类器,那么我们可以利用迁移学习,在标准CPU上对我们的模型进行10分钟的微调。然而,对于真实的生产应用,我们通常需要GPU的性能。我们已经尝试了几家云服务提供商,亚马逊AWS的g2.2xlarge实例是一个不错的选择。
开始吧!!
到目前为止,您已经知道了使用机器学习创建IOS应用所需的必要工具,那就开始吧!
构建管道:
要使用Core ML工具,第一步是在您的Mac上安装Python。首先,下载Anaconda(选择Python 2.7版本)。Anaconda是一种在Mac上运行Python而不会出现问题的超级简单方式。安装Anaconda后,请转到终端并输入以下命令:
conda install python=2.7.13conda update python
接下来是创建一个虚拟环境。在虚拟环境中,您可以使用不同版本的Python或包来编写程序。要创建一个新的虚拟环境,请输入以下命令。
conda create --name handwriting当终端提示您时,pr