【超详细】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目录中,已经放置好了

相关文章
|
Python
MMDetection系列 | 3. MMDetection自定义模型训练
MMDetection系列 | 3. MMDetection自定义模型训练
1277 0
MMDetection系列 | 3. MMDetection自定义模型训练
|
存储 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,在学术研究和工业落地中应用非常广泛。
2649 0
|
数据可视化 计算机视觉 Python
【超详细】MMLab分类任务mmclassification:环境配置说明、训练、预测及模型结果可视化展示(2)
【超详细】MMLab分类任务mmclassification:环境配置说明、训练、预测及模型结果可视化展示
|
人工智能 搜索推荐 数据挖掘
Agent 从想法到实现之六顶思考帽
本文简要介绍六顶思考帽的概念及其优势,讲解智能体的概念和智能体平台,讲解该智能体的创建过程,带领大家从想法走向实现。
353 16
|
机器学习/深度学习 数据可视化 算法
【超详细】MMLab分类任务mmclassification:环境配置说明、训练、预测及模型结果可视化展示(1)
【超详细】MMLab分类任务mmclassification:环境配置说明、训练、预测及模型结果可视化展示
|
Python
Python中的try-except异常处理语句
Python中的try-except异常处理语句
981 2
IntelliJ IDEA如何快速修改移动后的包名
IntelliJ IDEA如何快速修改移动后的包名
1064 0
IntelliJ IDEA如何快速修改移动后的包名
|
自然语言处理 搜索推荐 API
【推荐100个unity插件之21】unity实现多语言切换功能——Localization插件的使用
【推荐100个unity插件之21】unity实现多语言切换功能——Localization插件的使用
1340 0
|
移动开发 安全 前端开发
〔支付接入〕微信的 h5 支付和 jsapi 支付
学会微信支付,打开你的财富之门
574 2
〔支付接入〕微信的 h5 支付和 jsapi 支付