QINGTIAN 74743ef588
[Feature] [CodeCamp #68] Add EfficientnetV2 Backbone. (#1253)
* add efficientnet_v2.py

* add efficientnet_v2 in __init__.py

* add efficientnet_v2_s base config file

* add efficientnet_v2 config file

* add efficientnet_v2 config file

* update tuple output

* update config file

* update model file

* update model file

* update model file

* update config file

* update model file

* update config file

* update model file

* update model file

* update model file

* update model file

* update model file

* update config file

* update config file

* update model file

* update model file

* update model file

* update model file

* update model config file

* Update efficientnet_v2.py

* add config file and modify arch

* add config file and modify arch

* add the file about convert_pth from timm to mmcls

* update efficientnetv2 model file with mmcls style

* add the file about convert_pth from timm to mmcls

* add the file about convert_pth from timm to mmcls

* update convert file

* update model file

* update convert file

* update model file

* update model file

* update model file

* add metefile and README

* Update tools/model_converters/efficientnetv2-timm_to_mmcls.py

Co-authored-by: Ezra-Yu <18586273+Ezra-Yu@users.noreply.github.com>

* update model file and convert file

* update model file and convert file

* update model file and convert file

* update model file and convert file

* update model file

* update model file

* update model file

* update config file and README file

* update metafile

* Update efficientnetv2_to_mmcls.py

* update model-index.yml

* update metafile.yml

* update b0 and s train pipeline

* update b0 and s train pipeline

* update b0 and s train pipeline

* add test_efficientnet_v2

* update test_efficientnet_v2

* update model file docs

* update test_efficientnet_v2

* update test_efficientnet_v2

* add efficientnet_v2.py

* add efficientnet_v2 in __init__.py

* add efficientnet_v2_s base config file

* add efficientnet_v2 config file

* add efficientnet_v2 config file

* update tuple output

* update config file

* update model file

* update model file

* update model file

* update model file

* update config file

* update config file

* update model file

* update model file

* update model file

* update model file

* update model file

* update config file

* update config file

* update model file

* update model file

* update model file

* update model file

* update model config file

* Update efficientnet_v2.py

* add config file and modify arch

* add config file and modify arch

* add the file about convert_pth from timm to mmcls

* update efficientnetv2 model file with mmcls style

* add the file about convert_pth from timm to mmcls

* add the file about convert_pth from timm to mmcls

* update convert file

* update model file

* update convert file

* update model file

* update model file

* update model file

* add metefile and README

* Update tools/model_converters/efficientnetv2-timm_to_mmcls.py

Co-authored-by: Ezra-Yu <18586273+Ezra-Yu@users.noreply.github.com>

* update model file and convert file

* update model file and convert file

* update model file and convert file

* update model file and convert file

* update model file

* update model file

* update model file

* update config file and README file

* update metafile

* Update efficientnetv2_to_mmcls.py

* update model-index.yml

* update metafile.yml

* update b0 and s train pipeline

* update b0 and s train pipeline

* update b0 and s train pipeline

* add test_efficientnet_v2

* update test_efficientnet_v2

* update model file docs

* update test_efficientnet_v2

* update test_efficientnet_v2

* pass pre-commit hook

* refactor efficientnetv2

* refactor efficientnetv2

* update readme, metafile and weight links

* update model-index.yml

* fix lint

* fix typo

* Update efficientnetv2-b1_8xb32_in1k.py

* Update efficientnetv2-b2_8xb32_in1k.py

* Update efficientnetv2-b3_8xb32_in1k.py

* update two moduals and model file

* update modual file

* update accuracys

* update accuracys

* update metafile

* fix build docs

* update links

* update README.md

Co-authored-by: qingtian <459291290@qq.com>
Co-authored-by: Ezra-Yu <18586273+Ezra-Yu@users.noreply.github.com>
2022-12-30 15:18:39 +08:00

211 lines
3.8 KiB
ReStructuredText

.. role:: hidden
:class: hidden-section
.. module:: mmcls.models
mmcls.models
===================================
The ``models`` package contains several sub-packages for addressing the different components of a model.
- :mod:`~mmcls.models.classifiers`: The top-level module which defines the whole process of a classification model.
- :mod:`~mmcls.models.backbones`: Usually a feature extraction network, e.g., ResNet, MobileNet.
- :mod:`~mmcls.models.necks`: The component between backbones and heads, e.g., GlobalAveragePooling.
- :mod:`~mmcls.models.heads`: The component for specific tasks. In MMClassification, we provides heads for classification.
- :mod:`~mmcls.models.losses`: Loss functions.
- :mod:`~mmcls.models.utils`: Some helper functions and common components used in various networks.
- :mod:`~mmcls.models.utils.data_preprocessor`: The component before model to preprocess the inputs, e.g., ClsDataPreprocessor.
- :ref:`components`: Common components used in various networks.
- :ref:`helpers`: Helper functions.
Build Functions
---------------
.. autosummary::
:toctree: generated
:nosignatures:
build_classifier
build_backbone
build_neck
build_head
build_loss
.. module:: mmcls.models.classifiers
Classifiers
------------------
.. autosummary::
:toctree: generated
:nosignatures:
:template: classtemplate.rst
BaseClassifier
ImageClassifier
TimmClassifier
HuggingFaceClassifier
.. module:: mmcls.models.backbones
Backbones
------------------
.. autosummary::
:toctree: generated
:nosignatures:
:template: classtemplate.rst
AlexNet
BEiT
CSPDarkNet
CSPNet
CSPResNeXt
CSPResNet
Conformer
ConvMixer
ConvNeXt
DaViT
DeiT3
DenseNet
DistilledVisionTransformer
EdgeNeXt
EfficientFormer
EfficientNet
EfficientNetV2
HRNet
HorNet
InceptionV3
LeNet5
MViT
MlpMixer
MobileNetV2
MobileNetV3
MobileOne
MobileViT
PCPVT
PoolFormer
RegNet
RepLKNet
RepMLPNet
RepVGG
Res2Net
ResNeSt
ResNeXt
ResNet
ResNetV1c
ResNetV1d
ResNet_CIFAR
RevVisionTransformer
SEResNeXt
SEResNet
SVT
ShuffleNetV1
ShuffleNetV2
SwinTransformer
SwinTransformerV2
T2T_ViT
TIMMBackbone
TNT
VAN
VGG
VisionTransformer
.. module:: mmcls.models.necks
Necks
------------------
.. autosummary::
:toctree: generated
:nosignatures:
:template: classtemplate.rst
GlobalAveragePooling
GeneralizedMeanPooling
HRFuseScales
.. module:: mmcls.models.heads
Heads
------------------
.. autosummary::
:toctree: generated
:nosignatures:
:template: classtemplate.rst
ClsHead
LinearClsHead
StackedLinearClsHead
VisionTransformerClsHead
EfficientFormerClsHead
DeiTClsHead
ConformerHead
ArcFaceClsHead
MultiLabelClsHead
MultiLabelLinearClsHead
CSRAClsHead
.. module:: mmcls.models.losses
Losses
------------------
.. autosummary::
:toctree: generated
:nosignatures:
:template: classtemplate.rst
CrossEntropyLoss
LabelSmoothLoss
FocalLoss
AsymmetricLoss
SeesawLoss
.. module:: mmcls.models.utils
models.utils
------------
This package includes some helper functions and common components used in various networks.
.. _components:
Common Components
^^^^^^^^^^^^^^^^^
.. autosummary::
:toctree: generated
:nosignatures:
:template: classtemplate.rst
InvertedResidual
SELayer
WindowMSA
WindowMSAV2
ShiftWindowMSA
MultiheadAttention
ConditionalPositionEncoding
PatchEmbed
PatchMerging
HybridEmbed
LayerScale
.. _helpers:
Helper Functions
^^^^^^^^^^^^^^^^
.. autosummary::
:toctree: generated
:nosignatures:
channel_shuffle
make_divisible
resize_pos_embed
resize_relative_position_bias_table
to_ntuple
is_tracing