mmcls中的配置文件继承

mmcls中配置文件的继承和更改(同样适用于其余的mmlab项目)

  1. 基础配置文件(来自于config文件夹中所需模型的某一版本)
_base_ = [
    '../_base_/models/resnet18.py', '../_base_/datasets/imagenet_bs32.py',
    '../_base_/schedules/imagenet_bs256.py', '../_base_/default_runtime.py'
]
  1. 在mmcls neck而后在配置中引入

mmcls中的配置文件继承_第1张图片
mmcls中的配置文件继承_第2张图片

mmcls.models.necks.pafpn.py文件
mmcls中的配置文件继承_第3张图片
注意此时没有在__init__()中添加任何自定义的neck注册器,而是通过配置文件中的用户自定义导入

custom_imports = dict(
    imports=['mmcls.models.necks.pafpn'],
    allow_failed_imports=False)
model = dict(
    neck=dict(type='PAFPN')   # 后面加入PAFPN 初始化__init__()需要的参数
)
  1. 更改数据集为用户自定义数据集,并用文件夹的名字当作类别
dataset_type = 'CustomDataset'

data = dict(
    train=dict(
        type=dataset_type,
        data_prefix='G:\\github-projects\\deep-learning-for-image-processing\\data_set\\flower_data\\train',
        ann_file=None
    ),
    val=dict(
        type=dataset_type,
        data_prefix='G:\\github-projects\\deep-learning-for-image-processing\\data_set\\flower_data\\val',
        ann_file=None

    ),
    test=dict(
        type=dataset_type,
        data_prefix='G:\\github-projects\\deep-learning-for-image-processing\\data_set\\flower_data\\val',
        ann_file=None
    )

)
  1. 其余需要更改的地方
    评估执行的次数,1个epoch

优化器种类(学习率等学习速度超参的修改)
优化器参数
学习率降低策略


evaluation = dict(interval=1, metric='accuracy')
optimizer = dict(type='SGD', lr=0.1, momentum=0.9, weight_decay=0.0001)
optimizer_config = dict(grad_clip=None)
lr_config = dict(policy='step', step=[30, 60, 90])

  1. 日志、模型保存路径和间隔
    load_from——迁移学习模型路径
    resume_from——接续训练模型路径

checkpoint_config = dict(interval=1)
checkpoint_config = dict(interval=1)
log_config = dict(interval=100, hooks=[dict(type='TextLoggerHook')])


load_from = 'G:\\github-projects\\mmclassfication-new\\mmclassification\\resources\\resnet18_8xb32_in1k_20210831-fbbb1da6.pth'
resume_from = None 
work_dir = './work_dirs/new_neck'
gpu_ids = [0]

你可能感兴趣的:(MMLab,python,人工智能,深度学习)