mmlab之模型预训练(mmpretrain——MAE参数配置)

本文介绍了如何在MMPretrain-MAE框架下对MAE主干网络和neck/head进行修改,以适应遥感多通道影像的模型训练,重点在于处理通道数的继承和调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系列文章目录

mmpretrain-MAE


前言

通过模型预训练提升模型收敛速度


首先提示一点:

mmlab类函数不能重复注册;这个问题出现在我在添加新的数据类时,直接复制了原有的数据类,忘记修改类名称导致的报错

一、mae主干网络

首先:classMAEViT(VisionTransformer)
MAEViT继承于ViT
但在实现MAE类时没有继承ViT基类的in_channels参数,所以在修改参数文件时,直接添加in_channel会报“channels"不匹配的错误:

代码如下:

#主干网络中指定了输入图像大
backbone=dict(type='MAEViT',arch='b',in_channels=4,patch_size=16,mask_ratio=0.75)

二、修改主干网络继承参数

在__init__()与super().init()分别添加in_channels:int=3,in_channels=in_channels,

代码如下:

def__init__(self,
		arch:Union[str,dict]='b',
		img_size:int=224,
		patch_size:int=16,
		in_channels:int=3,
		out_indices:Union[Sequence,int]=-1,
		drop_rate:float=0,
		drop_path_rate:float=0,
		norm_cfg:dict=dict(type='LN',eps=1e-6),
		final_norm:bool=True,
		out_type:str='raw',
		interpolate_mode:str='bicubic',
		patch_cfg:dict=dict(),
		layer_cfgs:dict=dict(),
		mask_ratio:float=0.75,
	init_cfg:Optional[Union[List[dict],dict]]=None)->None:
super().__init__(
		arch=arch,
		img_size=img_size,
		patch_size=patch_size,
		in_channels=in_channels,
		out_indices=out_indices,
		drop_rate=drop_rate,
		drop_path_rate=drop_path_rate,
		norm_cfg=norm_cfg,
		final_norm=final_norm,
		out_type=out_type,
		with_cls_token=True,
		interpolate_mode=interpolate_mode,
		patch_cfg=patch_cfg,
		layer_cfgs=layer_cfgs,
		init_cfg=init_cfg)


2.修改neck与head

mae在使用vit进行编码与恢复时需要传递通道参数,以确保恢复原来的图像。

在参数配置文件中neck修改in_chans=4,

neck=dict(
type='MAEPretrainDecoder',
patch_size=16,
#in_chans=3,
in_chans=4,
embed_dim=768,
decoder_embed_dim=512,
decoder_depth=8,
decoder_num_heads=16,
mlp_ratio=4.,
),

head修改in_channels=4,

head=dict(
type='MAEPretrainHead',
norm_pix=True,
patch_size=16,
in_channels=4,
loss=dict(type='PixelReconstructionLoss',criterion='L2')),


总结

遥感多通道影像在应用mmlab进行模型训练时,主要面对的修改参数就是通道数。

<think>好的,用户需要下载BasicVSR模型预训练参数。首先,我应该查看提供的引用内容,特别是引用[1]和[2],因为它们提到了预训练模型的下载地址。根据引用[1],下载地址是https://github.com/open-mmlab/mmediting/tree/master/configs/restorers/basicvsr,这里可能有模型配置文件和预训练参数的链接。引用[2]也提到了相同的地址,并说明SPynet的光流模型会自动下载,不需要手动处理。 接下来,我需要确认用户是否清楚如何在GitHub仓库中找到预训练模型。通常,MMEditing的模型会在其GitHub页面的对应目录下提供配置文件和一个指向预训练权重的链接,比如在README或配置文件中。用户可能需要点击该链接或查看相关文档来获取下载链接。 另外,引用[5]提到BasicVSR+++的性能提升,但用户询问的是BasicVSR,所以应确保提供的链接是针对BasicVSR而非其升级版。需要检查引用中的链接是否准确指向BasicVSR的预训练参数。 最后,要提醒用户如果GitHub页面没有直接下载链接,可能需要查阅官方文档或联系维护者获取帮助。同时,确保用户知道下载后的模型如何放置到项目目录中,以便训练或推理时正确调用。</think>关于BasicVSR模型预训练参数的下载,请按照以下步骤操作: 1. **官方GitHub地址** 根据MMEditing官方文档[^1][^2],BasicVSR的预训练模型存放在: ``` https://github.com/open-mmlab/mmediting/tree/master/configs/restorers/basicvsr ``` 在该页面查找`README.md`或配置文件中标注的预训练权重链接(通常以`*.pth`为后缀) 2. **注意事项** - 不需要单独下载光流计算模块SPyNet[^2] - 若页面未直接提供下载链接,可尝试以下方式: - 在MMEditing的Model Zoo页面搜索"BasicVSR" - 通过配置文件命名规则匹配权重文件(如`basicvsr_reds4.py`对应`basicvsr_reds4.pth`) 3. **最新进展** 若需要BasicVSR+++的升级版本(PSNR提升0.82dB[^5]),需注意其参数文件与基础版不通用,建议查阅MMEditing的最新release说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云朵不吃雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值