MMPretrain代码课

MMPretrain代码课_哔哩哔哩_bilibili

安装mmpretrain

克隆mmpretrain

git clone https://github.com/open-mmlab/mmpretrain

进入mmpretrain

cd mmpretrain

安装mim

pip install openmim

使用mim安装依赖

mim install -e ".[multimodal]"

进入python交互环境

ipython

导入mmpretrain,并导入一些高级。

  1. get model获取模型
  2. list models列出所有模型
  3. inference model 模型推理
import mmpretrain
from mmpretrain import get_model, list_models, inference_model

列出所有分类相关,名字包含resnet18的模型

list_models(task='Image Classification', pattern='resnet18')

列出所有图像描述相关,名字带有blip的模型

list_models(task='Image Caption',pattern='blip')

获取模型,当前获取到的模型是未加载模型权重的

model = get('resnet18_8xb16_cifar10')
type(mode)
# mmpretrain.models.classifiers.image.ImageClassifier

列出所有图像分类的基于blip的模型

list_models(task='Image Caption', pattern='blip')

#使用inference_model 选择模型进行推理
inference_model('blip-base_3rdparty_caption','demo/cat-dog/png',show=True)

第一个参数是模型,第二个参数是输入的图片,show会显示图片

微调训练

准备数据集

下载训练数据

https://download.openmmlab.com/mmclassification/dataset/cats_dogs_dataset.tar

cats_dogs_dataset

 cats_dogs_dataset下面存放着test_set测试数据集,training_set训练数据集,val_set训练标注数据集

介绍condigs配置文件

 在对应的算法下面存放着对应的算法配置文件

 打开resnet18_8xb32_in1k.py

 把四个配置文件组件在一起

 

 

 编写自己的配置文件

新建文件夹mmpregrain/projects/dog_cat

新建resnet18_finetune.py

将resnet18_8xb32_in1k所有的代码都粘贴进当前代码

修改配置文件

模型库所在的网址

ResNet — MMPretrain 1.0.0rc8 documentation

修改model settings

model settings中,添加init_cfg

init_cfg=dict(type='Pretrained',checkpoint='https://download.openmmlab.com/mmclassification/v0/resnet/resnet18_8xb32_in1k_20210831-fbbb1da6.pth')

model settings中,修改num_classes为2(猫和狗只有俩种类型)

 

 修改dataset settings

修改dataset_type为CustomDataset

 修改train_dataloader的data_root为数据集所在的路径,删除不需要的参数

修改val_dataloader的data_root为数据集标定路径 

修改val_evaluator(评测指标)为1

 添加test_dataloader,data_root改为测试数据集所在路径

 修改训练设定

 删除auto_scale

添加参数max_keep_ckpts为5,设定ckpts的存储个数最大为5;添加参数save_best为auto,保存最好的ckpts 

参数解读:seed,如果想要训练被复现,可以指定一个seed。并将deterministic为True

启动训练

mim train mmpretrain resnet18_finetune.py --work-dir=./exp

 

 mim可以任意目录下执行train代码

测试训练结果

 加入参数 --out result.pkl将测试的结果存放到日志文件中

 绘制混淆矩阵图

 API测试模型

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MMPretrain是一个基于pytorch的开源深度学习预训练工具箱,它是OenMMLab的项目成员之一开发的。它提供了各种强大的预训练主干网络,并支持不同的预训练策略。MMPretrain源自著名的开源项目MMClassification和MMSelfSup,并开发了许多新功能。预训练阶段对于视觉识别非常重要,而MMPretrain通过提供丰富而强大的预训练模型,使我们能够改进各种下游视觉任务。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [计算机视觉 | 深度学习预训练与MMPretrain](https://blog.csdn.net/qq_37902216/article/details/131076259)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [开源预训练框架 MMPRETRAIN官方文档(概览、环境安装与验证、基础用户指南)](https://blog.csdn.net/qq_41627642/article/details/131561433)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [深度学习预训练与MMPreTrain](https://blog.csdn.net/travel_66/article/details/131073132)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值