basecls.configs.effnet_cfg 源代码

#!/usr/bin/env python3
# Copyright (c) 2014-2021 Megvii Inc. All rights reserved.
from basecls.layers import NORM_TYPES

from .base_cfg import BaseConfig

__all__ = ["EffNetConfig", "EffNetLiteConfig"]

_cfg = dict(
    model=dict(
        name="EffNet",
    ),
    bn=dict(
        precise_every_n_epoch=1,
    ),
    loss=dict(
        label_smooth=0.1,
    ),
    augments=dict(
        name="RandAugment",
        resize=dict(
            interpolation="bicubic",
        ),
        rand_erase=dict(
            prob=0.25,
            mode="pixel",
        ),
    ),
    solver=dict(
        basic_lr=0.05,
        weight_decay=(
            (0, "bias"),
            (0, NORM_TYPES),
            1e-5,
        ),
        nesterov=True,
        max_epoch=350,
        lr_schedule="cosine",
    ),
    model_ema=dict(
        enabled=True,
        momentum=0.99998,
    ),
)


[文档]class EffNetConfig(BaseConfig): def __init__(self, values_or_file=None, **kwargs): super().__init__(_cfg) self.merge(values_or_file, **kwargs)
_cfg_lite = dict( augments=dict( name="ColorAugment", resize=dict( interpolation="bilinear", ), rand_erase=dict( prob=0.0, ), ), )
[文档]class EffNetLiteConfig(EffNetConfig): def __init__(self, values_or_file=None, **kwargs): super().__init__(_cfg_lite) self.merge(values_or_file, **kwargs)