转载地址:MindSpore21天实战营(3):基于ResNet50实现毒蘑菇识别实战_MindSpore_昇腾论坛_华为云论坛

作者:胡琦

“ModelArts + MindSpore”实战ResNet50毒蘑菇识别

Copy攻城狮人狠话不多,学AI就到huaweicloud.ai,和“MM”一起玩转AI。

前言

大家好,我是Copy攻城狮胡琦,有幸参与华为业界首个全场景AI实战营。本次分享是MIndSpore 21天实战营的第三次课--基于ResNet50实现毒蘑菇识别。提到计算机视觉就不得不说ResNet50,这个2015年提出的残差神经网络,除了在当年获得了ImageNet检测、ImageNet本地化、COCO检测和COCO分割等任务的第一名,即便是在5年后的今天,依旧非常火爆,论文地址:https://arxiv.org/abs/1512.03385 , GIthub地址:https://github.com/KaimingHe/deep-residual-networks 。关于理论知识和相关论文感兴趣的小伙伴可以自行了解,欢迎各位大佬多带带我,今天有幸在ModelArts上体验用MindSpore基于ResNet实现图像分类,虽然整个操作有点辣眼睛,而且又恰好遇到ModerArts上MindSpore环境升级,估计有些代码还需修改修改才能正常运行。好在Notebook中的MindSpore依旧是0.5.0,完成基本的训练应该还是没问题的。接下来,Just Do IT!

准备

按照实战营小助手暖心的提示,我们还是需要准备华为云相关的环境,对的本次实践又可以在云端完成。

1️⃣ 环境准备(本次实验不涉及使用到本地环境):
准备项目:华为云账号和昇腾集群公测资格

