关于人工智能:手把手教你使用ModelArts的自动学习识别毒蘑菇分类

88次阅读

共计 3247 个字符,预计需要花费 9 分钟才能阅读完成。

摘要:本文介绍了 ModelArts 如何通过主动学习进行毒蘑菇的辨认。

想当年,白雪公主吃了毒蘑菇,换来了白马王子的一吻。如果白雪公主没有吃毒蘑菇,还会遇到白马王子吗?张小白感觉不见得——说不定她会遇到张小白。张小白给她 AI MindSpore Lite 推理了一下,她就不会中毒,也就会钟情于张小白的 AI 的神奇,也就不会移情给白马王子了。

为了早日给白雪公主安利一下毒蘑菇的知识点,张小白明天就写下了这篇通过 ModelArts 主动学习进行毒蘑菇分类的文字,心愿白雪公主可能看到,并关注点个赞什么的。

ModelArts 的主动学习性能也就几步:

(1)筹备毒蘑菇数据集

(2)创立主动学习我的项目,进行数据标注

(3)对数据集进行模型训练

(4)将训练好的模型部署上线

(5)测试已部署上线的服务,进行蘑菇图片的推理。

先来创立数据集:首先把毒蘑菇的数据集筹备好,点击以下链接下载 zip 包:

https://ascend-tutorials.obs….

文件有 951M,急躁下载。下载结束后将其解压,

关上 mushrooms/train 文件夹, 上面寄存了毒蘑菇图片的 9 个分类。

将这些图片(带目录)上传到本人的 OBS 桶中。

张小白上传的 OBS 门路为是 obs://mindspore-21day-tutorials/resnet-50-2/mushrooms/train/

而后,新建一个 dataset-dumogu 数据集:

因为 OBS 外面是依照目录分类的,能够先导入第一个目录,如上图所示。

输出:/mindspore-21day-tutorials/resnet-50-2/mushrooms/train/Agaricus/

输入:/mindspore-21day-tutorials/resnet-50-2/output-mindspore/

创立后,能够先将目前导入的图片全副标注为 Agaricus。

标注完这一类之后,能够在这个数据集下面点击”导入“

填入第二个分类的 OBS 地位:

点击确定。

零碎会进行该目录数据集的导入工作。

导入结束,能够当看到 已标注的个数和整个数据集的数量:

本次导入的图片(数据集)会是未标注状态:

此时可将点击图片下方每页显示的最大数量跳到最大(目前是 60), 而后再抉择”抉择当前页“.

并在标签名中输出这类未标注的图片的标签,如 Suillus, 点击确认。

可看到未标注的数量在缩小,而已标注为 Suillus 的图片数量在减少:

如此重复标注 未标注的图片,直到未标注的图片全副标注结束,而后再进行其余目录(其余类别)的数据集的导入和标注。如此重复,直到标注齐全完结。

(这的确是一个体力活,人称”数据标注工程师“。)

好了,咱们的数据集就筹备好了。

在标注完之后,ModelArts 会在 后面设置的输入目录下生成以下目录:

这之下又有 5 个目录:

其中 annotation 目录是标注文件目录,外面内容为:

V002.manifest。

关上后,具体内容如下:

Plain Text

1

