Commit Graph

228 Commits (d0de93746f3956bef8413bdd889c29785de43bb1)

Author SHA1 Message Date
xcnick 3eafc5cbe1
[Feature] Add MLP Mixer Backbone. (#528)
* Add Mlp Mixer

* Fix token_mix FNN add_identity and add out_indices

* Fix mlp_mixer unit test
2021-11-15 18:25:22 +08:00
Ezra-Yu 87c67a6a79
[Feature] Support positive weights in BCE. (#516)
* add pos-weight in BCE

* mv pos-weight to kwargs
2021-11-10 17:14:12 +08:00
Ezra-Yu 34d5a25281
[Refactor] Support passing arguments to loss from head. (#523) 2021-11-10 17:12:34 +08:00
Zhicheng Chen 9ab9d4ff31
[Refactor] Refactor `Resize` transform and add `Pad` transform. (#506)
* refactor resize, test tobe done

* resize reimpl according to discussion; add pad

* minor fixes and add tests

* minor fixes on docstring

* add additional unit test

* reformat resize and pad

* revise code and docstr according to the comments
2021-11-10 16:46:49 +08:00
Ezra-Yu b486bb23f8
[Feature] Add a tool to visualize learning rate in each iterations (#498)
* add vis lr

* add doc

* Update doc and rm load_json_log in analysis

* Update docs

* add unit tests and update docstring

* fix unit-tests

* Use DummyIterBasedRunner and DummyEpochBasedRunner to simulate training
process.

* rm function val and add judge

* update docs

* improve english expression

* Update docs/tools/visualization.md

Co-authored-by: Ma Zerun <mzr1996@163.com>

* fix typo and ImageNet datasize

* fix typo

* update example

Co-authored-by: mzr1996 <mzr1996@163.com>
2021-11-03 10:48:56 +08:00
Ma Zerun fffa30dd48
[Feature] Add Tokens-to-Token ViT backbone and converted checkpoints. (#467)
* add t2t backbone

* register t2t_vit

* add t2t_vit config

* [Temp] Align posterize transform with timm.

* Fix lint

* Refactor t2t-vit

* Add config for t2t-vit

* Add metafile and README for t2t-vit

* Add unit tests

* configs

* Update metafile and README

* Improve docstring

* Fix batch size which should be 8x64 instead of 8x128

* Fix typo

* Update model zoo

* Update training augments config.

* Move some arguments of T2TModule to T2TViT

* Update docs.

* Update unit test

Co-authored-by: HIT-cwh <2892770585@qq.com>
2021-10-29 10:37:16 +08:00
Ezra-Yu 2ce5825ef1
[Feature] Support ImageNet21k dataset. (#461)
* add imagnet21k

* Update unit test

* update imaenet21k

* use slots

* use slots

* rename Data_item to ImageInfo

* add unit tests

* Update unit tests

* rm some print

* update unit tests

* fix lint

* remove default value of pipeline
2021-10-28 15:22:08 +08:00
Zhicheng Chen 6d6ce215a2
[Feature] Add seesaw loss. (#500)
* migrate seesaw loss from mmdet

* add assertion and doc string fixes

* add error information

* docstring fixes

* minor doc update
2021-10-27 10:11:59 +08:00
Ma Zerun 77a3834531
[Feature] Add Res2Net backbone and converted weights. (#465)
* Add Res2Net from mmdet, and change it to mmcls style.

* Align structure with official repo

* Support `deep_stem` and `avg_down` option

* Add Res2Net configs

* Add metafile&README and update model zoo

* Add unit tests

* Imporve docstring.

* Improve according to comments.
2021-10-20 16:34:22 +08:00
Ma Zerun 2932f9d8a3
[Refactor] Refator ViT (Continue #295) (#395)
* [Squash] Refator ViT (from #295)

* Use base variable to simplify auto_aug setting

* Use common PatchEmbed, remove HybridEmbed and refactor ViT init
structure.

* Add `output_cls_token` option and change the output format of ViT and
input format of ViT head.

* Update unit tests and add test for `output_cls_token`.

* Support out_indices.

* Standardize config files

* Support resize position embedding.

* Add readme file of vit

* Rename config file

* Improve docs about ViT.

* Update docstring

* Use local version `MultiheadAttention` instead of mmcv version.

* Fix MultiheadAttention

* Support `qk_scale` argument in `MultiheadAttention`

* Improve docs and change `layer_cfg` to `layer_cfgs` and support
sequence.

* Use init_cfg to init Linear layer in VisionTransformerHead

* update metafile

* Update checkpoints and configs

* Imporve docstring.

* Update README

* Revert GAP modification.
2021-10-18 16:07:00 +08:00
Ma Zerun 2e6c7cf87d
[Docs] Add code-spell pre-commit hook and fix a large mount of typos. (#470)
* Add code spell check hook

* Add codespell config

* Fix a lot of typos.

* Add formating.py to keep compatibility.
2021-10-13 14:33:07 +08:00
Ma Zerun 6fba107840
[Refactor] Use context manager to reuse matplotlib figures. (#432)
* Add `BaseImshowContextmanager` and `ImshowInfosContextManager` to reuse
matplotlib figure.

* Use context manager to implement `imshow_infos`

* Add unit tests.

* More general base context manager.

* unit tests for context manager.

* Improve docstring.

* Fix context manager exit cannot close figure when matplotlib>=3.4.0

* Fix unit tests

* Support inline backend in visualization.
2021-09-30 13:59:27 +08:00
zhangrui_wolf 90496b4687
[Feature] Add RepVGG backbone and checkpoints. (#414)
* Add RepVGG code.

* Add se_module as plugin.

* Add the repvggA0 primitive config

* Change repvggA0.py to fit mmcls

* Add RepVGG configs

* Add repvgg_to_mmcls

* Add tools/deployment/convert_repvggblock_param_to_deploy.py

* Change configs/repvgg/README.md

* Streamlining the number of configuration files.

* Fix lints

* Delete plugins

* Delete code about plugin.

* Modify the code for using se module.

* Modify config to fit repvgg with se.

* Change se_cfg to allow loading of pre-training parameters.

* Reduce the complexity of the configuration file.

* Finsh unitest for repvgg.

* Fix bug about se in repvgg_to_mmcls.

* Rename convert_repvggblock_param_to_deploy.py to reparameterize_repvgg.py, and delete setting about device.

* test commit

* test commit

* test commit command

* Modify repvgg.py to make the code more readable.

* Add value=0 in F.pad()

* Add se_cfg to arch_settings.

* Fix bug.

* modeify some attr name and Update unit tests

* rename stage_0 to stem and branch_identity to branch_norm

* update unit tests

* add m.eval in unit tests

* [Enhance] Enhence SE layer to support custom squeeze channels. (#417)

* add enhenced SE

* Update

* rm basechannel

* fix docstring

* Update se_layer.py

fix docstring

* [Docs] Add algorithm readme and update meta yml (#418)

* Add README.md for models without checkpoints.

* Update model-index.yml

* Update metafile.yml of seresnet

* [Enhance] Add `hparams` argument in `AutoAugment` and `RandAugment` and some other improvement. (#398)

* Add hparams argument in `AutoAugment` and `RandAugment`.

And `pad_val` supports sequence instead of tuple only.

* Add unit tests for `AutoAugment` and `hparams` in `RandAugment`.

* Use smaller test image to speed up uni tests.

* Use hparams to simplify RandAugment config in swin-transformer.

* Rename augment config name from `pipeline` to `pipelines`.

* Add some commnet ad docstring.

* [Feature] Support classwise weight in losses (#388)

* Add classwise weight in losses:CE,BCE,softBCE

* Update unit test

* rm some extra code

* rm some extra code

* fix broadcast

* fix broadcast

* update unit tests

* use new_tensor

* fix lint

* [Enhance] Better result visualization (#419)

* Imporve result visualization to support wait time and change the backend
to matplotlib.

* Add unit test for visualization

* Add adaptive dpi function

* Rename `imshow_cls_result` to `imshow_infos`.

* Support str in `imshow_infos`

* Improve docstring.

* Bump version to v0.15.0 (#426)

* [CI] Add PyTorch 1.9 and Python 3.9 build workflow, and remove some CI. (#422)

* Add PyTorch 1.9 build workflow, and remove some CI.

* Add Python 3.9 CI

* Show Python 3.9 support.

* [Enhance] Rename the option `--options` in some tools to `--cfg-options`. (#425)

* [Docs] Fix sphinx version (#429)

* [Docs] Add `CITATION.cff` (#428)

* Add CITATION.cff

* Fix typo in setup.py

* Change author in setup.py

* modeify some attr name and Update unit tests

* rename stage_0 to stem and branch_identity to branch_norm

* update unit tests

* add m.eval in unit tests

* Update unit tests

* refactor

* refactor

* Alignment inference accuracy

* Update configs, readme and metafile

* Update readme

* return tuple and fix metafile

* fix unit test

* rm regnet and classifiers changes

* update auto_aug

* update metafile & readme

* use delattr

* rename cfgs

* Update checkpoint url

* Update readme

* Rename config files.

* Update readme and metafile

* add comment

* Update mmcls/models/backbones/repvgg.py

Co-authored-by: Ma Zerun <mzr1996@163.com>

* Update docstring

* Improve docstring.

* Update unittest_testblock

Co-authored-by: Ezra-Yu <1105212286@qq.com>
Co-authored-by: Ma Zerun <mzr1996@163.com>
2021-09-29 11:06:23 +08:00
Ma Zerun 75b087f27e
[Refactor] Fix TnT compatibility and verbose warning. (#436)
* Support return tuple in TnT

* Fix verbose warnings.
2021-09-22 19:37:24 +08:00
Ma Zerun a8f4f82b8e
[Enhance] Improve downstream repositories compatibility (#421)
* Defaults to return tuple in all backbones.

* Compat downstream of swin transformer.

* Support tuple input for multi label head and stacked head.

* Fix backbone unit tests for tuple output.

* Add downstream inference unit tests for mmdet.

* Update gitignore

* Add unit tests for `return_tuple` option

* Add unit tests for head input tuple.

* Add warning in `simple_test`

* Add TIMMBackbone return tuple.

* Modify timm backbone unit test.
2021-09-08 10:38:57 +08:00
Miras Amir 5cfaed6807
[Feature] timm backbones wrapper (#427)
* Add wrapper to use backbones from timm

* Add tests

* Remove timm from optional deps and modify GitHub workflow.

Co-authored-by: mzr1996 <mzr1996@163.com>
2021-09-06 11:05:31 +08:00
Ma Zerun 5383787512
[Enhance] Better result visualization (#419)
* Imporve result visualization to support wait time and change the backend
to matplotlib.

* Add unit test for visualization

* Add adaptive dpi function

* Rename `imshow_cls_result` to `imshow_infos`.

* Support str in `imshow_infos`

* Improve docstring.
2021-08-31 10:50:28 +08:00
Ezra-Yu 192b79eea0
[Feature] Support classwise weight in losses (#388)
* Add classwise weight in losses:CE,BCE,softBCE

* Update unit test

* rm some extra code

* rm some extra code

* fix broadcast

* fix broadcast

* update unit tests

* use new_tensor

* fix lint
2021-08-31 10:44:12 +08:00
Ma Zerun 6a0a76af0c
[Enhance] Add `hparams` argument in `AutoAugment` and `RandAugment` and some other improvement. (#398)
* Add hparams argument in `AutoAugment` and `RandAugment`.

And `pad_val` supports sequence instead of tuple only.

* Add unit tests for `AutoAugment` and `hparams` in `RandAugment`.

* Use smaller test image to speed up uni tests.

* Use hparams to simplify RandAugment config in swin-transformer.

* Rename augment config name from `pipeline` to `pipelines`.

* Add some commnet ad docstring.
2021-08-24 18:15:54 +08:00
Ezra-Yu 0184527bd4
[Enhance] Enhence SE layer to support custom squeeze channels. (#417)
* add enhenced SE

* Update

* rm basechannel

* fix docstring

* Update se_layer.py

fix docstring
2021-08-20 13:31:44 +08:00
Ma Zerun f9eb9b409b
[Docs] Add Copyright information. (#413) 2021-08-17 19:52:42 +08:00
Ma Zerun c0a4916a06
[Enhance] Update `digit_version` function. (#402)
* Update digit_version

* Add digit_version unit test
2021-08-12 12:13:25 +08:00
whcao 359f56ad58
[Feature] Add transformer in transformer (#339)
* add tnt_small configs

* add tnt backbone

* test tnt

* add tnt to model_zoo

* rename the config file name

* add optimizor

* move tnt backbone unitest

* add metric

* fix keyname in arch

* encapsulate "inner transformer block" and "outer transformer block"

* fix TnT

* Use `inner_block_cfg` and `outer_block_cfg` instead of `args` and
`kwargs`.

Co-authored-by: mzr1996 <mzr1996@163.com>
2021-07-30 09:16:27 +08:00
Ma Zerun 15cd34bbef
[Fix] Use zero as default value of `thrs` in metrics. (#341)
* Use zero as default value of `thrs` in metrics. And it accepcts a number
instead of float now.

* Fix unit test comment

* Don't pass thrs if no thrs.
2021-07-18 16:57:21 +08:00
Ma Zerun 1a7cebe4b9
[Refactor] Refactor unittest (#321)
* Refactor unit tests folder structure.

* Remove label smooth and Vit test in `test_classifiers.py`

* Rename test_utils in dataset to test_dataset_utils

* Split test_models/test_utils/test_utils.py to multiple sub files.

* Add unit tests of classifiers and heads

* Use patch context manager.

* Add unit test of `is_tracing`, and add warning in `is_tracing` if torch
verison is smaller than 1.6.0
2021-07-08 22:49:05 +08:00
Wenwei Zhang 06f415c28a
support to test mmdet inference with mmcls backbone (#343)
* support to test mmdet inference with mmcls backbone

* update config

* update

* add mmdet dependency in tests
2021-07-06 14:34:12 +08:00
Ma Zerun 076ee10cac
[Feature] Add swin-transformer model. (#271)
* Add swin transformer archs S, B and L.

* Add SwinTransformer configs

* Add train config files of swin.

* Align init method with original code

* Use nn.Unfold to merge patch

* Change all ConfigDict to dict

* Add init_cfg for all subclasses of BaseModule.

* Use mmcv version init function

* Add Swin README

* Use safer cfg copy method

* Improve docstring and variable name.

* Fix some difference in randaug

Fix BGR bug, align scheduler config.

Fix label smoothing parameter difference.

* Fix missing droppath in attn

* Fix bug of relative posititon table if window width is not equal to
height.

* Make `PatchMerging` more general, support kernel, stride, padding and
dilation.

* Rename `residual` to `identity` in attention and FFN.

* Add `auto_pad` option to auto pad feature map

* Improve docstring.

* Fix bug in ShiftWMSA padding.

* Remove unused `key` and `value` in ShiftWMSA

* Move `PatchMerging` into utils and use common `PatchEmbed`.

* Use latest `LinearClsHead`, train augments and label smooth settings.
And remove original `SwinLinearClsHead`.

* Mark some configs as "Evalution Only".

* Remove useless comment in config

* 1. Move ShiftWindowMSA and WindowMSA to `utils/attention.py`
2. Add docstrings of each module.
3. Fix some variables' names.
4. Other small improvement.

* Add unit tests of swin-transformer and patchmerging.

* Fix some bugs in unit tests.

* Fix bug of rel_position_index if window is not square.

* Make WindowMSA implicit, and add unit tests.

* Add metafile.yml, update readme and model_zoo.
2021-07-01 09:30:42 +08:00
whcao bee0ac6b56
[Refactor]Modify patchembed (#330)
* add mytrain.py for test

* test before layers

* test attr in layers

* test classifier

* delete mytrain.py

* add patchembed and hybridembed

* add patchembed and hybridembed to __init__

* test patchembed and hybridembed

* fix some comments
2021-06-30 20:48:04 +08:00
Ma Zerun 65410b05ad
Fix Mobilenetv3 structure and add pretrained model (#291)
* Refactor Mobilenetv3 structure and add ConvClsHead.

* Change model's name from 'MobileNetv3' to 'MobileNetV3'

* Modify configs for MobileNetV3 on CIFAR10.

And add MobileNetV3 configs for imagenet

* Fix activate setting bugs in MobileNetV3.

And remove bias in SELayer.

* Modify unittest

* Remove useless config and file.

* Fix mobilenetv3-large arch setting

* Add dropout option in ConvClsHead

* Fix MobilenetV3 structure according to torchvision version.

1. Remove with_expand_conv option in InvertedResidual, it should be decided by channels.

2. Revert activation function, should before SE layer.

* Format code.

* Rename MobilenetV3 arch "big" to "large".

* Add mobilenetv3_small torchvision training recipe

* Modify default `out_indices` of MobilenetV3, now it will change
according to `arch` if not specified.

* Add MobilenetV3 large config.

* Add mobilenetv3 README

* Modify InvertedResidual unit test.

* Refactor ConvClsHead to StackedLinearClsHead, and add unit tests.

* Add unit test for `simple_test` of `StackedLinearClsHead`.

* Fix typo

Co-authored-by: Yidi Shao <ydshao@smail.nju.edu.cn>
2021-06-27 23:19:36 +08:00
Ma Zerun 53c0df271f
Fix magnitude_std bug in RandAugment, and update unit tests. (#309) 2021-06-21 11:25:11 +08:00
whcao 3a08db9182
[Feature]Add augments to models/utils (#278)
* add mytrain.py for test

* test before layers

* test attr in layers

* test classifier

* delete mytrain.py

* add rand_bbox_minmax rand_bbox and cutmix_bbox_and_lam to BaseCutMixLayer

* add mixup_prob to BatchMixupLayer

* add cutmixup

* add cutmixup to __init__

* test classifier with cutmixup

* delete some comments

* set mixup_prob default to 1.0

* add cutmixup to classifier

* use cutmixup

* use cutmixup

* fix bugs

* test cutmixup

* move mixup and cutmix to augment

* inherit from BaseAugment

* add BaseAugment

* inherit from BaseAugment

* rename identity.py

* add @

* build augment

* register module

* rename to augment.py

* delete cutmixup.py

* do not inherit from BaseAugment

* add augments

* use augments in classifier

* prob default to 1.0

* add comments

* use augments

* use augments

* assert sum of augmentation probabilities should equal to 1

* augmentation probabilities equal to 1

* calculate Identity prob

* replace xxx with self.xxx

* add comments

* sync with augments

* for BC-breaking

* delete useless comments in mixup.py
2021-06-20 09:44:51 +08:00
Ma Zerun 84a939f858
Refactor LabelSmoothLoss (#285)
* Refector label smooth loss, now support mode `original`, `classy_vision`
and `multi_label`.

* Add unittests for label smooth loss.

* Improve docstring of LSR
2021-06-12 21:32:18 +08:00
Miao Zheng 4ca21c7d03
[WIP] Refactoring weights initialization (#270)
* [WIP] Refactoring weights initialization

* fix lint and constant init cfg

* fix pretrained bug

* fix typo

* fix isort

* revise model utils
2021-06-10 10:54:34 +08:00
LXXXXR 2c9e12f850
[Feature] Add an argument `efficientnet_style` to `RandomResizedCrop` and `CenterCrop` (#268)
* add config for resnest test

* fix config

* add label smoothing

* add memcached

* minor fix

* fix bug

* fix config

* add config

* minor fix

* fix configs

* use EResize

* change interpolation

* add more configs

* add docsting

* add unittest

* remove unnecessary changes

* minor fix

* add more docstring

* fix linting

* refactor

* add resize in crop to ensure crop size is output size

* fix bug and add comments

* fix bug
2021-05-31 14:10:57 +08:00
Ma Zerun 09597e5a4c
Add transform `RandomErasing` (#248)
* Add transform `RandomErasing`.

* Add unittests of `RandomErasing`

* Fix typo in docstring

* Improve docstring and unittests.
2021-05-19 22:35:26 +08:00
LXXXXR 8c90a879ce
[Fix] Fix magnitude_range in RandAug (#249)
* add increasing in solarize and posterize

* fix linting

* Revert "add increasing in solarize and posterize"

This reverts commit 128af36e9b.

* revise according to comments
2021-05-12 15:21:55 +08:00
mzr1996 a3b8d6015d
[Feature] Add RandAUG magnitude noise (#240)
* Add paramater magnitude_std in RandAugment to allow randomly movement of magnitude_value

* Add unittest for magnitude_std

* Improve docstring of magnitude_std
2021-05-10 17:13:41 +08:00
RangiLyu 6a50a2864b
fix typo in unit test (#238) 2021-05-10 15:03:39 +08:00
mzr1996 8128900a12
GlabelAveragePooling support 1d, 2d and 3d by param, and add neck test (#236)
* GlabelAveragePooling support 1d, 2d and 3d by param, and add neck test

* Imporve neck test

* Change 'mode' attribute in GAP to 'dim', and add docstring
2021-05-10 15:00:50 +08:00
whcao b30f79ea4c
[Feature]Modify Parameters Passing in models.heads (#239)
* add mytrain.py for test

* test before layers

* test attr in layers

* test classifier

* delete mytrain.py

* set cal_acc in ClsHead defaults to False

* set cal_acc defaults to False

* use *args, **kwargs instead

* change bs16 to 3 in test_image_classifier_vit

* fix some comments

* change cal_acc=True

* test LinearClsHead
2021-05-10 14:56:55 +08:00
whcao affb39fe07
[Feature]Add Vit (#214)
* add imagenet bs 4096

* add vit_base_patch16_224_finetune

* add vit_base_patch16_224_pretrain

* add vit_base_patch16_384_finetune

* add vit_base_patch16_384_finetune

* add vit_b_p16_224_finetune_imagenet

* add vit_b_p16_224_pretrain_imagenet

* add vit_b_p16_384_finetune_imagenet

* add vit

* add vit

* add vit head

* vit unitest

* keep up with ClsHead

* test vit

* add flag to determiine whether to calculate acc during training

* Changes related to mmcv1.3.0

* change checkpoint saving interval to 10

* add label smooth

* default_runtime.py recovery

* docformatter

* docformatter

* delete 2 lines of comments

* delete configs/_base_/schedules/imagenet_bs4096.py

* add configs/_base_/schedules/imagenet_bs2048_AdamW.py

* rename imagenet_bs4096.py to imagenet_bs2048_AdamW.py

* add helpers.py

* test vit hybrid backbone

* fix HybridEmbed

* use to_2tuple instead
2021-04-16 19:22:41 +08:00
whcao 1cde6f6e65
[Feature] Add cutmix option (#198)
* Add cutmix option

* fix code style

* add some annotations

* add annotation about custom_hooks

* check constraint of alpha > 0

* add test cutmix

* fix code style

* add cutmix to configs/models

* add cutmix to configs/resnet

* flake8

* empty
2021-04-14 21:27:42 +08:00
mzr1996 b7b520881f
Update CONTRIBUTING.md according to mmcv (#210)
* Update CONTRIBUTING.md according to mmcv

* Docstring formatting by docformatter

* Update openmmlab website.
2021-04-14 21:22:37 +08:00
whcao af83e981ac
[Bug]Fix label smooth bug (#203)
* add convert_to_one_hot

* add test_label_smooth_loss

* add my label_smooth_loss

* fix CELoss bug

* test new label smooth loss

* LabelSmoothLoss downward compatibility

* add some comments

* remove the old version of LabelSmoothLoss

* add some comments

* add some comments

* add some comments

* add label smooth to config
2021-04-13 13:53:56 +08:00
whcao dcf61173f6
[Feature]Add cal_acc to cls_head.py (#206)
* add cal_acc to cls_head.py

* test ClsHead with cal_acc

* 4 spaces indentation
2021-04-13 13:52:14 +08:00
LXXXXR 5195932952
[Feature] Support random augmentation (#201)
* support random augmentation

* minor fix on posterize

* minor fix on posterize

* minor fix on cutout

* minor fix on cutout

* fix bug in solarize add

* revised according to comments
2021-04-09 14:02:50 +08:00
LXXXXR 4d1fb1a662
[Feature] ColorJitter and Lighting (#190)
* add configs

* remove config

* add color jitter and lighting

* revised according to comments
2021-04-02 19:23:39 +08:00
LXXXXR 93cd960466
[Feature] Support AutoAug, AutoContrast, Equalize, Contrast, Brightness and Sharpness (#179)
* add AutoContrast, Equalize, Contrast, Brightness and Sharpness pipelines

* add ImageNetPolicy

* add configs

* add unittest

* remove config

* rerun CI

* rerun CI

* [Fix] Update pip install mmcv command in ci (#187)

* update pip install mmcv command in ci

* update pip install mmcv command in ci

* fix ci

* fix ci
2021-03-30 15:38:55 +08:00
LXXXXR b507fc207b
[Fix] Use MMCV's EvalHook in MMClassification (#182)
* use eval_hook in mmcv

* minor fix
2021-03-25 17:38:51 +08:00
LXXXXR f3b9380cbc
[Feature] Support solarize and posterize pipelines (#172)
* support Solarize and Posterize

* revised according to comments

* fix conflicts
2021-03-09 19:45:13 +08:00
LXXXXR 9614787fc4
[Feature] Add color pipeline (#171)
* add ColorTransform pipeline

* fix docstring

* minor change

* revised according to comments
2021-03-09 19:28:50 +08:00
LXXXXR c8033ece8e
add invert pipeline (#168) 2021-03-02 16:46:57 +08:00
LXXXXR b1fa298a66
add Rotate pipeline (#167) 2021-03-01 21:49:07 +08:00
LXXXXR bc50a7927b
reslove conflicts (#165) 2021-02-26 11:48:13 +08:00
LXXXXR 8c11c01fdb
[Feature] Add shear pipeline (#163)
* half-done auto_augmentation

* remove auto_augcode and support shear pipeline

* fix typo

* fix typo

* use a non-square toy data instead
2021-02-25 16:00:46 +08:00
David de la Iglesia Castro fb11a23cfe
Show results in test api (#162)
* Initial support show in single_gpu_test

* Add result_show

* Add ori_filename meta_key

* test ori_filename

* Add show, show-dir, show-options
2021-02-25 16:00:22 +08:00
ftbabi bdd6b01ae7
[Feature] Add "mixup" from Bag of Tricks (#160)
* Add mixup option

* Modify the structure of mixup and add configs

* Clean configs

* Add test for mixup and SoftCrossEntropyLoss

* Add simple test for ImageClassifier

* Fix bug in test_losses.py

* Add assertion in CrossEntropyLoss
2021-02-25 14:06:58 +08:00
LXXXXR fc82c31b2f
fix RandomCrop and RandomResizedCrop (#151) 2021-01-25 20:28:16 +08:00
LXXXXR 07bb15e5fd
[Feature] Add heads and config for multilabel task (#145)
* resolve conflicts
add heads and config for multilabel tasks

* minor change

* remove evaluating mAP in head

* add baseline config

* add configs

* reserve only one config

* minor change

* fix minor bug

* minor change

* minor change

* add unittests and fix docstrings
2021-01-25 18:10:14 +08:00
LXXXXR 13c1210741
[Feature] Add thrs in eval_metrics (#146)
* support thr

* replace thrs with thr

* fix docstring

* minor change

* revise according to comments

* revised according to comments

* revise according to comments

* rewrite basedataset.evaluate to avoid duplicate calculation

* minor change

* change thr to thrs

* add more unit test
2021-01-25 17:54:22 +08:00
LXXXXR 8e990b5654
[Feature] Support support and class-wise evaluation results (#143)
* support support, support class-wise evaluation results and move eval_metrics.py

* Fix docstring

* change average to be non-optional

* revise according to comments

* add more unittest
2021-01-19 16:42:16 +08:00
LXXXXR 6916f33d56
[Feature] Add asymmetric loss for multilabel task (#132)
* add asymmetric loss

* minor change

* fix docstring

* do not apply sum over classes and fix docstring

* fix docstring

* fix weight shape

* fix weight shape

* add reference

* fix linkting issue

Co-authored-by: Y. Xiong <xiongyuxy@gmail.com>
2021-01-11 11:22:22 +08:00
LXXXXR c07e60dd7d
[Feature] Support PASCAL VOC 2007 dataset for multilabel task (#134)
* support voc

* minor change
2021-01-11 11:08:59 +08:00
LXXXXR 194ab7efda
[Feature] Add bce loss for multilabel task (#130)
* add bce loss for multilabel task

* minor change

* apply class wise sum

* fix docstring

* do not apply sum over classes and fix docstring

* fix docstring

* fix weight shape

* fix weight shape

* fix docstring

* fix linting issue

Co-authored-by: Y. Xiong <xiongyuxy@gmail.com>
2021-01-11 11:05:24 +08:00
LXXXXR 9578bfa0f1
[Feature] Add focal loss for multilabel task (#131)
* add focal loss

* apply class wise sum

* fix doctring

* do not apply sum over classes and fix docstring

* fix docstring

* fix weight shape

* fix weight shape
2021-01-08 20:44:23 +08:00
LXXXXR 1df10beaa1
Add evaluation metrics for multilabel task (#123)
* add mean_ap

* add difficult_examples in mAP to support dataset without difficult_examples

* fix docstring

* add CP,CR,CF1,OP,OR,OF1 as multilabel metrics

* fix docstring

* temporary solution to ci until new version of mmcv is avaliable (#127)

* temporary solution to ci until new version of mmcv is avaliable

* temporary solution to ci until new version of mmcv is avaliable

* add mean_ap

* add difficult_examples in mAP to support dataset without difficult_examples

* fix docstring

* add CP,CR,CF1,OP,OR,OF1 as multilabel metrics

* fix docstring

* Swap -1 and 0 for labels

* Revised according to comments

* Revised according to comments

* Revised according to comments

* Revert "Revised according to comments"
It is suggested that we should not include paper from arxiv.
This reverts commit 48a781cd6a.

* Revert "Revert "Revised according to comments""

This reverts commit 6d3b0f1a7b.

* Revert "Revised according to comments"
It is suggested we should not cite paper from arxiv.
This reverts commit 120ecda884.

* Revised according to comments

* revised according to comments

* Revised according to comments
2021-01-04 12:25:33 +08:00
LXXXXR 4203b94643
fix bug in eval_metrics (#122) 2020-12-23 16:20:47 +08:00
LXXXXR b1e91f256b
fix bug in recall and precision (#112) 2020-12-09 16:27:42 +08:00
LXXXXR 21fd5019fb
add macro-averaged precision,recall,f1 options in evaluation (#93)
* add macro-averaged precision,recall,f1 options in evaluation

* remove unnecessary comments

* Revise according to comments

* Revise according to comments
2020-11-25 16:13:54 +08:00
LXXXXR 7636409b3b
add get_class in base_dataset (#85)
* modify base_dataset

* revise according to the comments
2020-11-12 14:22:02 +08:00
David de la Iglesia Castro df2189c6f6
Add missing CLASSES argument to dataset wrappers (#66)
* Add missing classes in dataset wrappers

* Update tests
2020-10-15 21:25:53 +08:00
David de la Iglesia Castro 4f4f2957ef
Use build_runner (#54)
* Use build_runner in train api

* Support iter in eval_hook

* Add runner section

* Add test_eval_hook

* Pin mmcv version in install docs

* Replace max_iters with max_epochs

* Set by_epoch=True as default

* Remove trailing space

* Replace DeprecationWarning with UserWarning

* pre-commit

* Fix tests
2020-10-15 21:12:50 +08:00
Lei Yang bc1b08ba41
Add VGG and pretained models (#27)
* add vgg

* add vgg model coversion tool

* fix out_indices and docstr

* add vgg models in configs

* add params, flops and accuracy in docs

* add pretrained models url

* use ConvModule and refine var names

* update vgg conversion tool

* modify bn config

* add docs for arch_setting

* add unit test for vgg

* rm debug code

* update vgg pretrained models
2020-09-29 17:49:42 +08:00
David de la Iglesia Castro 99115fddbc
Add albumentations (#45)
* Add Albu transform

* pre-commit

* Create optional.txt

* Update requirements.txt

* Update transforms.py
2020-09-22 17:35:39 +08:00
Jerry Jiarui XU 8d3acce307
Add ResNeSt (#25)
* Add ResNeSt

* fixed test

* refactor

* add ResNeSt base

* update modelzoo

* update modelzoo

* Add S-200,S269 _base_
2020-09-22 10:41:51 +08:00
Lei Yang c905decddf
Resize according to short edge (#22)
* resize according to short edge

* revise doc for resize

* fix unitest for resize

* resize short_edge when second value of size is -1

* rename short_edge to short_side
2020-08-11 16:04:45 +08:00
yl-1993 0009591aa3 add unittest for backends 2020-08-05 16:53:35 +08:00
yanglei 9a661ef981 Add ResNet_CIFAR 2020-07-12 00:06:56 +08:00
yanglei 6968ad5b3b Add RandomFlip 2020-07-12 00:06:56 +08:00
lixiaojie 1d5f3d8c24 update shufflenet_v1 2020-07-12 00:06:55 +08:00
lixiaojie f6260b33bf Add RandomCrop, RandomResizedCrop, RandomGrayscale, impad 2020-07-12 00:06:55 +08:00
yanglei 910d13330a Add Resize and CenterCrop 2020-07-07 17:07:58 +08:00
yanglei 17092d8be4 Fix the mid_channels of SEResNeXt 2020-07-07 11:25:48 +08:00
yanglei f9b1f18f28 fix test_dataset 2020-07-06 00:43:22 +08:00
lixiaojie 046aa5c003 add shufflenet_v2 convert code 2020-07-03 19:21:18 +08:00
yanglei ba789da5c8 Add commonly used datasets 2020-07-01 16:09:06 +08:00
chenkai 91a43c5bac Add RegNet 2020-07-01 14:21:45 +08:00
louzan 03b75789c6 Dev mobilenetv3 2020-06-30 15:50:36 +08:00
chenkai 02e11cc1f3 Refactoring for ResNet family 2020-06-25 11:57:50 +08:00
yangmingmin 29e17ab326 Dev se resnext 2020-06-19 11:45:42 +08:00
yangmingmin f729a60f87 Dev se resnet 2020-06-17 14:20:20 +08:00
louzan deee5d61d7 add mobilenetv2 2020-06-16 14:37:03 +08:00
lixiaojie fcb1ad80e4 merge master 2020-06-16 00:49:55 +08:00
lixiaojie 425be621e0 fix unit test 2020-06-16 00:09:43 +08:00
lixiaojie 1112be1628 check assertion error 2020-06-16 00:07:04 +08:00
lixiaojie 66e9bb017d fix unit test 2020-06-16 00:03:45 +08:00
lixiaojie 8060e0f620 merge master 2020-06-15 20:54:52 +08:00
lixiaojie 1ce116a898 Merge branch 'master' of gitlab.sz.sensetime.com:open-mmlab/mmclassification into dev_shufflenetv1 2020-06-15 20:52:27 +08:00
lixiaojie edceab13e3 modify self.layers 2020-06-15 20:52:17 +08:00
qianchen 5662daeea8 Merge branch 'dev_shufflenetv1' into 'master'
add shufflenetv1

See merge request open-mmlab/mmclassification!10
2020-06-15 20:49:44 +08:00
lixiaojie 8249ad7205 merge master 2020-06-15 20:46:30 +08:00
lixiaojie cf85db0f7c Merge branch 'master' of gitlab.sz.sensetime.com:open-mmlab/mmclassification into dev_shufflenetv2 2020-06-15 20:42:22 +08:00
lixiaojie 703714b78e modify format of self.layers 2020-06-15 20:42:04 +08:00
wangshiguang a1da2013ad add pat ci image 2020-06-15 17:43:40 +08:00
lixiaojie 29975930f9 Dev/backbone utils 2020-06-15 16:42:15 +08:00
lixiaojie bb99ca5c66 fix grammar 2020-06-15 16:30:37 +08:00
lixiaojie 3bf971238a fix grammar 2020-06-15 16:29:36 +08:00
lixiaojie 62f65153f9 update shufflenet_v2.py 2020-06-15 15:15:19 +08:00
lixiaojie 58faa2381c fix norm_eval & merge master 2020-06-15 02:22:50 +08:00
lixiaojie 326df68bb3 fix norm_eval & merge master 2020-06-15 02:16:13 +08:00
yanglei 76f91510b3 Add ResNeXt 2020-06-14 12:08:37 +08:00
lixiaojie 85844a3a9e fix linting 2020-06-14 01:25:08 +08:00
lixiaojie fb3934fd2c fix norm_cfg&rewrite 2020-06-14 01:23:40 +08:00
lixiaojie e3e980d84e rewrite 2020-06-14 00:46:22 +08:00
lixiaojie 996f0a97e1 fix format 2020-06-12 18:07:53 +08:00
lixiaojie eebb7561bf merge mastewr 2020-06-12 16:49:28 +08:00
lixiaojie 75858a3d3e merge master 2020-06-12 16:16:28 +08:00
yanglei 3a65f4529e Add Base and ResNet backbone 2020-06-12 14:40:27 +08:00
lixiaojie 4d5c39d1ee fix linting 2020-06-11 16:40:26 +08:00
lixiaojie 72bbfbc489 use ConvModule/build_*_layer from mmcv & use *_cfg & add _freeze_stages 2020-06-11 15:55:17 +08:00
lixiaojie 05e5173b6b complete the docstring & import from mmcv & range check for frozen_stages and out_indices 2020-06-10 15:43:38 +08:00
lixiaojie 16b4efbe06 add unit test 2020-06-07 23:33:47 +08:00
lixiaojie 98f5b49ffe add unit test 2020-06-07 22:40:36 +08:00
lixiaojie 0def3a56b6 fix test 2020-06-05 15:52:22 +08:00
lixiaojie fa49911440 reformat 2020-06-04 02:42:53 +08:00
lixiaojie 0667136f05 update test 2020-06-04 02:22:53 +08:00
lixiaojie 83cc9fc279 fix flake8 2020-06-03 15:54:37 +08:00
lixiaojie 2aaff0e4f2 fix & add test 2020-06-03 15:51:17 +08:00