Package: openmixup
OpenMixup📘Documentation|🛠️Installation|🚀Model Zoo|👀Awesome Mixup|🔍Awesome MIM|🆕NewsIntroductionThe main branch works withPyTorch 1.8(required by some self-supervised methods) or higher (we recommendPyTorch 1.12). You can still usePyTorch 1.6for supervised classification methods.OpenMixupis an open-source toolbox for supervised, self-, and semi-supervised visual representation learning with mixup based on PyTorch, especially for mixup-related methods.Major FeaturesModular Design.OpenMixup follows a similar code architecture of OpenMMLab projects, which decompose the framework into various components, and users can easily build a customized model by combining different modules. OpenMixup is also transplantable to OpenMMLab projects (e.g.,MMSelfSup).All in One.OpenMixup provides popular backbones, mixup methods, semi-supervised, and self-supervised algorithms. Users can perform image classification (CNN & Transformer) and self-supervised pre-training (contrastive and autoregressive) under the same framework.Standard Benchmarks.OpenMixup supports standard benchmarks of image classification, mixup classification, self-supervised evaluation, and provides smooth evaluation on downstream tasks with open-source projects (e.g., object detection and segmentation onDetectron2andMMSegmentation).State-of-the-art Methods.Openmixup provides awesome lists of popular mixup and self-supervised methods. OpenMixup is updating to support more state-of-the-art image classification and self-supervised methods.Table of ContentsIntroductionNews and UpdatesInstallationGetting StartedOverview of Model ZooChange LogLicenseAcknowledgementContributorsContributors and ContactNews and Updates[2022-12-16]OpenMixupv0.2.7 is released (issue#35).[2022-12-02] Update new features and documents ofOpenMixupv0.2.6 (issue#24, issue#25, issue#31, and issue#33). Update the official implementation ofMogaNet.[2022-09-14]OpenMixupv0.2.6 is released (issue#20).InstallationThere are quick installation steps for development:condacreate-nopenmixuppython=3.8pytorch=1.12cudatoolkit=11.3torchvision-cpytorch-y
condaactivateopenmixup
pipinstallopenmim
miminstallmmcv-full
gitclonehttps://github.com/Westlake-AI/openmixup.gitcdopenmixup
pythonsetup.pydevelopPlease refer toinstall.mdfor more detailed installation and dataset preparation.Getting StartedPlease seeget_started.mdfor the basic usage of OpenMixup. You can start a multiple GPUs training withCONFIG_FILEusing the following script. An example,bashtools/dist_train.sh${CONFIG_FILE}${GPUS}[optionalarguments]Please then, seeTutorialsfor more tech details:config filesadd new datasetdata pipelineadd new modulescustomize schedulescustomize runtimebenchmarks(back to top)Overview of Model ZooPlease refer toModel Zoosfor various backbones, mixup methods, and self-supervised algorithms. We also provide the paper lists ofAwesome Mixupsfor your reference. Checkpoints and training logs will be updated soon!Backbone architectures for supervised image classification on ImageNet.Currently supported backbonesAlexNet(NIPS'2012) [config]VGG(ICLR'2015) [config]InceptionV3(CVPR'2016) [config]ResNet(CVPR'2016) [config]ResNeXt(CVPR'2017) [config]SE-ResNet(CVPR'2018) [config]SE-ResNeXt(CVPR'2018) [config]ShuffleNetV1(CVPR'2018)ShuffleNetV2(ECCV'2018) [config]MobileNetV2(CVPR'2018) [config]MobileNetV3(ICCV'2019)EfficientNet(ICML'2019) [config]Res2Net(ArXiv'2019) [config]RegNet(CVPR'2020) [config]Vision-Transformer(ICLR'2021) [config]Swin-Transformer(ICCV'2021) [config]PVT(ICCV'2021) [config]T2T-ViT(ICCV'2021) [config]RepVGG(CVPR'2021) [config]DeiT(ICML'2021) [config]MLP-Mixer(NIPS'2021) [config]Twins(NIPS'2021) [config]ConvMixer(Openreview'2021) [config]UniFormer(ICLR'2022) [config]PoolFormer(CVPR'2022) [config]ConvNeXt(CVPR'2022) [config]MViTV2(CVPR'2022) [config]RepMLP(CVPR'2022) [config]VAN(ArXiv'2022) [config]DeiT-3(ECCV'2022) [config]LITv2(NIPS'2022) [config]HorNet(NIPS'2022) [config]EdgeNeXt(ECCVW'2022) [config]EfficientFormer(ArXiv'2022) [config]MogaNet(ArXiv'2022) [config]Mixup methods for supervised image classification.Currently supported mixup methodsMixup(ICLR'2018) [config]CutMix(ICCV'2019) [config]ManifoldMix(ICML'2019) [config]FMix(ArXiv'2020) [config]AttentiveMix(ICASSP'2020) [config]SmoothMix(CVPRW'2020) [config]SaliencyMix(ICLR'2021) [config]PuzzleMix(ICML'2020) [config]GridMix(Pattern Recognition'2021) [config]ResizeMix(ArXiv'2020) [config]AlignMix(CVPR'2022) [config]AutoMix(ECCV'2022) [config]SAMix(ArXiv'2021) [config]DecoupleMix(ArXiv'2022) [config]Currently supported datasets for mixupsImageNet[download] [config]CIFAR-10[download] [config]CIFAR-100[download] [config]Tiny-ImageNet[download] [config]CUB-200-2011[download] [config]FGVC-Aircraft[download] [config]StandfoldCars[download]Places205[download] [config]iNaturalist-2017[download] [config]iNaturalist-2018[download] [config]Self-supervised algorithms for visual representation learning.Currently supported self-supervised algorithmsRelative Location(ICCV'2015) [config]Rotation Prediction(ICLR'2018) [config]DeepCluster(ECCV'2018) [config]NPID(CVPR'2018) [config]ODC(CVPR'2020) [config]MoCov1(CVPR'2020) [config]SimCLR(ICML'2020) [config]MoCoV2(ArXiv'2020) [config]BYOL(NIPS'2020) [config]SwAV(NIPS'2020) [config]DenseCL(CVPR'2021) [config]SimSiam(CVPR'2021) [config]Barlow Twins(ICML'2021) [config]MoCoV3(ICCV'2021) [config]BEiT(ICLR'2022) [configMAE(CVPR'2022) [config]SimMIM(CVPR'2022) [config]MaskFeat(CVPR'2022) [config]CAE(ArXiv'2022) [config]A2MIM(ArXiv'2022) [config](back to top)Change LogPlease refer tochangelog.mdfor details and release history.LicenseThis project is released under theApache 2.0 license.AcknowledgementOpenMixup is an open-source project for mixup methods created by researchers inCAIRI AI Lab. We encourage researchers interested in visual representation learning and mixup methods to contribute to OpenMixup!This repo borrows the architecture design and part of the code fromMMSelfSupandMMClassification.CitationIf you find this project useful in your research, please consider star our GitHub repo and citetech report:@misc{2022openmixup,title={{OpenMixup}: Open Mixup Toolbox and Benchmark for Visual Representation Learning},author={Siyuan Li and Zicheng Liu and Zedong Wang and Di Wu and Stan Z. Li},journal={GitHub repository},howpublished={\url{https://github.com/Westlake-AI/openmixup}},year={2022}}@article{li2022openmixup,title={OpenMixup: Open Mixup Toolbox and Benchmark for Visual Representation Learning},author={Siyuan Li and Zedong Wang and Zicheng Liu and Di Wu and Stan Z. Li},journal={ArXiv},year={2022},volume={abs/2209.04851}}Contributors and ContactFor help, new features, or reporting bugs associated with OpenMixup, please open aGitHub issueandpull request. For now, the direct contributors include: Siyuan Li (@Lupin1998), Zedong Wang (@Jacky1128), and Zicheng Liu (@pone7). We thank all public contributors and contributors from MMSelfSup and MMClassification!This repo is currently maintained by:Siyuan Li (lisiyuan@westlake.edu.cn), Westlake UniversityZedong Wang (wangzedong@westlake.edu.cn), Westlake UniversityZicheng Liu (liuzicheng@westlake.edu.cn), Westlake University(back to top)