【超详细】MMLab分类任务mmclassification:环境配置说明、训练、预测及模型结果可视化展示(3)

简介: 【超详细】MMLab分类任务mmclassification:环境配置说明、训练、预测及模型结果可视化展示

【超详细】MMLab分类任务mmclassification:环境配置说明、训练、预测及模型结果可视化展示(2)https://developer.aliyun.com/article/1536294

模型预测

此处也可以直接下载网上的预训练模型到本地直接进行预测,也可以用刚才自己训练好的模型。

下载链接:https://github.com/open-mmlab/mmclassification

自己训练好的模型默认在下面这个目录下面:

一、单张图片预测

可以使用demo/image_demo.py文件

配置下面三个参数:

image_04903.jpg   # 图片名称
../tools/work_dirs/My20230317_resnet18_8xb32_in1k.py   # 训练用的配置文件
../tools/work_dirs/esnet18_8xb32_in1k/epoch_100.pth    # 训练好的模型地址

然后运行image_demo.py文件,结果如下:图片上会出现预测图片名称、标签、置信度

二、多张图片预测

使用tools/test.py文件

设置运行参数:(可根据上文参数说明修改相应需要的运行参数)

模型会自动将之前配置文件resnet18_8xb32_in1k.py中test目录下的图片,都进行检测一遍。

./work_dirs/My20230317_resnet18_8xb32_in1k.py   # 配置文件路径
./work_dirs/esnet18_8xb32_in1k/epoch_100.pth   # 训练好的模型
--metrics        #评估参数,自己选择需要看的参数        
accuracy
recall    

参数设置好后,运行test.py文件,运行结果如下:

可视化展示

tools/visualizations目录是用于进行结果可视化演示的:

数据增强可视化

输入运行参数,运行vis_pipeline.py文件,会在指定的输出目录下生成相应可视化结果:这个会展示图像在进入模型前的一些处理操作。

注:可根据需要自己设置相应参数。

../../configs/resnet/My20230317_resnet18_8xb32_in1k.py
--output-dir
../work_dirs/esnet18_8xb32_in1k/vis/vis_pipeline
--phase
train
--number
10
--mode
pipeline

特征可视化–vis_cam.py文件

需要额外装一个第三方库:pip install grad-cam

利用训练好的模型,进行图像特征可视化操作,观察模型的注意力在图片的什么位置:

至少需要3个参数:图像路径,模型配置文件路径,训练好的模型路径。

不指定类别的话,默认选择图片所属概率最高的类别进行处理。

target-layers参数可以指定给定层的注意力情况,默认是最后一层网络。

结果显示如下:图片中蓝色部分表示不怎么关注的,红色地方表示比较关注的,可以看到模型的主要注意力都集中在了狗狗的头部。

结果日志分析工具

1.绘制参数曲线、

2.计算模型训练时间

3.计算模型的参数量(不需要训练好模型):配置文件、输入图片大小

绘制参数曲线运行参数示例:

plot_curve ../work_dirs/resnet18_8xb32_in1k/flower-100epoch.json --keys loss

计算模型训练时间参数示例

cal_train_time ../work_dirs/resnet18_8xb32_in1k/flower-100epoch.json

关注GZH:阿旭算法与机器学习,回复:【mmlab实战1】即可获取已经下载好的mmlabclassification源码与demo训练用的数据:数据在mmcls/data目录中,已经放置好了

相关文章
|
2月前
|
物联网
LoRA、全参、QLoRA:显存占用结构对比
本文深入剖析大模型微调中显存占用的本质,指出LoRA、全参、QLoRA的差异不在参数量,而在“哪些组件必须常驻显存”。系统拆解显存四大构成:参数、梯度、优化器状态、中间激活,揭示三者各自保留/舍弃/压缩的部分,并强调:**激活(activations)才是OOM主因,而所有方案对此几乎无改善**。破除“换方案即省显存”误区,推动显存问题工程化诊断。
|
JSON 网络协议 开发工具
对已有的docker容器添加新的目录映射, 端口映射,环境变量,dns等
docker容器已经建立并运行, 需要在已有容器上添加新的目录映射,端口映射,环境变量等
3861 0
|
存储 PyTorch 算法框架/工具
Tensor to img && imge to tensor (pytorch的tensor转换)
Tensor to img && imge to tensor (pytorch的tensor转换)
|
数据采集 机器学习/深度学习 编解码
MMdetection框架速成系列 第02部分:整体算法流程+模型搭建流程+detection训练与测试核心组件+训练部分与测试部分的核心算法
众所周知,目标检测算法比较复杂,细节比较多,难以复现,而我们推出的 MMDetection 开源框架则希望解决上述问题。目前 MMdetection 已经复现了大部分主流和前沿模型,例如 Faster R-CNN 系列、Mask R-CNN 系列、YOLO 系列和比较新的 DETR 等等,模型库非常丰富,star 接近 13k,在学术研究和工业落地中应用非常广泛。
2794 0
|
人工智能 自然语言处理 数据可视化
两大 智能体框架 Dify vs Langchain 的全面分析,该怎么选?资深架构师 做一个彻底的解密
两大 智能体框架 Dify vs Langchain 的全面分析,该怎么选?资深架构师 做一个彻底的解密
两大 智能体框架 Dify vs Langchain 的全面分析,该怎么选?资深架构师 做一个彻底的解密
|
数据可视化 计算机视觉 Python
【超详细】MMLab分类任务mmclassification:环境配置说明、训练、预测及模型结果可视化展示(2)
【超详细】MMLab分类任务mmclassification:环境配置说明、训练、预测及模型结果可视化展示
|
人工智能 搜索推荐 数据挖掘
Agent 从想法到实现之六顶思考帽
本文简要介绍六顶思考帽的概念及其优势,讲解智能体的概念和智能体平台,讲解该智能体的创建过程,带领大家从想法走向实现。
417 16
IntelliJ IDEA如何快速修改移动后的包名
IntelliJ IDEA如何快速修改移动后的包名
1096 0
IntelliJ IDEA如何快速修改移动后的包名
|
机器学习/深度学习 算法 计算机视觉
【YOLOv10改进 -卷积Conv】 AKConv(可改变核卷积):任意数量的参数和任意采样形状的即插即用的卷积
AKConv是一种可改变核卷积,旨在解决传统卷积的局限,包括固定大小的卷积窗口和卷积核尺寸。AKConv提供灵活的卷积核参数和采样形状,适应不同尺度特征。其创新点包括:1)支持任意大小和形状的卷积核;2)使用新算法确定初始采样位置;3)应用动态偏移调整采样位置;4)优化模型参数和计算效率。AKConv已应用于YOLOv8,提高网络性能。相关代码可在<https://github.com/CV-ZhangXin/AKConv>找到。
|
机器学习/深度学习 数据可视化 算法
【超详细】MMLab分类任务mmclassification:环境配置说明、训练、预测及模型结果可视化展示(1)
【超详细】MMLab分类任务mmclassification:环境配置说明、训练、预测及模型结果可视化展示