【培训】MMEdu离线版的使用:实现石头剪刀布图像分类的检测

news2025/7/14 13:10:58

一、MMEdu离线版的使用

1.双击XEdu v1.0.exe解压缩到某个盘,会是一个文件夹XEdu
2.进入XEdu,双击运行“点我初始化.bat”,等待至运行结束命令提示符窗口自动关闭
3.双击运行“jupyter编辑器.bat”,将会打开一个网页版jupyter,选择进入demo文件夹
4.选择“MMEdu_cls_demo.py”可以看教程(前半部)
5.或新建一个文件,放入以下三种中的一种对图像分类模块的使用
6.运行

二、对文件夹的介绍

1.XEdu
在这里插入图片描述
2.XEdu里面的demo文件夹
在这里插入图片描述
img如果引用的是img=‘D:/XEdu/demo/testPic/testscissors01-01.png’,则是绝对路径
img如果引用的是img=‘testrock01-02.png’,则是该文件同路径的图片。

三、三种图像分类模块的使用

hand_gray/latest.pth可以用hand_gray_continue/latest.pth或hand_gray_new/latest.pth替换

1.普通

##导入图像分类模块
from  MMEdu import MMClassification as cls
##实例化模型 LeNet一个轻量级卷积神经网络模型
model=cls('LeNet')
##指定模型保存的路径
#一般的编程语言中,反斜杠\一般理解为转义字符,所以在路径中需要用\\表示\
#所以我们用/就好
checkpoint='D:/XEdu/checkpoints/cls_model/hand_gray/latest.pth'#权重文件
class_path='D:/XEdu/dataset/cls/hand_gray/classes.txt'#分类标签信息文件
#checkpoint='../checkpoits/cls_model/hand_gray'
#class_path='../dataset/cls/hand_gray/classes.txt'
##指定图片,开始推理
img='D:/XEdu/demo/testPic/testscissors01-01.png'
result=model.inference(image=img,show=True,class_path=class_path,checkpoint=checkpoint)
model.print_result(result) #如[{'标签': 1, '置信度': 0.6409855484962463, '预测结果': 'rock'}]
##返回的数据类型是一个字典列表
##用字典访问其中的元素
x=model.print_result(result)
print('标签(序号)为:{}'.format(x[0]['标签']))
classes=['布','石头','剪刀']
print('识别结果为:{}'.format(classes[x[0]['标签']]))

2.快速推理

##导入图像分类模块
from  MMEdu import MMClassification as cls
####快速推理:先加载权重文件,再推理,可以大大加快推理的速度
model=cls('LeNet')
checkpoint='D:/XEdu/checkpoints/cls_model/hand_gray/latest.pth'#权重文件
class_path='D:/XEdu/dataset/cls/hand_gray/classes.txt'#分类标签信息文件
model.load_checkpoint(checkpoint=checkpoint,class_path=class_path)
img='D:/XEdu/demo/testPic/testscissors01-01.png'
#result=model.fast_inference(img)##不显示图像
result=model.fast_inference(img,show=True)##显示图像
model.print_result(result)

3.拍照推理

##导入图像分类模块
from  MMEdu import MMClassification as cls
####拍照推理
import cv2
camera=cv2.VideoCapture(0)
ret,img=camera.read()
camera.release()
#result=model.fast_inference(img)##不显示图像
result=model.fast_inference(img,show=True)##显示图像
model.print_result(result)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/36487.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第五站:操作符(第二幕)

在前面的文章中我们详细讲解了操作符的一些内容, 今天我们来继续了解操作符剩余的内容 操作符第一幕的传送门在这:第五站:操作符(第一幕) 目录 七、关系操作符 八、逻辑操作符 1.基础知识 2.几道经典的题目 九、条…

视频压缩软件哪个好?万兴优转:好用的视频无损压缩软件

如今,无论是学生党,上班族还是专业的视频制作者,都会遇到视频文件体量太大,需要对视频文件进行压缩的时候,但是又会担心视频压缩以后,画质受损,清晰度不如从前,所以一个好用的视频压…

机器学习笔记之高斯网络(三)高斯马尔可夫随机场

