EfficientNet V1和V2
资料:
- 细品EfficientNet - 知乎 (zhihu.com)
- 【论文解读】一文看懂EfficientnetB0~B7模型所有细节 - 知乎 (zhihu.com)
- EfficientNet 简介_mbconv全程-CSDN博客
- 【图像分类】用通俗易懂代码的复现EfficientNetV2,入门的绝佳选择(pytorch)-云社区-华为云 (huaweicloud.com)
- mmlab之调用mmpretrain预训练模型_mmpretrain 下游-CSDN博客
- mmpretain官网:mmpretrain/mmpretrain/models/backbones/efficientnet_v2.py at main · open-mmlab/mmpretrain · GitHub
- 预训练checkpoints:mmpretrain/configs/efficientnet_v2 at main · open-mmlab/mmpretrain · GitHub
在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博客)
- 安装mmpretrain: pip install mmpretrain
- 在custom_imports中添加'mmpretrain.models': custom_imports = dict(imports=['mmpretrain.models'], allow_failed_imports=False)
- 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的结构:




浙公网安备 33010602011771号