AI实战营第二期 笔记5——MMPretrain代码课

编程入门 行业动态 更新时间:2024-10-21 19:26:51

AI实战营<a href=https://www.elefans.com/category/jswz/34/1767283.html style=第二期 笔记5——MMPretrain代码课"/>

AI实战营第二期 笔记5——MMPretrain代码课

文章目录

  • 摘要
  • MMPreTrain实战
    • 安装
    • 推理
  • OR 使用API
  • 数据集
  • 训练与测试
  • 微调

摘要

MMPretrain 是一个全新升级的预训练开源算法框架,旨在提供各种强大的预训练主干网络, 并支持了不同的预训练策略。MMPretrain 源自著名的开源项目 MMClassification 和 MMSelfSup,并开发了许多令人兴奋的新功能。 目前,预训练阶段对于视觉识别至关重要,凭借丰富而强大的预训练模型,我们能够改进各种下游视觉任务。

【课程链接】
【讲师介绍】马泽润 OpenMMLab算法工程师

MMPreTrain实战

安装

git clone .git
cd mmpretrain
pip install -U openmim
mim install -e ".[multimodal]"


multimodal:代表安装额外安装多模态的模型

推理

调用脚本实现推理,代码如下:

python demo/image_demo.py ${IMAGE_FILE} ${CONFIG_FILE} ${CHECKPOINT_FILE}

OR 使用API

get_model 通过模型名称或模型配置文件获取模型
list_models 列举 MMPretrain 中所有可用模型名称
inference_model 使用与模型相对应任务的推理器进行推理
调用ResNet实例代码:

import mmpretrain
print(mmpretrain.__version__)from mmpretrain import get_model, list_models, inference_model
print(list_models(task='Image Classification', pattern  = 'resnet18'))print(list_models(task='Image Caption', pattern='blip'))
model = get_model('resnet18_8xb16_cifar10')
print(type(model))model  =  get_model( 'resnet18_8xb32_in1k')
print(type(model.backbone))


加载预训练模型推理

inference_model('blip-base_3rdparty_caption','demo/cat-dog.png',show=True)

数据集

CustomDataset OR ImageNet

子文件夹方式
标注文件方式
#配置文件
举例:resnet18_8xb32_in1k.py

_base_ = ['../_base_/models/resnet18.py',           # 模型配置'../_base_/datasets/imagenet_bs32.py',    # 数据配置'../_base_/schedules/imagenet_bs256.py',  # 训练策略配置'../_base_/default_runtime.py'            # 默认运行设置
]

训练与测试

训练

python tools/train.py ${CONFIG_FILE} [ARGS]

测试

python tools/test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} [ARGS]

微调

数据集地址:.tar
在MMpretrain下面新建data文件夹,然后将数据集解压后,放进去。
查看模型,输入命令:

ls configs


查看具体模型的配置文件,ResNet为例:

ls configs/resnet


打开文件resnet18_8xb32_in1k.py,查看具体的内容:

_base_ = ['../_base_/models/resnet18.py', '../_base_/datasets/imagenet_bs32.py','../_base_/schedules/imagenet_bs256.py', '../_base_/default_runtime.py'
]

../_base_/models/resnet18.py:模型文件,通过配置的方式,实现模型。
../_base_/datasets/imagenet_bs32.py:数据集配置。
../_base_/schedules/imagenet_bs256.py:规划配置
../_base_/default_runtime.py:运行配置
default_runtime的配置修改:

   # save checkpoint per epoch.checkpoint=dict(type='CheckpointHook', interval=1,max_keep_ckpts=5,sava_best="auto"),

保存最好的5个模型,自动保存最好的模型。

设置类别,和预训练权重路径。

设置成自定义数据集格式

配置数据集路径

训练

mim train mmpretrain configs/resnet/resnet50.py --work-dir=./exp


测试

mim test mmpretrain configs/resnet/resnet50.py --checkpoint exp/epoch_41.pth

分析结果:

更多推荐

AI实战营第二期 笔记5——MMPretrain代码课

本文发布于:2024-03-10 20:31:16,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1728960.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:第二期   实战   代码   笔记   AI

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!