Releases: open-mmlab/mmpretrain
MMClassification Release V0.20.0
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 inTIMMBackbone
. (#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
inanalyze_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
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.
MMClassification Release V0.18.0
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 addPad
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
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
Bug Fixes
- Remove
DistSamplerSeedHook
if useIterBasedRunner
. (#501) - Set the priority of
EvalHook
to "LOW" to avoid a bug when usingIterBasedRunner
. (#488) - Fix a wrong parameter of
get_root_logger
inapis/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
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
Improvements
- Fix TnT compatibility and verbose warning. (#436)
- Support setting
--out-items
intools/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 returnsnp.ndarray
. (#441) - Fix
publish_model
bug if no parent ofout_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
andinstall.md
. And rewritefinetune.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
Highlights
- Support
hparams
argument inAutoAugment
andRandAugment
to provide hyperparameters for sub-policies. - Support custom squeeze channels in
SELayer
. - Support classwise weight in losses.
New Features
- Add
hparams
argument inAutoAugment
andRandAugment
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
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
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
andHybridEmbed
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
MMClassification Release V0.12.0
New Features
- Improve and add Chinese translation of
data_pipeline.md
andnew_modules.md
. (#265) - Build Chinese translation on readthedocs. (#267)
- Add an argument efficientnet_style to
RandomResizedCrop
andCenterCrop
. (#268)
Improvements
- Only allow directory operation when rank==0 when testing. (#258)
- Fix typo in
base_head
. (#274) - Update ResNeXt checkpoints. (#283)
Bug Fixes
MMClassification Release V0.11.1
New Features
- Add
dim
argument forGlobalAveragePooling
. (#236) - Add random noise to
RandAugment
magnitude. (#240) - Refine
new_dataset.md
and add Chinese translation offinture.md
,new_dataset.md
. (#243)
Improvements
- Refactor arguments passing for Heads. (#239)
- Allow more flexible
magnitude_range
inRandAugment
. (#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)