CoreML是苹果公司几乎全新的机器学习框架,使我们能够使我们的应用程序更加智能。
什么是机器学习?
ML同时是一个问题,也是一个解决方案。
它只是一个研究领域,允许计算机在没有明确编程的情况下进行学习。
阿瑟-塞缪尔
监督下的学习
这就像计算机有一个老师,以手把手的方式告诉它什么是对的,什么是错的,......。
这方面的一个例子是教计算机什么是猫。训练数据总是被清楚地标示出来,并被送入机器学习模型,机器通过这些数据进行学习,并开始能够进行所需的分类。而我们可以用我们的测试数据来幸运地得到想要的输出。分类往往是在离散的数据上工作。当我们在处理连续数据时,我们更倾向于使用回归法。
无监督学习
在这里,我们只是给我们的模型提供了一大堆数据,让它来处理这些数据,并从这些数据中找出意义,如聚类。
强化学习
它是基于奖励机器的。
核心ML
Core ML本质上允许我们做两件事,使我们很容易将机器学习整合到我们的iOS项目中。
- 加载预先训练好的模型(无论是Caffe还是Torch还是keras,它都会将其转换为一个.ml模型文件
- 进行预测
它只限于分类和回归。
- 我们不能使用用户数据来进一步训练我们的模型(无训练)!
- 它是静态的
- 它不是加密的
为了在我们的iOS项目中实现核心ML文件(.ml),我们所要做的就是把它拖到我们的文件结构中,并确保勾选 "如果需要复制项目 "的复选框。不要忘记导入你需要的框架,如coreML和Vision。
Vision框架可以进行人脸和人脸地标检测、文本检测、条形码识别、图像注册和一般特征跟踪。Vision还允许使用自定义的Core ML模型来完成分类或物体检测等任务。
Core ML最初发表在Medium上的Nerd For Tech,在那里人们通过强调和回应这个故事继续对话。