- Support mmcls with NPU backend. (#1072)
- Fix performance issue in convnext DDP train. (#1098)
- Support HorNet, EfficientFormerm, SwinTransformer V2 and MViT backbones.
- Support Standford Cars dataset.
- Support HorNet Backbone. (#1013)
- Support EfficientFormer. (#954)
- Support Stanford Cars dataset. (#893)
- Support CSRA head. (#881)
- Support Swin Transform V2. (#799)
- Support MViT and add checkpoints. (#924)
- [Improve] replace loop of progressbar in api/test. (#878)
- [Enhance] RepVGG for YOLOX-PAI. (#1025)
- [Enhancement] Update VAN. (#1017)
- [Refactor] Re-write
get_sinusoid_encoding
from third-party implementation. (#965) - [Improve] Upgrade onnxsim to v0.4.0. (#915)
- [Improve] Fixed typo in
RepVGG
. (#985) - [Improve] Using
train_step
instead offorward
in PreciseBNHook (#964) - [Improve] Use
forward_dummy
to calculate FLOPS. (#953)
- Fix warning with
torch.meshgrid
. (#860) - Add matplotlib minimum version requriments. (#909)
- val loader should not drop last by default. (#857)
- Fix config.device bug in toturial. (#1059)
- Fix attenstion clamp max params (#1034)
- Fix device mismatch in Swin-v2. (#976)
- Fix the output position of Swin-Transformer. (#947)
- Fix typo in config.md. (#827)
- Add version for torchvision to avoide error. (#903)
- Fixed typo for
--out-dir
option of analyze_results.py. (#898) - Refine the docstring of RegNet (#935)
- Support MPS device. (#894)
- Fix a bug in Albu which caused crashing. (#918)
- Dedicated MMClsWandbHook for MMClassification (Weights and Biases Integration) (#764)
- Use mdformat instead of markdownlint to format markdown. (#844)
- Fix wrong
--local_rank
.
- Support training on IPU and add fine-tuning configs of ViT. (#723)
- [Feature] Support resize relative position embedding in
SwinTransformer
. (#749) - [Feature] Add PoolFormer backbone and checkpoints. (#746)
- [Enhance] Improve CPE performance by reduce memory copy. (#762)
- [Enhance] Add extra dataloader settings in configs. (#752)
- Support a series of CSP Network, such as CSP-ResNet, CSP-ResNeXt and CSP-DarkNet.
- A new
CustomDataset
class to help you build dataset of yourself! - Support ConvMixer, RepMLP and new dataset - CUB dataset.
- [Feature] Add CSPNet and backbone and checkpoints (#735)
- [Feature] Add
CustomDataset
. (#738) - [Feature] Add diff seeds to diff ranks. (#744)
- [Feature] Support ConvMixer. (#716)
- [Feature] Our
dist_train
&dist_test
tools support distributed training on multiple machines. (#734) - [Feature] Add RepMLP backbone and checkpoints. (#709)
- [Feature] Support CUB dataset. (#703)
- [Feature] Support ResizeMix. (#676)
- [Enhance] Use
--a-b
instead of--a_b
in arguments. (#754) - [Enhance] Add
get_cat_ids
andget_gt_labels
to KFoldDataset. (#721) - [Enhance] Set torch seed in
worker_init_fn
. (#733)
- [Fix] Fix the discontiguous output feature map of ConvNeXt. (#743)
- [Docs] Add brief installation steps in README for copy&paste. (#755)
- [Docs] fix logo url link from mmocr to mmcls. (#732)
- Support ResNetV1c and Wide-ResNet, and provide pre-trained models.
- Support dynamic input shape for ViT-based algorithms. Now our ViT, DeiT, Swin-Transformer and T2T-ViT support forwarding with any input shape.
- Reproduce training results of DeiT. And our DeiT-T and DeiT-S have higher accuracy comparing with the official weights.
- Reproduce training results of DeiT. (#711)
- Add ConvNeXt pretrain models on ImageNet-1k. (#707)
- Support dynamic input shape for ViT-based algorithms. (#706)
- Add
evaluate
function for ConcatDataset. (#650) - Enhance vis-pipeline tool. (#604)
- Return code 1 if scripts runs failed. (#694)
- Use PyTorch official
one_hot
to implementconvert_to_one_hot
. (#696) - Add a new pre-commit-hook to automatically add a copyright. (#710)
- Add deprecation message for deploy tools. (#697)
- Upgrade isort pre-commit hooks. (#687)
- Use
--gpu-id
instead of--gpu-ids
in non-distributed multi-gpu training/testing. (#688) - Remove deprecation. (#633)
- Fix Conformer forward with irregular input size. (#686)
- Add
dist.barrier
to fix a bug in directory checking. (#666)
- Fix the MMCV dependency version.
- 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.
- 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)
- 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)
- 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)
- Update README in configs according to OpenMMLab standard. (#672)
- Update installation guide and README. (#624)
- 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!
- 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)
- [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] Improve 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)
- Fix test sampler bug. (#611)
- Try to create a symbolic link, otherwise copy. (#580)
- Fix a bug for multiple output in swin transformer. (#571)
- Update mmcv, torch, cuda version in Dockerfile and docs. (#594)
- Add analysis&misc docs. (#525)
- Fix docs build dependency. (#584)
- 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!
- Add MLP Mixer Backbone. (#528, #539)
- Support positive weights in BCE. (#516)
- Add a tool to visualize learning rate in each iterations. (#498)
- 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)
- 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)
- 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)
- 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!
- 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)
- 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)
- 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)
- 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!
- 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)
- 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)
- 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)
- Support
hparams
argument inAutoAugment
andRandAugment
to provide hyperparameters for sub-policies. - Support custom squeeze channels in
SELayer
. - Support classwise weight in losses.
- Add
hparams
argument inAutoAugment
andRandAugment
and some other improvement. (#398) - Support classwise weight in losses. (#388)
- Enhance
SELayer
to support custom squeeze channels. (#417)
- 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)
- Add readme of some algorithms and update meta yml. (#418)
- Add Copyright information. (#413)
- Fix typo 'metirc'. (#411)
- Update QQ group QR code. (#393)
- Add PR template and modify issue template. (#380)
- Add transformer-in-transformer backbone and pretrain checkpoints, refers to the paper.
- Add Chinese colab tutorial.
- Provide dockerfile to build mmcls dev docker image.
- 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)
- 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)
- 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)
- Support Swin-Transformer backbone and add training configs for Swin-Transformer on ImageNet.
- Support Swin-Transformer backbone and add training configs for Swin-Transformer on ImageNet. (#271)
- Add pretained model of RegNetX. (#269)
- Support adding custom hooks in 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)
- 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 functions. (#278) - Refactor weights initialization method. (#270, #318, #319)
- Refactor
LabelSmoothLoss
to support multiple calculation formulas. (#285)
- Fix bug for CPU training. (#286)
- Fix missing test data when
num_imgs
can not be evenly divided bynum_gpus
. (#299) - Fix build compatible with pytorch v1.3-1.5. (#301)
- Fix
magnitude_std
bug inRandAugment
. (#309) - Fix bug when
samples_per_gpu
is 1. (#311)
- Finish adding Chinese tutorials and build Chinese documentation on readthedocs.
- Update ResNeXt checkpoints and ResNet checkpoints on CIFAR.
- 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)
- Only allow directory operation when rank==0 when testing. (#258)
- Fix typo in
base_head
. (#274) - Update ResNeXt checkpoints. (#283)
- 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)
- Refine
new_dataset.md
and add Chinese translation offinture.md
,new_dataset.md
.
- 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)
- 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)
- 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)
- Support cutmix trick.
- Support random augmentation.
- Add
tools/deployment/test.py
as a ONNX runtime test tool. - Support ViT backbone and add training configs for ViT on ImageNet.
- Add Chinese
README.md
and some Chinese tutorials.
- Support cutmix trick. (#198)
- Add
simplify
option inpytorch2onnx.py
. (#200) - Support random augmentation. (#201)
- Add config and checkpoint for training ResNet on CIFAR-100. (#208)
- Add
tools/deployment/test.py
as a ONNX runtime test tool. (#212) - Support ViT backbone and add training configs for ViT on ImageNet. (#214)
- Add finetuning configs for ViT on ImageNet. (#217)
- Add
device
option to support training on CPU. (#219) - Add Chinese
README.md
and some Chinese tutorials. (#221) - Add
metafile.yml
in configs to support interaction with paper with code(PWC) and MMCLI. (#225) - Upload configs and converted checkpoints for ViT fintuning on ImageNet. (#230)
- Fix
LabelSmoothLoss
so that label smoothing and mixup could be enabled at the same time. (#203) - Add
cal_acc
option inClsHead
. (#206) - Check
CLASSES
in checkpoint to avoid unexpected key error. (#207) - Check mmcv version when importing mmcls to ensure compatibility. (#209)
- Update
CONTRIBUTING.md
to align with that in MMCV. (#210) - Change tags to html comments in configs README.md. (#226)
- Clean codes in ViT backbone. (#227)
- Reformat
pytorch2onnx.md
tutorial. (#229) - Update
setup.py
to support MMCLI. (#232)
- Fix missing
cutmix_prob
in ViT configs. (#220) - Fix backend for resize in ResNeXt configs. (#222)
- Support AutoAugmentation
- Add tutorials for installation and usage.
- Add
Rotate
pipeline for data augmentation. (#167) - Add
Invert
pipeline for data augmentation. (#168) - Add
Color
pipeline for data augmentation. (#171) - Add
Solarize
andPosterize
pipeline for data augmentation. (#172) - Support fp16 training. (#178)
- Add tutorials for installation and basic usage of MMClassification.(#176)
- Support
AutoAugmentation
,AutoContrast
,Equalize
,Contrast
,Brightness
andSharpness
pipelines for data augmentation. (#179)
- Support dynamic shape export to onnx. (#175)
- Release training configs and update model zoo for fp16 (#184)
- Use MMCV's EvalHook in MMClassification (#182)
- Fix wrong naming in vgg config (#181)
- Implement mixup trick.
- Add a new tool to create TensorRT engine from ONNX, run inference and verify outputs in Python.
- Implement mixup and provide configs of training ResNet50 using mixup. (#160)
- Add
Shear
pipeline for data augmentation. (#163) - Add
Translate
pipeline for data augmentation. (#165) - Add
tools/onnx2tensorrt.py
as a tool to create TensorRT engine from ONNX, run inference and verify outputs in Python. (#153)
- Add
--eval-options
intools/test.py
to support eval options override, matching the behavior of other open-mmlab projects. (#158) - Support showing and saving painted results in
mmcls.apis.test
andtools/test.py
, matching the behavior of other open-mmlab projects. (#162)
- Fix configs for VGG, replace checkpoints converted from other repos with the ones trained by ourselves and upload the missing logs in the model zoo. (#161)
- Support multi-label task.
- Support more flexible metrics settings.
- Fix bugs.
- Add evaluation metrics: mAP, CP, CR, CF1, OP, OR, OF1 for multi-label task. (#123)
- Add BCE loss for multi-label task. (#130)
- Add focal loss for multi-label task. (#131)
- Support PASCAL VOC 2007 dataset for multi-label task. (#134)
- Add asymmetric loss for multi-label task. (#132)
- Add analyze_results.py to select images for success/fail demonstration. (#142)
- Support new metric that calculates the total number of occurrences of each label. (#143)
- Support class-wise evaluation results. (#143)
- Add thresholds in eval_metrics. (#146)
- Add heads and a baseline config for multilabel task. (#145)
- Remove the models with 0 checkpoint and ignore the repeated papers when counting papers to gain more accurate model statistics. (#135)
- Add tags in README.md. (#137)
- Fix optional issues in docstring. (#138)
- Update stat.py to classify papers. (#139)
- Fix mismatched columns in README.md. (#150)
- Fix test.py to support more evaluation metrics. (#155)
- Fix bug in VGG weight_init. (#140)
- Fix bug in 2 ResNet configs in which outdated heads were used. (#147)
- Fix bug of misordered height and width in
RandomCrop
andRandomResizedCrop
. (#151) - Fix missing
meta_keys
inCollect
. (#149 & #152)
- Add more evaluation metrics.
- Fix bugs.
- Remove installation of MMCV from requirements. (#90)
- Add 3 evaluation metrics: precision, recall and F-1 score. (#93)
- Allow config override during testing and inference with
--options
. (#91 & #96)
- Use
build_runner
to make runners more flexible. (#54) - Support to get category ids in
BaseDataset
. (#72) - Allow
CLASSES
override duringBaseDateset
initialization. (#85) - Allow input image as ndarray during inference. (#87)
- Optimize MNIST config. (#98)
- Add config links in model zoo documentation. (#99)
- Use functions from MMCV to collect environment. (#103)
- Refactor config files so that they are now categorized by methods. (#116)
- Add README in config directory. (#117)
- Add model statistics. (#119)
- Refactor documentation in consistency with other MM repositories. (#126)
- Add missing
CLASSES
argument to dataset wrappers. (#66) - Fix slurm evaluation error during training. (#69)
- Resolve error caused by shape in
Accuracy
. (#104) - Fix bug caused by extremely insufficient data in distributed sampler.(#108)
- Fix bug in
gpu_ids
in distributed training. (#107) - Fix bug caused by extremely insufficient data in collect results during testing (#114)
- Support new method: ResNeSt and VGG.
- Support new dataset: CIFAR10.
- Provide new tools to do model inference, model conversion from pytorch to onnx.
- Add model inference. (#16)
- Add pytorch2onnx. (#20)
- Add PIL backend for transform
Resize
. (#21) - Add ResNeSt. (#25)
- Add VGG and its pretained models. (#27)
- Add CIFAR10 configs and models. (#38)
- Add albumentations transforms. (#45)
- Visualize results on image demo. (#58)
- Replace urlretrieve with urlopen in dataset.utils. (#13)
- Resize image according to its short edge. (#22)
- Update ShuffleNet config. (#31)
- Update pre-trained models for shufflenet_v2, shufflenet_v1, se-resnet50, se-resnet101. (#33)
- Fix init_weights in
shufflenet_v2.py
. (#29) - Fix the parameter
size
in test_pipeline. (#30) - Fix the parameter in cosine lr schedule. (#32)
- Fix the convert tools for mobilenet_v2. (#34)
- Fix crash in CenterCrop transform when image is greyscale (#40)
- Fix outdated configs. (#53)