mmlab——跨项目调用主干网络

发布于:2024-08-22 ⋅ 阅读:(78) ⋅ 点赞:(0)


前言

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


一、mmpretrain

在mmsegmentation中调用mmpretrain主干网络

代码如下:

mmlab采用统一的文件注册机制,因此只要将相应的mmdet、mmseg、mmpretrain模型文件部分,放到对应的项目下,就可以采用以下方式进行相互调用了
首先:custom_imports = dict(imports='mmpretrain.models',
其次: allow_failed_imports=False)
#导入文件所在的作用域
custom_imports = dict(imports='mmpretrain.models', allow_failed_imports=False)
crop_size = (512, 512)
data_preprocessor = dict(size=crop_size)
checkpoint_file = 'https://download.openmmlab.com/mmclassification/v0/convnext/downstream/convnext-small_3rdparty_32xb128-noema_in1k_20220301-303e75e3.pth'  # noqa
model = dict(
    data_preprocessor=data_preprocessor,
    backbone=dict(
        type='mmpretrain.ConvNeXt',
        arch='small',
        out_indices=[0, 1, 2, 3],
        drop_path_rate=0.3,
        layer_scale_init_value=1.0,
        gap_before_final_norm=False,
        init_cfg=dict(
            type='Pretrained', checkpoint=checkpoint_file,
            prefix='backbone.')),
    decode_head=dict(
        in_channels=[96, 192, 384, 768],
        num_classes=150,
    ),
    auxiliary_head=dict(in_channels=384, num_classes=150),
    test_cfg=dict(mode='slide', crop_size=crop_size, stride=(341, 341)),
)

总结