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