Skip to content

Releases: open-mmlab/mmpretrain

MMClassification Release V0.20.0

31 Jan 04:14
Compare
Choose a tag to compare

Tomorrow is the Chinese new year. Happy new year!

Highlights

  • Support K-fold cross-validation. The tutorial will be released later.
  • Support HRNet, ConvNeXt, Twins, and EfficientNet.
  • Support model conversion from PyTorch to Core-ML by a tool.

New Features

  • Support K-fold cross-validation. (#563)
  • Support HRNet and add pre-trained models. (#660)
  • Support ConvNeXt and add pre-trained models. (#670)
  • Support Twins and add pre-trained models. (#642)
  • Support EfficientNet and add pre-trained models.(#649)
  • Support features_only option in TIMMBackbone. (#668)
  • Add conversion script from pytorch to Core-ML model. (#597)

Improvements

  • New-style CPU training and inference. (#674)
  • Add setup multi-processing both in train and test. (#671)
  • Rewrite channel split operation in ShufflenetV2. (#632)
  • Deprecate the support for "python setup.py test". (#646)
  • Support single-label, softmax, custom eps by asymmetric loss. (#609)
  • Save class names in best checkpoint created by evaluation hook. (#641)

Bug Fixes

  • Fix potential unexcepted behaviors if metric_options is not specified in multi-label evaluation. (#647)
  • Fix API changes in pytorch-grad-cam>=1.3.7. (#656)
  • Fix bug which breaks cal_train_time in analyze_logs.py. (#662)

Docs Update

  • Update README in configs according to OpenMMLab standard. (#672)
  • Update installation guide and README. (#624)

Contributors

A total of 10 developers contributed to this release.

@Ezra-Yu @mzr1996 @rlleshi @WINDSKY45 @shinya7y @Minyus @0x4f5da2 @imyhxy @dreamer121121 @xiefeifeihu

MMClassification Release V0.19.0

31 Dec 04:59
7dfc9e4
Compare
Choose a tag to compare

Highlights

  • The feature extraction function has been enhanced. See #593 for more details.
  • Provide the high-acc ResNet-50 training settings from ResNet strikes back.
  • Reproduce the training accuracy of T2T-ViT & RegNetX, and provide self-training checkpoints.
  • Support DeiT & Conformer backbone and checkpoints.
  • Provide a CAM visualization tool based on pytorch-grad-cam, and detailed user guide!

New Features

  • Support Precise BN. (#401)
  • Add CAM visualization tool. (#577)
  • Repeated Aug and Sampler Registry. (#588)
  • Add DeiT backbone and checkpoints. (#576)
  • Support LAMB optimizer. (#591)
  • Implement the conformer backbone. (#494)
  • Add the frozen function for Swin Transformer model. (#574)
  • Support using checkpoint in Swin Transformer to save memory. (#557)

Improvements

  • [Reproduction] Reproduce RegNetX training accuracy. (#587)
  • [Reproduction] Reproduce training results of T2T-ViT. (#610)
  • [Enhance] Provide high-acc training settings of ResNet. (#572)
  • [Enhance] Set a random seed when the user does not set a seed. (#554)
  • [Enhance] Added NumClassCheckHook and unit tests. (#559)
  • [Enhance] Enhance feature extraction function. (#593)
  • [Enhance] Imporve efficiency of precision, recall, f1_score and support. (#595)
  • [Enhance] Improve accuracy calculation performance. (#592)
  • [Refactor] Refactor analysis_log.py. (#529)
  • [Refactor] Use new API of matplotlib to handle blocking input in visualization. (#568)
  • [CI] Cancel previous runs that are not completed. (#583)
  • [CI] Skip build CI if only configs or docs modification. (#575)

Bug Fixes

  • Fix test sampler bug. (#611)
  • Try to create a symbolic link, otherwise copy. (#580)
  • Fix a bug for multiple output in swin transformer. (#571)

Docs Update

  • Update mmcv, torch, cuda version in Dockerfile and docs. (#594)
  • Add analysis&misc docs. (#525)
  • Fix docs build dependency. (#584)

Contributors

A total of 6 developers contributed to this release.

@elopezz @Ezra-Yu @mzr1996 @0x4f5da2 @fangxu622 @okotaku

MMClassification Release V0.18.0

30 Nov 11:09
f6076bf
Compare
Choose a tag to compare

Highlights

  • Support MLP-Mixer backbone and provide pre-trained checkpoints.
  • Add a tool to visualize the learning rate curve of the training phase. Welcome to use with the tutorial!

New Features

  • Add MLP Mixer Backbone. (#528, #539)
  • Support positive weights in BCE. (#516)
  • Add a tool to visualize learning rate in each iterations. (#498)

Improvements

  • Use CircleCI to do unit tests. (#567)
  • Focal loss for single label tasks. (#548)
  • Remove useless import_modules_from_string. (#544)
  • Rename config files according to the config name standard. (#508)
  • Use reset_classifier to remove head of timm backbones. (#534)
  • Support passing arguments to loss from head. (#523)
  • Refactor Resize transform and add Pad transform. (#506)
  • Update mmcv dependency version. (#509)

Bug Fixes

  • Fix bug when using ClassBalancedDataset. (#555)
  • Fix a bug when using iter-based runner with 'val' workflow. (#542)
  • Fix interpolation method checking in Resize. (#547)
  • Fix a bug when load checkpoints in mulit-GPUs environment. (#527)
  • Fix an error on indexing scalar metrics in analyze_result.py. (#518)
  • Fix wrong condition judgment in analyze_logs.py and prevent empty curve. (#510)

Docs Update

  • Fix vit config and model broken links. (#564)
  • Add abstract and image for every paper. (#546)
  • Add mmflow and mim in banner and readme. (#543)
  • Add schedule and runtime tutorial docs. (#499)
  • Add the top-5 acc in ResNet-CIFAR README. (#531)
  • Fix TOC of visualization.md and add example images. (#513)
  • Use docs link of other projects and add MMCV docs. (#511)

Contributors

A total of 9 developers contributed to this release.

@Ezra-Yu @LeoXing1996 @mzr1996 @0x4f5da2 @huoshuai-dot @imyhxy @juanjompz @okotaku @xcnick

MMClassification Release V0.17.0

29 Oct 06:08
72cffac
Compare
Choose a tag to compare

Highlights

  • Support Tokens-to-Token ViT backbone and Res2Net backbone. Welcome to use!
  • Support ImageNet21k dataset.
  • Add a pipeline visualization tool. Try it with the tutorials!

New Features

  • Add Tokens-to-Token ViT backbone and converted checkpoints. (#467)
  • Add Res2Net backbone and converted weights. (#465)
  • Support ImageNet21k dataset. (#461)
  • Support seesaw loss. (#500)
  • Add a pipeline visualization tool. (#406)
  • Add a tool to find broken files. (#482)
  • Add a tool to test TorchServe. (#468)

Improvements

  • Refator Vision Transformer. (#395)
  • Use context manager to reuse matplotlib figures. (#432)

Bug Fixes

  • Remove DistSamplerSeedHook if use IterBasedRunner. (#501)
  • Set the priority of EvalHook to "LOW" to avoid a bug when using IterBasedRunner. (#488)
  • Fix a wrong parameter of get_root_logger in apis/train.py. (#486)
  • Fix version check in dataset builder. (#474)

Docs Update

  • Add English Colab tutorials and update Chinese Colab tutorials. (#483, #497)
  • Add tutuorial for config files. (#487)
  • Add model-pages in Model Zoo. (#480)
  • Add code-spell pre-commit hook and fix a large mount of typos. (#470)

Contributors

A total of 6 developers contributed to this release.

@mzr1996 @Ezra-Yu @tansor @youqingxiaozhua @0x4f5da2 @okotaku

MMClassification Release V0.16.0

30 Sep 05:18
8308636
Compare
Choose a tag to compare

Highlights

  • We have improved compatibility with downstream repositories like MMDetection and MMSegmentation. We will add some examples about how to use our backbones in MMDetection.
  • Add RepVGG backbone and checkpoints. Welcome to use it!
  • Add timm backbones wrapper, now you can simply use backbones of pytorch-image-models in MMClassification!

New Features

  • Add RepVGG backbone and checkpoints. (#414)
  • Add timm backbones wrapper. (#427)

Improvements

  • Fix TnT compatibility and verbose warning. (#436)
  • Support setting --out-items in tools/test.py. (#437)
  • Add datetime info and saving model using torch<1.6 format. (#439)
  • Improve downstream repositories compatibility. (#421)
  • Rename the option --options to --cfg-options in some tools. (#425)
  • Add PyTorch 1.9 and Python 3.9 build workflow, and remove some CI. (#422)

Bug Fixes

  • Fix format error in test.py when metric returns np.ndarray. (#441)
  • Fix publish_model bug if no parent of out_file. (#463)
  • Fix num_classes bug in pytorch2onnx.py. (#458)
  • Fix missing runtime requirement packaging. (#459)
  • Fix saving simplified model bug in ONNX export tool. (#438)

Docs Update

  • Update getting_started.md and install.md. And rewrite finetune.md. (#466)
  • Use PyTorch style docs theme. (#457)
  • Update metafile and Readme. (#435)
  • Add CITATION.cff. (#428)

Contributors

A total of 8 developers contributed to this release.
@Charlyo @Ezra-Yu @mzr1996 @amirassov @RangiLyu @zhaoxin111 @uniyushu @zhangrui-wolf

MMClassification Release V0.15.0

31 Aug 06:39
a41cb2f
Compare
Choose a tag to compare

Highlights

  • Support hparams argument in AutoAugment and RandAugment to provide hyperparameters for sub-policies.
  • Support custom squeeze channels in SELayer.
  • Support classwise weight in losses.

New Features

  • Add hparams argument in AutoAugment and RandAugment and some other improvement. (#398)
  • Support classwise weight in losses (#388)
  • Enhence SELayer to support custom squeeze channels. (#417)

Code Refactor

  • Better result visualization (#419)
  • Use post_process function to handle pred result processing. (#390)
  • Update digit_version function. (#402)
  • Avoid albumentations to install both opencv and opencv-headless. (#397)
  • Avoid unnecessary listdir when building ImageNet. (#396)
  • Use dynamic mmcv download link in TorchServe dockerfile. (#387)

Docs Improvement

  • Add readme of some algorithms and update meta yml (#418)
  • Add Copyright information. (#413)
  • Add PR template and modify issue template (#380)

Contributors

A total of 5 developers contributed to this release.
@azad96 @Ezra-Yu @mzr1996 @mmeendez8 @sovrasov

MMClassification Release V0.14.0

04 Aug 05:35
ade7b80
Compare
Choose a tag to compare

Highlights

  • Add transformer-in-transformer backbone and pretrain checkpoints, refers to the paper.
  • Add Chinese colab tutorial.
  • Provide dockerfile to build mmcls dev docker image.

New Features

  • Add transformer in transformer backbone and pretrain checkpoints. (#339)
  • Support mim, welcome to use mim to manage your mmcls project. (#376)
  • Add Dockerfile. (#365)
  • Add ResNeSt configs. (#332)

Improvements

  • Use the presistent_works option if available, to accelerate training. (#349)
  • Add Chinese ipynb tutorial. (#306)
  • Refactor unit tests. (#321)
  • Support to test mmdet inference with mmcls backbone. (#343)
  • Use zero as default value of thrs in metrics. (#341)

Bug Fixes

  • Fix ImageNet dataset annotation file parse bug. (#370)
  • Fix docstring typo and init bug in ShuffleNetV1. (#374)
  • Use local ATTENTION registry to avoid conflict with other repositories. (#376)
  • Fix swin transformer config bug. (#355)
  • Fix patch_cfg argument bug in SwinTransformer. (#368)
  • Fix duplicate init_weights call in ViT init function. (#373)
  • Fix broken _base_ link in a resnet config. (#361)
  • Fix vgg-19 model link missing. (#363)

Contributors

A total of 8 developers contributed to this release.

@Ezra-Yu, @HIT-cwh, @Junjun2016, @LXXXXR, @mzr1996, @pvys, @wangruohui, @ZwwWayne

MMClassification Release V0.13.0

05 Jul 02:22
2ccc55c
Compare
Choose a tag to compare

New Features

  • Support Swin-Transformer backbone and add training configs for Swin-Transformer on ImageNet. (#271)
  • Add pretrained model of RegNetX. (#269)
  • Support adding custom hooks in the config file. (#305)
  • Improve and add Chinese translation of CONTRIBUTING.md and all tools tutorials. (#320)
  • Dump config before training. (#282)
  • Add torchscript and torchserve deployment tools. (#279, #284)

Improvements

  • Improve test tools and add some new tools. (#322)
  • Correct MobilenetV3 backbone structure and add pretained models. (#291)
  • Refactor PatchEmbed and HybridEmbed as independent components. (#330)
  • Refactor mixup and cutmix as Augments to support more funtions. (#278)
  • Refactor weights initialization method. (#270, #318, #319)
  • Refactor LabelSmoothLoss to support multiple calculation formulas. (#285)

Bug Fixes

  • Fix bug for CPU training. (#286)
  • Fix missing test data when num_imgs can not be evenly divided by num_gpus. (#299)
  • Fix build compatible with pytorch v1.3-1.5. (#301)
  • Fix magnitude_std bug in RandAugment. (#309)
  • Fix bug when samples_per_gpu is 1. (#311)

MMClassification Release V0.12.0

03 Jun 03:44
27a49a9
Compare
Choose a tag to compare

New Features

  • Improve and add Chinese translation of data_pipeline.md and new_modules.md. (#265)
  • Build Chinese translation on readthedocs. (#267)
  • Add an argument efficientnet_style to RandomResizedCrop and CenterCrop. (#268)

Improvements

  • Only allow directory operation when rank==0 when testing. (#258)
  • Fix typo in base_head. (#274)
  • Update ResNeXt checkpoints. (#283)

Bug Fixes

  • Add attribute data.test in MNIST configs. (#264)
  • Download CIFAR/MNIST dataset only on rank 0. (#273)
  • Fix MMCV version compatibility. (#276)
  • Fix CIFAR color channels bug and update checkpoints in model zoo. (#280)

MMClassification Release V0.11.1

21 May 08:48
dac0901
Compare
Choose a tag to compare

New Features

  • Add dim argument for GlobalAveragePooling. (#236)
  • Add random noise to RandAugment magnitude. (#240)
  • Refine new_dataset.md and add Chinese translation of finture.md, new_dataset.md. (#243)

Improvements

  • Refactor arguments passing for Heads. (#239)
  • Allow more flexible magnitude_range in RandAugment. (#249)
  • Inherits MMCV registry so that in the future OpenMMLab repos like MMDet and MMSeg could directly use the backbones supported in MMCls. (#252)

Bug Fixes

  • Fix typo in analyze_results.py. (#237)
  • Fix typo in unittests. (#238)
  • Check if specified tmpdir exists when testing to avoid deleting existing data. (#242; #258)
  • Add missing config files in MANIFEST.in. (#250; #255)
  • Use temporary directory under shared directory to collect results to avoid unavailability of temporary directory for multi-node testing. (#251)