EfficientNet V1和V2

资料:

在mmcv中使用EfficientNet V1的config:

 1     backbone=dict(
 2         type='mmdet.EfficientNet',
 3         arch='b0',
 4         drop_path_rate=0.2,
 5         out_indices=(3, 4, 5),
 6         frozen_stages=0,
 7         norm_cfg=dict(
 8             type='SyncBN', requires_grad=True, eps=1e-3, momentum=0.01),
 9         norm_eval=False,
10         init_cfg=dict(
11             type='Pretrained', 
12             checkpoint='ckpts/efficientnet-b0_3rdparty-ra-noisystudent_in1k_20221103-75cd08d3.pth',
13             prefix='backbone',
14         ),
15     ),

 

EfficientNet V2的使用方法:(参考mmlab之调用mmpretrain预训练模型_mmpretrain 下游-CSDN博客

  1. 安装mmpretrain: pip install mmpretrain
  2. 在custom_imports中添加'mmpretrain.models': custom_imports = dict(imports=['mmpretrain.models'], allow_failed_imports=False)
  3. config中关于Backbone和neck的设置如下:
    backbone=dict(
        # _delete_=True, # 将 _base_ 中关于 backbone 的字段删除
        type='mmpretrain.EfficientNetV2',
        arch='small',
        drop_path_rate=0.2,
        out_indices=(3, 4, 5),
        frozen_stages=0,
        norm_cfg=dict(
            type='SyncBN', requires_grad=True, eps=1e-3, momentum=0.01),
        norm_eval=False,
        init_cfg=dict(
            type='Pretrained', 
            checkpoint='ckpts/efficientnet-b4_3rdparty-ra-noisystudent_in1k_20221103-16ba8a2d.pth',
            prefix='backbone',
        ),
    ),
    neck=dict(
        type="FPN_CustomOut",
        in_channels=[64, 128, 160],
        out_channels=channels,
        start_level=0,
        add_extra_convs="on_output",
        num_outs=1,
        relu_before_extra_convs=True,
    ),

 

EfficientNet-B0的结构:

 

 

posted @ 2024-10-11 15:05  Picassooo  阅读(185)  评论(0)    收藏  举报