
悟空考考你:猴子猴孙分类
悟空给八戒讲了人工智能识别妖怪的原理,八戒醍醐灌顶,觉得自己的道行上升了一个层次。
不过,悟空可不是那么容易被忽悠的。他要考考八戒,看一下自己的教学成果如何。
悟空的考题
悟空要出一道考题,看看八戒能不能举一反三,这样才能验证他是否真的明白了图像分类的奥秘。
“出个什么题目呢?”悟空嘟囔道。
花果山的猴子不仅数量多,种类也是应有尽有,有猕猴、蜂猴、眼镜猴等。出来这么久,悟空也开始想念家中的猴子猴孙了,干脆就以花果山猴子猴孙的分类作为考验八戒的题目吧!
猪八戒能否顺利过关呢?

八戒的“火眼金睛”
八戒拍拍肚皮,自信地说:“如今我也拥有火眼金睛啦,辨别猴子不在话下,你就拭目以待吧。”
与分辨妖怪类似,八戒也想到用EasyDL平台解决这个问题,通过训练一个图像分类模型来识别不同种类的猴子。
八戒来到EasyDL平台,开始解决猴哥给他出的题目。

实验2
花果山猴子分类
第一步 创建模型
这个阶段的主要任务是选择平台类型,确定模型类型,配置模型基本信息(包括名称等),并记录希望模型实现的功能。
1)打开EasyDL平台主页,网址为https://ai.baidu.com/easydl/,如图2-23所示。

图2-23 EasyDL平台主页
点击图2-23中的【立即使用】按钮,显示如图2-24所示的【选择模型类型】选择框。模型类型选择【图像分类】,进入【我的模型】,显示图2-25所示的操作台页面。

图2-24 选择模型类型

图2-25 操作台页面
2)在图2-25中显示的操作台页面创建模型。
点击操作台页面中的【创建模型】按钮,显示如图2-26所示的页面,填写模型名称为“花果山猴子分类”,模型归属选择“个人”,填写联系方式、功能描述等信息,点击【完成】按钮,完成模型的创建。

图2-26 创建模型
3)模型创建成功后,就可以在【我的模型】中看到刚刚创建的模型“花果山猴子分类”,如图2-27所示。

图2-27 模型列表
第二步 准备数据
这个阶段的主要工作是根据图像分类的任务准备相应的数据集,并把数据集上传到平台,用来训练模型。
(1)准备数据集
首先扫描封底二维码下载压缩包,在【第2章-实验2】中找到训练模型所需的图像数据。对于猴子分类任务,我们准备了三种猴子的图像,分别为猕猴、蜂猴和眼镜猴。图片类型均为jpg,除此之外也支持png、bmp、jpeg图片类型。之后,需要将准备好的图片按照分类存放在不同的文件夹里,同时将所有文件夹压缩为.zip格式的文件包。
然后,需要将准备好的图像数据按照分类存放在不同的文件夹里,文件夹名称即为图像对应的类别标签(mihou、fenghou、yanjinghou)。此处要注意,图像类别名(即文件夹名称)只能包含字母、数字、下划线,不支持中文命名。
最后,将所有文件夹压缩,命名为monkeys.zip,压缩包的结构示意图如图2-28所示。

图2-28 压缩包的结构示意图
(2)上传数据集
点击图2-29所示的【EasyData数据服务】中的【数据总览】,点击【创建数据集】按钮,进入如图2-30所示的页面。在该页面中填写数据集名称,点击【完成】按钮,完成数据集的创建。点击图2-31中的【导入】按钮,进入图2-32所示的页面,在该页面中选择数据标注状态为【有标注信息】,导入方式选择【本地导入】,标注格式选择【以文件夹命名分类】并点击【上传压缩包】,选择monkeys.zip压缩包。

图2-29 创建数据集

图2-30 填写数据集名称

图2-31 数据集创建结果

图2-32 上传数据集
选择好压缩包后,点击【确认并返回】按钮,成功上传数据集。
(3)查看数据集
上传成功后,可以在【数据总览】中看到数据集的信息,如图2-33所示。数据集上传后,需要一段处理时间,大约几分钟后就可以看到数据集上传结果,如图2-34所示。

图2-33 数据集展示

图2-34 数据集上传结果
点击【查看与标注】,可以看到数据集的详细情况,如图2-35所示。

图2-35 数据集详情
第三步 训练模型并校验结果
前两步已经创建好了一个图像分类模型,并且创建了数据集。本步骤的主要任务是用上传的数据一键训练模型,并且在模型训练完成后在线校验模型的效果。
(1)训练模型
数据上传成功后,在【训练模型】中,选择之前创建的图像分类模型,添加分类数据集,开始训练模型。训练时间与数据量有关,在训练过程中,可以设置训练完成的短信提醒并离开页面,如图2-36~图2-39所示。

图2-36 添加数据集

图2-37 选择数据集

图2-38 训练模型

图2-39 模型训练中
(2)查看模型效果
模型训练完成后,在【我的模型】列表中可以看到模型的效果(如图2-40所示)以及详细的模型评估报告(如图2-41所示)。从模型训练的整体情况可以看出,该模型训练的效果是比较优异的。

图2-40 模型训练结果

图2-41 模型整体评估
(3)校验模型
我们可以在【校验模型】中对模型的效果进行校验。
首先,点击【启动模型校验服务】按钮,如图2-42所示,大约需要等待5分钟。

图2-42 启动校验服务
然后,准备一条图像数据,点击【点击添加图片】,如图2-43所示。

图2-43 添加图像
最后,使用训练好的模型对上传图像进行预测,如图2-44所示,结果显示图像属于猕猴。

图2-44 校验结果
最后,八戒独立完成了花果山猴子猴孙分类的任务,顺利通过了悟空的考验。
八戒开心地说道:“怎么样,猴哥?我还不错吧!”
悟空连连点头,说道:“恭喜你通过考验!你没让为兄失望,以后我再也不喊你呆子了。”