MindSpore21天实战营丨基于MindSpore的ResNet-50蘑菇“君”的识别应用体验

举报
Dasming 发表于 2020/11/04 19:06:03 2020/11/04
【摘要】 基于MindSpore的ResNet-50蘑菇“君”的识别应用体验

背靠全新的设计理念,华为云推出了 MindSpore深度学习实战营,帮助小白更快的上手高性能深度学习框架,快速训练ResNet-50,实现你的第一个手机App开发,学会智能新闻分类、篮球检测和「猜你喜欢」模型!

MindSpore深度学习实战营,通过 21天的合理课程安排,不仅提供目前大热的移动端部署介绍,还有紧跟时事的趣味实践,更有深度的底层开发讲解,让你从框架到算法到开发,都能一网打尽。

在MindSpore21天实战第三堂课,由王辉老师分享了基于MindSpore的ResNet-50的识别推理模型,如何应用在“蘑菇’君’是否有毒?”的检测场景。

ResNet之前的状况是:

CNN能够提取low/mid/high-level的特征,网络的层数越多,意味着能够提取到不同level的特征越丰富。并且,越深的网络提取的特征越抽象,越具有语义信息。而实际随着神经网络层数的增加,梯度消失或者爆炸导致深层网络很难训练。

对于该问题的解决方法是正则化初始化和中间的正则化层(Batch Normalization),这样的话可以训练几十层的网络。虽然通过上述方法能够训练了,但是又会出现另一个问题,就是退化问题,网络层数增加,但是在训练集上的准确率却饱和甚至下降了。

ResNet提出了残差结构,就是为了解决梯度消失、爆炸或者训练退化的问题。其经典结构如下图所示:

如下图所示,左侧是普通层,而右侧是ResNet;


如下图所示,左侧是普通层,而右侧是ResNet;

随着网络层数的大量增加,普通层的输出H(X)越来越难以学习。而ResNet跨过卷积层将输入X作为最终输出。F(X)被称为残差。

深度残差网络有着相对低的复杂度和更深的网络层数。曾获多项比赛的第一名。

ResNet-50中的50,指的是该网络的层数为50层。

本堂课的体验作业是基于华为MindSpore框架的ResNet-50网络模型,实现6714张共10类蘑菇图片的识别分类训练。算力是基于华为云ModelArts,网络存储使用华为OBS对象存储服务。大量图片上传OBS桶过程中,使用了OBS-browser-plus套件工具,设置好OBS登录权限和存储目录后,可以本地拖放目录操作,大量的数据文件可以进入队列自动上传。

基于1*Ascend910 CPU的算力,整个训练过程用时10.04minutes,数据集训练精度平均损失0.569,输出日志如下图所示。

  对训练生成的模型,通过Eval测试“蘑菇超人”图片,其分类结果为“霍氏粉褶伞,伞菌目,粉褶菌科……”,测试日志见下图。也是查了一下霍氏粉褶伞的图片,其他且不说,颜色相似度还是挺高的。

整个体验过程简单流畅,结合实例加深了对ResNet-50深度神经网络的了解。

——————————————本期体验分享到此结束————————————



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。