技术实践丨基于MindSpore的ResNet-50蘑菇“君”的识别应用体验
本文分享自华为云社区《基于MindSpore的ResNet-50蘑菇“君”的识别应用体验》,原文作者:Dasming。
摘要:基于华为MindSpore框架的ResNet-50网络模型,实现6714张共10类蘑菇图片的识别分类训练。

背靠全新的设计理念,华为云推出了 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深度神经网络的了解。
技术实践丨基于MindSpore的ResNet-50蘑菇“君”的识别应用体验的更多相关文章
- 技术实践丨React Native 项目 Web 端同构
摘要:尽管 React Native 已经进入开源的第 6 个年头,距离发布 1.0 版本依旧是遥遥无期."Learn once, write anywhere",完全不影响 Re ...
- 【公开课】【阿里在线技术峰会】魏鹏:基于Java容器的多应用部署技术实践
对于公开课,可能目前用不上这些,但是往往能在以后想解决方案的时候帮助到我.以下是阿里对公开课的整理 摘要: 在首届阿里巴巴在线峰会上,阿里巴巴中间件技术部专家魏鹏为大家带来了题为<基于Java容 ...
- 从游击队到正规军(三):基于Go的马蜂窝旅游网分布式IM系统技术实践
本文由马蜂窝技术团队电商交易基础平台研发工程师"Anti Walker"原创分享. 一.引言 即时通讯(IM)功能对于电商平台来说非常重要,特别是旅游电商. 从商品复杂性来看,一个 ...
- 花椒直播基于golang的中台技术实践
https://github.com/gopherchina/conference/blob/master/2019/2.7%20花椒直播基于golang的中台技术实践%20-%20周洋.pdf 花椒 ...
- 技术干货 | 基于MindSpore更好的理解Focal Loss
[本期推荐专题]物联网从业人员必读:华为云专家为你详细解读LiteOS各模块开发及其实现原理. 摘要:Focal Loss的两个性质算是核心,其实就是用一个合适的函数去度量难分类和易分类样本对总的损失 ...
- 让AI简单且强大:深度学习引擎OneFlow技术实践
本文内容节选自由msup主办的第七届TOP100summit,北京一流科技有限公司首席科学家袁进辉(老师木)分享的<让AI简单且强大:深度学习引擎OneFlow背后的技术实践>实录. 北京 ...
- 基于MIndSpore框架的道路场景语义分割方法研究
基于MIndSpore框架的道路场景语义分割方法研究 概述 本文以华为最新国产深度学习框架Mindspore为基础,将城市道路下的实况图片解析作为任务背景,以复杂城市道路进行高精度的语义分割为任务目标 ...
- Redis数据库云端最佳技术实践
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云数据库 TencentDB发表于云+社区专栏 邹鹏,腾讯高级工程师,腾讯云数据库Redis负责人,多年数据库.网络安全研发经验. ...
- 腾讯技术分享:GIF动图技术详解及手机QQ动态表情压缩技术实践
本文来自腾讯前端开发工程师“ wendygogogo”的技术分享,作者自评:“在Web前端摸爬滚打的码农一枚,对技术充满热情的菜鸟,致力为手Q的建设添砖加瓦.” 1.GIF格式的历史 GIF ( Gr ...
- 微信团队原创分享:iOS版微信的内存监控系统技术实践
本文来自微信开发团队yangyang的技术分享. 一.前言 FOOM(Foreground Out Of Memory),是指App在前台因消耗内存过多引起系统强杀.对用户而言,表现跟crash一样. ...
随机推荐
- 基于ZXing.NET实现的二维码生成和识别客户端
一.前言 ZXing.Net的一个可移植软件包,是一个开源的.多格式的1D/2D条形码图像处理库,最初是用Java实现的.已经过大量优化和改进,它已经被手动移植.它与.Net 2.0..Net 3.5 ...
- 一文搞懂深度信念网络!DBN概念介绍与Pytorch实战
本文深入探讨了深度信念网络DBN的核心概念.结构.Pytorch实战,分析其在深度学习网络中的定位.潜力与应用场景. 关注TechLead,分享AI与云服务技术的全维度知识.作者拥有10+年互联网服务 ...
- 舵机驱动——STM32F407ZGT6探索者——HAL库
舵机驱动--STM32F407ZGT6探索者--HAL库 1.材料准备 开发板:正点原子STM32F407ZGT6探索者 舵机:SG90 舵机线材分辨:褐色 / 红色 / 橘黄色 -- GND / V ...
- 【爬虫】一次爬取某瓣top电影前250的学习记录
先贴上爬取的脚本: import requests import re for i in range(1,11): num=(i-1)*25 url=f"https://mo ...
- 题解 CF916C
题目大意: 要求构造一张图,并让该图满足以下条件: 有 \(n\) 个点,\(m\) 条边. 每条边的边权范围是 \([1,10^9]\). 图中从 \(1\) 到 \(n\) 的最短路径长度是个质数 ...
- 从BST到LSM的进阶之路
前言 相信大家之前都了解过很多种数据结构,我之前总是两两的,也就是从局部上去进行比较,没有从整体上进行这些树的发展脉络进行梳理,因此经常看完没多久就忘了.看来确实是需要从本源出发,不仅要知其然还要知其 ...
- Basic concepts of complex number
目录 虚数的引入 复数和虚数的关系 Example - 分辨一个数 判断两个复数是否相等的条件 共轭复数 复数的几何意义.复平面的认识 求复数的模 Reference 虚数的引入 假设有一个数,可以叫 ...
- van-dialog弹窗异步关闭-校验表单
van-dialog弹窗异步关闭 有时候我们需要通过弹窗去处理表单数据,在原生微信小程序配合vant组件中有多种方式实现,其中UI美观度最高的就是通过van-dialog嵌套表单实现. 通常表单涉及到 ...
- dbeaver软件的使用
dbeaver软件的使用 一.dbeaver简介: dbeaver是免费和开源(GPL)为开发人员和数据库管理员通用数据库工具. DBeaver [1] 是一个通用的数据库管理工具和 SQL 客户端, ...
- Opencv学习笔记(2)
图像处理是图像识别过程中重要一环,一张图像可能包括海量的不明确的信息,图像处理的目的是消除图像中无关的信息,恢复有用的真实信息,增强有效信息的可检测性,最大限度地简化数据. 参考知乎文章链接:http ...