经过之前coreML的介绍,自己训练一个模型
使用xcodeplayground训练简单神经网络模型
详细:
去年,苹果(Apple)推出了Core ML:这是一种快速的方法,可以让你用尽可能少的代码将预先培训好的机器学习模型导入应用程序中!今年,有了Create ML,苹果给了我们开发人员创建我们自己的机器学习模型直接进入Xcode的平台的能力!我们只需要一些数据就行了!目前,Create ML允许文本、图像和表作为数据。然而,由于这是大多数ML应用程序的组成部分,这应该很好地服务于您的目的!我将向您展示如何使用这三种类型的数据创建一个ML模型.
注意:本教程构建在Xcode 10和macOS Mojave 之上。请确保您升级了Xcode和macOS,以便遵循本教程.
之前的文章介绍过如何使用ML,今天主要讲一下使用xocde的playground来训练一个简单神经网络模型,顺便可以熟悉swift
准备工作
1.本文想做一个图像分类器的模型,区分简单图像
2.打开文件夹时,您将注意到另外两个文件夹:训练数据和测试数据。每个文件夹都有苹果和香蕉的混合图片。有大约20张苹果图片和20张香蕉图片,分别被称为测试数据和80张苹果图片和80张香蕉图片。我们将在训练数据中使用图像来训练分类器,然后使用测试数据来确定其准确性。
image3.如果您想构建自己的图像分类器,那么将数据集进行2-8分割是很重要的。大约80%的图像用于训练数据,其余部分用于测试数据。这样,您的分类器就有更多的数据需要训练。在每个文件夹中,将图像放在各自的文件夹中。根据图像的类别标签命名这些文件夹。
4.新建playground,注意这里一定要选macos而不是iOS,因为训练模型需要引入的头文件CreateMLUI是macos的
image5.接下来,给你的playground的起个名字,把他保存起来。
开始coding
开始
确保在Xcode playground中启用Live View特性,您将能够看到可视化界面! 需要引入CreateMLUI,CreateMLUI是一个与CreateML类似的框架,但它有一个UI。到目前为止,CreateMLUI只能用于图像分类. 然后在playground中输入以下代码
image运行之后是这个样子的
image下面向其中拖入训练数据,它会自动开始训练并显示当前进度
image控制台也会显示一些信息
image训练完成之后我们可以看到上面有三个标签:培训、验证和评估。培训是指Xcode成功培训的培训数据的百分比。这应该是100%
image评估是空的因为我们还没有给xcode任何测试数据,xcode会在剩余的20%上验证分类器,接着拖入测试数据
image当一切都完成后,我们的评估分数应该也是在100%
如果你对你的结果满意,剩下的就是保存文件了!单击图像分类器标题旁边的箭头。应该出现一个下拉菜单,显示所有的元数据。将元数据更改为您想要的方式,并将其保存到您想要的位置!
image他长这个样子
image接下来可以打开CoreML模型并查看元数据。它有你填的所有东西!恭喜你!您是您自己的图像分类器模型的作者,它非常强大,并且只需要17 KB!
image文本分类器模型
接下来,我们将使用Create ML构建一个垃圾邮件检测器模型。 废话不多说,上代码
image-
首先,我们创建一个名为data的常量,它是垃圾邮件的一种MLDataTable。json文件。MLDataTable是一个全新的对象,用于创建一个决定训练或评估ML模型的表。我们将数据分为trainingData和testingData。和以前一样,比率是80-20,种子是5。种子是指分类器的起点。然后我们用我们的训练数据定义一个叫做spamClassifier的MLTextClassifier,定义数据的值是文本,什么值是标签。
-
创建了两个变量,名为trainingAccuracy和validationAccuracy,用于确定分类器的准确程度。在侧窗格中,您可以看到百分比。
-
我们还检查评估的执行情况。(请记住,评价是分类器以前没有看到的文本上使用的结果,以及它们的准确性。
-
最后,我们为ML模型创建一些元数据,如作者、描述和版本。我们使用write()函数将模型保存到我们选择的位置!在下面的图片中,你会看到我选择了桌面!
运行。您可以在控制台中看到迭代,在右边栏中看到精度! 完成所有操作后,将保存核心ML模型!您可以查看模型并查看元数据!
网友评论