机器学习笔记之高斯网络——高斯马尔可夫随机场引言回顾:马尔可夫随机场——团、势函数高斯马尔可夫随机场点势函数关联的项边势函数相关的项关于多元高斯分布学习任务的核心思想关于条件独立性的总结引言 上一节介绍了高斯贝叶斯网络(Gaussian Bayesian Network,G…

c语言tips-带参main函数

0.写在最前 最近因为工作需要开始重新学c语言,越学越发现c语言深不可测,当初用python轻轻松松处理的一些数据,但是c语言写起来却异常的复杂,这个板块就记录一下我的c语言复习之路 1. main函数的两种表现形式 main函数是c/cpp语言的…

python破解wifi教程

目录 一、安装pywifi 二、构建wifi密码字典 三、python实现wifi破解 四、结果展示 4.1 选择要破解的wifi名称 4.2 获取字典 4.3 成功破解 一、安装pywifi pywifi是在python中一个用于操作无线接口的模块,可以跨平台使用,Windows和Linux都支持 …

Linux下Jenkins服务搭建及配置

一、简介 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,为软件的持续集成提供了一种便捷的方式。 二、Jenkins自动化部署实现原理 Jenkins的自动化部署实…

现代密码学导论-14-基于伪随机发生器的EAV安全

目录 3.3.3 基于伪随机发生器的EAV安全 用伪随机发生器进行加密的图示 CONSTRUCTION 3.17 一种基于伪随机发生器的私钥加密方案 THEOREM 3.16 基于伪随机发生器的私钥加密方案的EAV安全 THEOREM 3.16 的证明 最后来理一下 3.3.3 基于伪随机发生器的EAV安全 用伪随机发生…

pandas是什么以及pandas的三种数据结构Series、DataFrame、MultiIndex的创建方式函数代码

一、pandas概述 pandas是2008年WesMcKinney开发出的专门用于数据挖掘的开源python库,以Numpy为基础,借助numpy模块在计算方面性能高的优势,基于matplotlib,能够简便的画图,具有独特的数据结构 pandas特点 图表的可读…

深度强化学习中深度Q网络(Q-Learning+CNN)的讲解以及在Atari游戏中的实战(超详细 附源码)

需要源码请点赞收藏关注后评论区留下QQ~~~ 深度强化学习将深度学习的感知(预测能力)与强化学习的决策能力相结合,利用深度神经网络具有有效识别高维数据的能力,使得强化学习算法在处理高纬度状态空间任务中更加有效 一、DQN算法简…

牛客小白月赛62 幼稚园的树

2022.11.25 今晚闲来无事,在zhoj群中看到管理员发布的牛客小白月赛的通知,就和舍友一起参加了。 题目描述 来源:牛客网 牛牛在幼稚园做义工,幼稚园中共有 nnn 颗树,第 1 天中午时它们的高度分别为:h1,h2…

体系结构27_多处理机(1)

单处理机的发展正在走向尽头? 并行处理机在未来将会发挥更大的作用。 1.获得超过单处理器的性能,最直接的方法就是把多个处理器连在一起。 2.自1985年以来,体系结构的改进使性能迅速提高,这种改进的速度能否持续下去还不清楚&a…

Day11--首页-轮播图效果

1.创建 home 分支 我的操作: ************************************************** ************************************************** ******* 2.配置网络请求 博主文档: 我的操作: 1》.先初始化一个package.json文件。 2》根据博主的…

MyBatis-Plus 01入门

参考网站 官网:http://mp.baomidou.com 参考教程:http://mp.baomidou.com/guide/ 一、简介 MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率…

测试用例设计方法之等效类,边界值

概念: 等价类划分是一种黑盒测试方法,把无限的测试变成有限的测试。把所有可能的输入数据,即程序的输入域划分成若干等价类,然后从每一个等价类中选取少数具有代表性的数据作为测试用例。依据需求将输入(特殊情况下会考虑输出)划分…

MySQL之InnoDB浅析

InnoDB是一个兼顾高可靠性和高性能的通用存储引擎。在 MySQL 5.7 中,InnoDB是默认的 MySQL 存储引擎。 InnoDB 的主要优势 支持事物,具备crash-safe的能力支持行锁以及MVCC,具备良好的多用户并发性和性能Buffer Pool,提升热点数…

Redis过期键及内存淘汰策略

写在前面 以下内容是基于Redis 6.2.6 版本整理总结 一、Redis数据库的组织方式 Redis服务器将所有的数据库 都保存在src/server.h/redisServer结构中的db数组中。db数组的每个entry都是src/server.h/redisDb结构,每个redisDb结构代表一个数据库。Redis默认有16个…

测试用例设计方法之正交法

概念: 正交试验设计是研究多因素多水平的一种设计方法,它是根据正交性,由试验因素的全部水平组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了解全面试验的情况,找出最优的水平组合。正交试验设计…

49 - 多态的概念和意义

---- 整理自狄泰软件唐佐林老师课程 1. 函数重写回顾 父类中被重写的函数依然会继承给子类子类中重写的函数将覆盖父类中的函数通过作用域分辨符(::)可以访问父类中的函数 p->print()不符合预期,期望调用子类中的print,实际调…

【知识网络分析】研究者合作网络(co-investigator)

研究者合作网络(co-investigator) 1 数据集读取2 网络数据集精简3 网络最大子群获取并可视化4 社团群体分类筛选5 求解网络图中节点中心度相关的指标值并进行可视化1 数据集读取 此处的合作作者(co-investigator)是指基金数据中的作者,数据集 来自于官网提供的加拿大国家…

redis数据库windows下c语言库的编译

使用cmake和make工具进行windows下的编译 下载 1.hiredis下载地址 https://github.com/redis/hiredis 克隆源码 2.cmake下载地址 https://cmake.org/ 3.make for windows http://www.equation.com/servlet/equation.cmd?fa=make 4.mingw 64位 https://download.csdn.net/d…