MindSpore 21天训练营-Resnet 预测毒蘑菇标签

2023-11-22 10:20

本文主要是介绍MindSpore 21天训练营-Resnet 预测毒蘑菇标签,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、作业流程

进阶作业提供:“蘑菇超人”图片、模型训练和预测结果截图、源代码

进阶作业流程:

1. 申请华为云账号、申请 ModelArts 华为云昇腾集群服务公测

2. 从链接下载蘑菇数据集和源代码

3. 创建 obs 桶

4. 蘑菇数据集、“蘑菇超人“图片和源代码到 obs 桶

5. 提交 ModelArts 训练作业进行模型训练任务

6. 等待、查看结果

7. 提交 ModelArts 训练作业进行模型推理任务 8. 等待、查看结果 9. 保存训练、预测结果截图

二、下载作业包

ResNet-50 进阶作业一键下载包:https://ascend-tutorials.obs.cn-north-4.myhuaweicloud.com/resnet50/demo/ResNet50%E8%BF%9B%E9%98%B6%E4%BD%9C%E4%B8%9A%E4%B8%80%E9%94%AE%E4%B8%8B%E8%BD%BD% E5%8C%85.zip

三、上传数据集

上传文件到新创建的 OBS 桶里

resnet:存放程序代码

output:模型输出文件夹

mushrooms:数据集文件夹

log:日志文件夹

data_output:训练数据输出文件夹

ckpt_file:checkpoint存放目录,验证的时候会用到

四、开始训练

训练作业配置:

启动文件选择:resnet50_train.py,训练完成结果如下:

训练完成后,我们到OBS中找到输出目录,然后找到生成的.ckpt文件将他复制到ckpt_file目录中方便预测操作

预测操作

这个是我用来进行预测的图片,我们将他放到mushroom中的test目录。然后进行预测操作的参数配置如下图

相比于训练操作,我们需要多加一个checkpoint_path参数,这里的参数填写OBS中我们CKPT文件所在的路径。全部设定完成后点击确定就开始预测操作了。

预测作业执行完毕后我们可以看见出来了预测出来的蘑菇标签结果。

番外篇:

最初的代码在执行预测的时候可能会出现预测的蘑菇标签不管你放入什么图片,他的标签永远是相同的。后续在论坛提出这个BUG后,得到了老师们的回应及时解决了这个BUG,现在把解决方法提出来:

需要修改resnet50_predict.py 中的_normalize(img,mean,std)方法

原本的代码:

1234567def _normalize(img, mean, std): # This method is borrowed from: # https://github.com/open-mmlab/mmcv/blob/master/mmcv/image/photometric.py assert img.dtype != np.uint8 mean = np.float64(mean.reshape(1, -1)) stdinv = 1 / np.float64(std.reshape(1, -1)) cv2.cvtColor(img, cv2.COLOR_BGR2RGB) cv2.subtract(img, mean) cv2.multiply(img, stdinv) return img

修改后的代码:

1234567def _normalize(img, mean, std): # This method is borrowed from: # https://github.com/open-mmlab/mmcv/blob/master/mmcv/image/photometric.py assert img.dtype != np.uint8 mean = np.float64(mean.reshape(1, -1)) stdinv = 1 / np.float64(std.reshape(1, -1)) cv2.cvtColor(img, cv2.COLOR_BGR2RGB,img) cv2.subtract(img, mean,img) cv2.multiply(img, stdinv,img) return img

这样修改完成后再去重新预测就得出不同的预测标签结果了。

我的预测图片分别为上文提到的那张图片以及新增了一张新的图片如下:

预测的结果如下:

注:如果不想自己修改代码的话,可以重新git clone一下官方代码仓的代码,修改后的代码老师们已经上传上去了,可以直接下载下来使用。

课程官方代码仓地址:https://github.com/mindspore-ai/mindspore-21-days-tutorials/

体验作业的方法

把进阶作业的模型训练部分的操作流程去掉,直接把体验作业包中的ckpt文件复制到ckpt_file文件夹中,然后按照进阶作业中预测操作也就是resnet50_predict.py 的那部分进行操作就能完成体验作业了。

转自文章链接:MindSpore 21天训练营-Resnet 预测毒蘑菇标签_MindSpore_昇腾论坛_华为云论坛

感谢作者的努力与分享,侵权立删!

这篇关于MindSpore 21天训练营-Resnet 预测毒蘑菇标签的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/409469

相关文章

CSS去除a标签的下划线的几种方法

《CSS去除a标签的下划线的几种方法》本文给大家分享在CSS中,去除a标签(超链接)的下划线的几种方法,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧... 在 css 中,去除a标签(超链接)的下划线主要有以下几种方法:使用text-decoration属性通用选择器设置:使用a标签选择器,将tex

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Maven pom.xml文件中build,plugin标签的使用小结

《Mavenpom.xml文件中build,plugin标签的使用小结》本文主要介绍了Mavenpom.xml文件中build,plugin标签的使用小结,文中通过示例代码介绍的非常详细,对大家的学... 目录<build> 标签Plugins插件<build> 标签<build> 标签是 pom.XML

HTML5中下拉框<select>标签的属性和样式详解

《HTML5中下拉框<select>标签的属性和样式详解》在HTML5中,下拉框(select标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中选择值的方式,本文将深入探讨select标签的... 在html5中,下拉框(<select>标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中

python解析HTML并提取span标签中的文本

《python解析HTML并提取span标签中的文本》在网页开发和数据抓取过程中,我们经常需要从HTML页面中提取信息,尤其是span元素中的文本,span标签是一个行内元素,通常用于包装一小段文本或... 目录一、安装相关依赖二、html 页面结构三、使用 BeautifulSoup javascript

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

【LabVIEW学习篇 - 21】:DLL与API的调用

文章目录 DLL与API调用DLLAPIDLL的调用 DLL与API调用 LabVIEW虽然已经足够强大,但不同的语言在不同领域都有着自己的优势,为了强强联合,LabVIEW提供了强大的外部程序接口能力,包括DLL、CIN(C语言接口)、ActiveX、.NET、MATLAB等等。通过DLL可以使用户很方便地调用C、C++、C#、VB等编程语言写的程序以及windows自带的大

【JavaScript】LeetCode:21-25

文章目录 21 最大子数组和22 合并区间23 轮转数组24 除自身以外数组的乘积25 缺失的第一个正数 21 最大子数组和 贪心 / 动态规划贪心:连续和(count)< 0时,放弃当前起点的连续和,将下一个数作为新起点,这里提供使用贪心算法解决本题的代码。动态规划:dp[i]:以nums[i]为结尾的最长连续子序列(子数组)和。 dp[i] = max(dp[i - 1]