步骤:
❶ 华为云账号注册(地址: https://www.huaweicloud.com/)。
❷ 按照操作指引完成账号注册,账号注册完成后,进入到ModelArts界面,进行昇腾集群公测资格的申请。(地址: https://www.huaweicloud.com/product/modelarts.html)。
❸ 按照指引完成公测资格申请。
❹ 要完成公测资格申请,需要完成两步,实名认证和访问授权,其中实名认证需要各位学员使用自己的身份证号码和姓名完成认证,认证的审核需要一定的时间,约为1天左右。
❺ 访问授权的则直接点击右下方的“自动创建”按钮,其他的默认即可。
❻ 在弹出的界面当中点击“立即申请”按钮。
❼ 之后可以查看自己的审批状态。“审批通过”则代表已经取得了公测资格。

️准备项目:华为云OBS对象存储服务配置:(面向华为云新手用户)
步骤:

❶打开华为云控制台,选择“对象存储服务”,点击上图所示的“创建存储桶”按钮。
❷新建桶的配置,【区域选择:"华北—北京四"区域;桶名称可以自定义】。配置完成后,点击“立即创建”按钮。
❸完成对象桶创建之后,点击桶名称进入桶内。
❹点击对象,然后可根据课程要求上传相关文件或创建空文件夹。

2️⃣ 知识准备:

Python相关知识参考链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1017063413904832
ResNet论文:https://arxiv.org/pdf/1512.03385.pdf

3️⃣ 数据集和代码:

ModelArts AI市场:https://marketplace.huaweicloud.com/markets/aihub/datasets/detail/?content_id=37f0c586-313b-4068-97b5-07cc1ff8e8c1

下载相关资料准备踩坑吧!
更多资料请查看【MindSpore 21天训练营】☛ https://github.com/mindspore-ai/mindspore-21-days-tutorials

ResNet50 Train

我看到ModelArts AI市场的数据集功能用户不是很活跃,不知道是不是大家都不太知道?在这里再安利一波,ModelArts AI的数据集模块极大的方便了AI训练中数据集的流动,如果您有好的数据集需要分享,请您也分享一份到ModelArts AI市场,相信未来她能帮助到更多志同道合的小伙伴。这里的操作也十分简单,点一点即可拥有MindSpore专供“毒蘑菇”数据集!

  • 开始下载
  • 完成下载
  • 创建MindSpore notebook环境

  • resnet/resnet50_train.py代码复制到resnet/resnet50_train.ipynb

只需做如下少许修改就能愉快的训练(前几天排队有时候甚至超过6小时,还是notebook爽!)

先执行Sync OBSresnetlogckpt_fileoutput等文件夹同步一下,由于ModelArts Notebook环境Sync OBS功能单次同步OBS文件大小最大为500MB,个数最多是1024个,同步的对象总大小不超过5GB。这里因为mushrooms数据集涉及的文件远远不止1024个(超过6000张图片),因此我们还需重新下载一下数据集,通过Moxing从OBS中拷贝过来就行,这里通过代码配置。

添加执行目录:

引入依赖:(基于MindSpore 0.5.0)

定义训练效果监控日志输出,

定义学习率生成函数:

定义训练函数,包含数据集下载

定义入口函数,修改了入参方式:

开始训练:

训练完成后能看到生成的.ckpt文件。

notebook的好处就是昇腾资源不用排队,更加方便调优。比如MindSpore提供诸多优化器,我尝试改用SGD重新训练了一下,似乎收敛更快但不稳定,因为本大狮非专业人士就无法做深入的对比,不过得出的结论:ModelArts的notebook环境用起来真特么爽!

不过当我尝试运行推理代码的时候发现无法正常使用opencv,可能是我打开的方式不对,提示libQtGui.so.4: cannot open shared object file: No such file or directory,也请教过大佬,大概是不能调用GUI的操作,受限于知识浅薄,折腾了很久还是没有搞定,于是又重新转向ModelArts的训练作业开始推理。

ResNet50 Predict

我们按照以下操作创建推理任务,值得注意的是数据集要选择test目录,新增checkpoint_path参数指向训练阶段输出的.ckpt文件,记得要将OBS://改为S3://。如我的路径就是:s3://huqi88/mindspore-camp/ResNet50-notebook/output/resnet-80_209.ckpt

尽管MindSpore已经升级到1.0了,不过之前的推理代码依旧能正常使用。

可能因为数据集处理不当的原因,本次实践得到的模型有点“人工智障”,换了一张图,依旧识别出了一样的结果。不过这么可爱这么萌的蘑菇超人小妹妹怎么可能有毒呢?

本次分享就到这,结束得有点措不及防,只要还是我的水平有限,没有什么干货。目前掌握的独门秘诀--“Copy Big法”,只有这么强的功力,但愿某天能意外掉落山谷习得“MM Big”法,精通ModelArts和MindSpore,驰骋AI江湖!别问我为什么全部课程都结束了才来分享第三次课的,没办法入坑太深,难以自拔,加上近期加班比较严重,真希望天下不再有切图仔!

如果您也想学习优秀的AI框架,就来ModelArts使用MindSpore,如果对MindSpore实战营感兴趣,欢迎关注B站MindSpore官方账号及Github仓库:https://github.com/mindspore-ai/mindspore-21-days-tutorials学AI,就到huaweicloud.ai!

MindSpore21天实战营(3):基于ResNet50实现毒蘑菇识别实战相关推荐

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

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

  2. 百度AI实战营第二季:AI技术商业落地指南

    4月 20日,百度 AI开发者实战营第二季启动,再次召集全国各地技术管理者,在北京"整装待发",并将陆续登陆成都.杭州.深圳.在新一季的实战营中,百度 AI将与开发者.合作伙伴一起 ...

  3. 【华为出品】物联网全栈开发实战营第2期来啦!送海思开发板

    物联网一直在改变我们生活的方方面面.可穿戴设备有助于监控我们的偏好.习惯和健康状况.智能家居设备可提高家居的舒适度.安全性和便利性.城市利用连接的数字设备收集的海量数据(数十亿个)来改善城市规划.制造 ...

  4. 百度EasyDL深度学习实战营,免费教你转型AI工程师!

    新型冠状病毒的疫情动态牵动着每个人的心,在当下疫情控制阶段,AI技术的应用也正在为抗疫贡献自己的力量. 百度飞桨联合百度技术学院正式加推"EasyDL深度学习实战营"系列直播课,免 ...

  5. 上海 · 百度语义分割Pro沙龙,高性能深度学习实战营

    如同拥有"火眼金睛"般的工业质检机器人,正在作为工业领域的热点话题被大众所熟知.它因为能有效解决人工质检成本高.效率低.无法保证准确率的问题,成为实现智能制造的重要推手.想了解其中 ...

  6. 【乘风破浪的开发者】丁一超:从AI实战营出发探索未知的AI世界

    摘要:从年初的不知不觉进入AI学习的道路,到认识并熟练使用ModelArts平台.虽然只有短短的半年,但这半年的探索学习,让丁一超看清了未来的路在何方. 从招聘网站上输入"人工智能工程技术人 ...

  7. 华为云 AI 实战营计划,带你迈上 AI 之路

    当今,AI的开发人才需求呈现极大的供需不平衡.所有开发者都关心,要如何从一名开发者晋升为AI开发者?AI开发能力,是主要的进入障碍.不用慌,华为云推出了 <华为云ModelArts-Lab AI ...

  8. 号角响起!百度AI开发者实战营第二季教你用AI实现商业梦想

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 你有抱负与理想,我有供你实现理想的技术与平台.AI 开发者们,百度 AI 开发者实战营第二季 ...

  9. 百度 AI 再发福利!不仅有实战营,还有手把手教学的“深度学习公开课”

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 百度 AI 开发者实战营第二季强势回归,你期待的技术干货.成功案例与大咖演讲都将如期而至,甚 ...

  10. OpenMMLab 实战营打卡 - 第 四 课 目标检测算法基础

    (四)计算机视觉之目标检测算法基础 目录 前言 一.目标检测是什么? 1.目标检测VS图像分类 2.检测最朴素方法--滑窗 Sliding Window (1)滑窗的效率问题 (2)改进 3.目标检测 ...

最新文章

  1. tableau可视化数据分析60讲(一)-tableau概念性叙述及环境配置
  2. No resource found that matches the given name 'android:Widget.Material.ActionButton'.
  3. mysql索引技术_MySQL索引类型
  4. 实现位数超过32bit的整数的加减乘除运算_Java 运算符
  5. ROS入门-11.客户端Client的编程实现
  6. php解析命令行参数选项,PHP 命令行参数解析工具类的示例代码
  7. Eclipse中开发测试脚本
  8. 遍历出List<Map>的Key / Value
  9. Flutter Sliver滚动组件
  10. 大学计算机课程学习路线(左飞老师)
  11. R语言ggplot2可视化格式化轴标签:用逗号格式化ggplot2轴标签、在轴标签数值中加入符号标签(货币符号)
  12. 电路原理02 电阻、独立源、受控源
  13. Oracle数据库:创建和删除视图view,简单和复杂视图,内建视图,topN分析,oracle分页查询
  14. java后端开发需要会什么技能,从事Java后端开发,需要掌握哪些知识和技能?
  15. Unity中SetPassCall, Batches的区别,它们与Draw call 的关系
  16. 最近想给自己的Unity游戏接入广告
  17. 图像处理时为什么灰度化 【文末赠书】
  18. 帝国时代2决定版服务器证书身份验证失败,《帝国时代2决定版》常见问题解决方法介绍 常见问题怎么解决...
  19. 【网络攻防】“跨站脚本攻击“ 第一弹 ——反射型XSS
  20. 打破 FOXMAIL 疯狂占用磁盘读写资源的魔障

热门文章

  1. (七)Kotlin简单易学 基础语法- 自定义异常与先决条件函数
  2. Android 腾讯Bugly的应用升级热更新
  3. 汽车车载智能终端T-BOX
  4. 不知道如何压缩PDF?教你3个压缩PDF文件方法
  5. [HDU 5956] The Elder (斜率DP + 可持久化单调队列)
  6. Facebook币Libra学习-6.发行属于自己的代币Token案例(含源码)
  7. Monkey测试黑白名单
  8. auto.js实现支付宝蚂蚁森林自动收能量、自动偷能量教程,最简单的收能量脚本,MIUI 10亲测可用
  9. cygwin64安装wget和apt-cyg
  10. [剑指Offer]-把数字翻译成字符串