models.rst 6.34 KB
Newer Older
limm's avatar
limm committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
.. role:: hidden
    :class: hidden-section

.. module:: mmpretrain.models

mmpretrain.models
===================================

The ``models`` package contains several sub-packages for addressing the different components of a model.

- :mod:`~mmpretrain.models.classifiers`: The top-level module which defines the whole process of a classification model.
- :mod:`~mmpretrain.models.selfsup`: The top-level module which defines the whole process of a self-supervised learning model.
- :mod:`~mmpretrain.models.retrievers`: The top-level module which defines the whole process of a retrieval model.
- :mod:`~mmpretrain.models.backbones`: Usually a feature extraction network, e.g., ResNet, MobileNet.
- :mod:`~mmpretrain.models.necks`: The component between backbones and heads, e.g., GlobalAveragePooling.
- :mod:`~mmpretrain.models.heads`: The component for specific tasks.
- :mod:`~mmpretrain.models.losses`: Loss functions.
- :mod:`~mmpretrain.models.peft`: The PEFT (Parameter-Efficient Fine-Tuning) module, e.g. LoRAModel.
- :mod:`~mmpretrain.models.utils`: Some helper functions and common components used in various networks.

  - :mod:`~mmpretrain.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:: mmpretrain.models.classifiers

Classifiers
------------------

.. autosummary::
   :toctree: generated
   :nosignatures:

    BaseClassifier
    ImageClassifier
    TimmClassifier
    HuggingFaceClassifier

.. module:: mmpretrain.models.selfsup

Self-supervised Algorithms
--------------------------

.. _selfsup_algorithms:

.. autosummary::
   :toctree: generated
   :nosignatures:

   BaseSelfSupervisor
   BEiT
   BYOL
   BarlowTwins
   CAE
   DenseCL
   EVA
   iTPN
   MAE
   MILAN
   MaskFeat
   MixMIM
   MoCo
   MoCoV3
   SimCLR
   SimMIM
   SimSiam
   SparK
   SwAV

.. _selfsup_backbones:

Some of above algorithms modified the backbone module to adapt the extra inputs
like ``mask``, and here is the a list of these **modified backbone** modules.

.. autosummary::
   :toctree: generated
   :nosignatures:

   BEiTPretrainViT
   CAEPretrainViT
   iTPNHiViT
   MAEHiViT
   MAEViT
   MILANViT
   MaskFeatViT
   MixMIMPretrainTransformer
   MoCoV3ViT
   SimMIMSwinTransformer

.. _target_generators:

Some self-supervise algorithms need an external **target generator** to
generate the optimization target. Here is a list of target generators.

.. autosummary::
   :toctree: generated
   :nosignatures:

   VQKD
   DALLEEncoder
   HOGGenerator
   CLIPGenerator

.. module:: mmpretrain.models.retrievers

Retrievers
------------------

.. autosummary::
   :toctree: generated
   :nosignatures:

   BaseRetriever
   ImageToImageRetriever

.. module:: mmpretrain.models.multimodal

Multi-Modality Algorithms
--------------------------

.. autosummary::
   :toctree: generated
   :nosignatures:

   Blip2Caption
   Blip2Retrieval
   Blip2VQA
   BlipCaption
   BlipGrounding
   BlipNLVR
   BlipRetrieval
   BlipVQA
   Flamingo
   OFA
   MiniGPT4
   Llava
   Otter

.. module:: mmpretrain.models.backbones

Backbones
------------------

.. autosummary::
   :toctree: generated
   :nosignatures:

   AlexNet
   BEiTViT
   CSPDarkNet
   CSPNet
   CSPResNeXt
   CSPResNet
   Conformer
   ConvMixer
   ConvNeXt
   DaViT
   DeiT3
   DenseNet
   DistilledVisionTransformer
   EdgeNeXt
   EfficientFormer
   EfficientNet
   EfficientNetV2
   HiViT
   HRNet
   HorNet
   InceptionV3
   LeNet5
   LeViT
   MViT
   MlpMixer
   MobileNetV2
   MobileNetV3
   MobileOne
   MobileViT
   PCPVT
   PoolFormer
   PyramidVig
   RegNet
   RepLKNet
   RepMLPNet
   RepVGG
   Res2Net
   ResNeSt
   ResNeXt
   ResNet
   ResNetV1c
   ResNetV1d
   ResNet_CIFAR
   RevVisionTransformer
   SEResNeXt
   SEResNet
   SVT
   ShuffleNetV1
   ShuffleNetV2
   SparseResNet
   SparseConvNeXt
   SwinTransformer
   SwinTransformerV2
   T2T_ViT
   TIMMBackbone
   TNT
   VAN
   VGG
   Vig
   VisionTransformer
   ViTSAM
   XCiT
   ViTEVA02

.. module:: mmpretrain.models.necks

Necks
------------------

.. autosummary::
   :toctree: generated
   :nosignatures:

   BEiTV2Neck
   CAENeck
   ClsBatchNormNeck
   DenseCLNeck
   GeneralizedMeanPooling
   GlobalAveragePooling
   HRFuseScales
   LinearNeck
   MAEPretrainDecoder
   MILANPretrainDecoder
   MixMIMPretrainDecoder
   MoCoV2Neck
   NonLinearNeck
   SimMIMLinearDecoder
   SwAVNeck
   iTPNPretrainDecoder
   SparKLightDecoder

.. module:: mmpretrain.models.heads

Heads
------------------

.. autosummary::
   :toctree: generated
   :nosignatures:

   ArcFaceClsHead
   BEiTV1Head
   BEiTV2Head
   CAEHead
   CSRAClsHead
   ClsHead
   ConformerHead
   ContrastiveHead
   DeiTClsHead
   EfficientFormerClsHead
   LatentCrossCorrelationHead
   LatentPredictHead
   LeViTClsHead
   LinearClsHead
   MAEPretrainHead
   MIMHead
   MixMIMPretrainHead
   MoCoV3Head
   MultiLabelClsHead
   MultiLabelLinearClsHead
   MultiTaskHead
   SimMIMHead
   StackedLinearClsHead
   SwAVHead
   VigClsHead
   VisionTransformerClsHead
   iTPNClipHead
   SparKPretrainHead

.. module:: mmpretrain.models.losses

Losses
------------------

.. autosummary::
   :toctree: generated
   :nosignatures:

   AsymmetricLoss
   CAELoss
   CosineSimilarityLoss
   CrossCorrelationLoss
   CrossEntropyLoss
   FocalLoss
   LabelSmoothLoss
   PixelReconstructionLoss
   SeesawLoss
   SwAVLoss

.. module:: mmpretrain.models.peft

PEFT
------------------

.. autosummary::
   :toctree: generated
   :nosignatures:

   LoRAModel

.. module:: mmpretrain.models.utils

models.utils
------------

This package includes some helper functions and common components used in various networks.

.. _components:

Common Components
^^^^^^^^^^^^^^^^^

.. autosummary::
   :toctree: generated
   :nosignatures:

   ConditionalPositionEncoding
   CosineEMA
   HybridEmbed
   InvertedResidual
   LayerScale
   MultiheadAttention
   PatchEmbed
   PatchMerging
   SELayer
   ShiftWindowMSA
   WindowMSA
   WindowMSAV2

.. _helpers:

Helper Functions
^^^^^^^^^^^^^^^^

.. autosummary::
   :toctree: generated
   :nosignatures:

   channel_shuffle
   is_tracing
   make_divisible
   resize_pos_embed
   resize_relative_position_bias_table
   to_ntuple