{“annotation”:[{“name”:”Cortinarius”,”type”:”modelarts/image_classification”,”creation-time”:”2020-11-11 11:07:34″,”annotated-by”:”human/zhanghui_china/zhanghui_china”}],”usage”:”train”,”source”:”s3://mindspore-21day-tutorials/resnet-50-2/mushrooms/train/Agaricus/import_1605064037231/219_m7t5mnXvmsw.jpg”,”id”:”0008324d2a2933fa17ef490e8413edc1″,”sample-type”:0}

其中将图片和类别的关系标注在 JSON 中。

第二步,咱们来建设一个主动学习的工作。

关上主动学习菜单。

点击创立我的项目,输出名称: exeML-dumogu,抉择”已有数据集“并选中方才创立的 dataset-dumogu 数据集。

而后关上建好的我的项目 exeML-dumogu, 点击左边红色的开始训练:

零碎弹出以下菜单,输出训练验证比例未 0.8,0.2,确定后开始模型训练。

确认配置后提交,

零碎就开始进行模型训练:

点击上图的部署按钮们开始进行部署。

下一步:

点击提交后,

急躁期待,也能够在”部署上线“-”在线服务“菜单看到部署的进度。

部署结束后,呈现以下画面:

能够点击”上传“,上传一些待预测的图片。

比方上图,55% 的机率是 Agaricus…

咱们上传一个真的 Agaricus

得分 1.0. 齐全精确。

以上都是从数据集外面间接拿的图片,得分不是 1.00 就是 0.99,飞常准。

张小白再从网上找一些毒蘑菇的图片:

这就有高有低了。

再找几张能够吃的,如金针菇和香菇:

好,咱们回过头来看看这 9 个分类的具体含意:

Plain Text

1

label_list = [“Agaricus 双孢蘑菇, 伞菌目, 蘑菇科, 蘑菇属, 宽泛散布于北半球温带, 无毒 ”,

2

“Amanita 毒蝇伞, 伞菌目, 鹅膏菌科, 鹅膏菌属, 次要散布于我国黑龙江、吉林、四川、西藏、云南等地, 有毒 ”,

3

“Boletus 丽柄牛肝菌, 伞菌目, 牛肝菌科, 牛肝菌属, 散布于云南、陕西、甘肃、西藏等地, 有毒 ”,

4

“Cortinarius 掷丝膜菌, 伞菌目, 丝膜菌科, 丝膜菌属, 散布于湖南等地 (夏秋季在山毛等阔叶林地上成长)”,

5

“Entoloma 霍氏粉褶菌, 伞菌目, 粉褶菌科, 粉褶菌属, 次要散布于新西兰北岛和南岛西部, 有毒 ”,

6

“Hygrocybe 浅黄褐湿伞, 伞菌目, 蜡伞科, 湿伞属, 散布于香港 (见于松仔园), 有毒 ”,

7

“Lactarius 松乳菇, 红菇目, 红菇科, 乳菇属, 宽泛散布于亚热带松林地, 无毒 ”,

8

“Russula 褪色红菇, 伞菌目, 红菇科, 红菇属, 散布于河北、吉林、四川、江苏、西藏等地, 无毒 ”,

9

“Suillus 乳牛肝菌, 牛肝菌目, 乳牛肝菌科, 乳牛肝菌属, 散布于吉林、辽宁、山西、安徽、江西、浙江、湖南、四川、贵州等地, 无毒 ”,

10

]

本人找的几个毒蘑菇图片,别离被辨认为:

Plain Text

1

Russula,无毒

2

Amanita,有毒

3

Lactarius,无毒

4

Amanita,有毒

5

Hygrocybe,有毒

6

Amanita,有毒

7

Lactarius,无毒

8

——— 白雪公主的中毒率为 3/7.

而张小白找的那 2 张食用菇的图片,别离被辨认为:

Plain Text

1

Lactarius,无毒

2

Lactarius,无毒

3

——— 白雪公主吃到美食的概率是 100%。

看来,7 个小矮人还是有必要呈现的,至多能够帮白雪公主试 7 次毒。。。

至于在实战营失去的一个要害常识,也须要在这里强调下:ResNet 卷积神经网络,必定会给一张并没有分类的图片搞个分类的,即使它不属于任何分类,也会强分一下,只不过得分会略微低一点,比方 0.5,0.6,0.7 之类的。这个并不是这个网络的能干,而是在深度学习这块,当初就只能到这里了。

所以,张小白认为,如果在得分特地低的状况下,咱就暂且在利用上不将其归类就是了。(或者写上得分,让他人看到,反正真的不是也是个概率问题,也不能怪 ResNet。说了这些,张小白感觉这个如同天气预报的概率指数啊。)

好了,对于 ModelArts 主动学习实现毒蘑菇图片辨认的介绍临时讲到这里吧。其实本文只是学习 MindSpore 的一个副产品。张小白的本意是想查看下,这个数据集进行训练,是否真的如 MindSpore 训练完结后那样不是很令人满意,后果倒是较为称心的。这样子反而让张小白无可奈何了。看来还是要细究下 ResNet 在 MindSpore 的利用外面,到底出了啥问题。

本文分享自华为云社区《张小白教你如何应用 ModelArts 的主动学习对毒蘑菇进行分类》,原文作者:张辉。

点击关注,第一工夫理解华为云陈腐技术~

正文完
 0