MCPcopy Index your code
hub / github.com/Westlake-AI/openmixup

github.com/Westlake-AI/openmixup @V0.2.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release V0.2.3 ↗ · + Follow
1,787 symbols 5,390 edges 863 files 739 documented · 41%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

OpenMixup

News * OpenMixup v0.2.3 is released, which supports new self-supervised and mixup methods (e.g., A2MIM) and backbones (UniFormer), update the online document and config files, and adds new features as #6. * OpenMixup v0.2.2 is released, which supports new self-supervised methods (BarlowTwins, SimMIM, etc.), backbones (ConvMixer, MLPMixer, VAN, etc.), and losses as #5. * OpenMixup v0.2.1 is released, which supports new methods as #4 (bugs fixed). * OpenMixup v0.2.0 is released, which supports new features as #3. We have reorganized configs and fixed bugs. * OpenMixup v0.1.3 is released (finished code refactoring and fixed bugs), which steadily supports ViTs, self-supervised methods (e.g., MoCo.V3 and MAE), and online analysis (kNN metric and visualization). It requires the rebuilding of OpenMixup (install mmcv-full to support ViTs). More results are provided in Model Zoos. * OpenMixup v0.1.1 is released, which supports various backbones (ConvNets and ViTs), various mixup methods (e.g., PuzzleMix, AutoMix, SAMix, DecoupleMix etc.), various classification datasets, benchmarks (model_zoo), config files generation, FP16 training (Apex or MMCV).

Introduction

The master branch works with PyTorch 1.8 or higher (required by some self-supervised methods). You can still use PyTorch 1.6 for supervised classification methods.

OpenMixup is an open-source toolbox for supervised, self-, and semi-supervised visual representation learning with mixup based on PyTorch, especially for mixup-related methods.

What does this repo do?

Learning discriminative visual representation efficiently that facilitates downstream tasks is one of the fundamental problems in computer vision. Data mixing techniques largely improve the quality of deep neural networks (DNNs) in various scenarios. Since mixup techniques are used as augmentations or auxiliary tasks in a wide range of cases, this repo focuses on mixup-related methods for Supervised, Self- and Semi-Supervised Representation Learning. Thus, we name this repo OpenMixp.

Major features

This repo will be continued to update to support more self-supervised and mixup methods. Please watch us for latest update!

Change Log

Please refer to Change Log for details and release history.

[2020-06-13] OpenMixup v0.2.3 is released.

[2020-05-24] OpenMixup v0.2.2 is released.

Installation

Please refer to Install for installation and dataset preparation.

Get Started

Please see Getting Started for the basic usage of OpenMixup (based on MMSelfSup). Then, see tutorials for more tech details (based on MMClassification), which is similar to most open-source projects in MMLab.

Benchmark and Model Zoo

Model Zoos and lists of Awesome Mixups have been released, and will be updated in the next two months. Checkpoints and traning logs will be updated soon!

License

This project is released under the Apache 2.0 license.

Acknowledgement

  • OpenMixup is an open-source project for mixup methods created by researchers in CAIRI 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 from MMSelfSup and MMClassification.

Citation

If you find this project useful in your research, please consider cite our repo:

@misc{2022openmixup,
    title={{OpenMixup}: Open Mixup Toolbox and Benchmark for Visual Representation Learning},
    author={Li, Siyuan and Liu, Zichen and Wu, Di and Stan Z. Li},
    howpublished = {\url{https://github.com/Westlake-AI/openmixup}},
    year={2022}
}

Contributors

For now, the direct contributors include: Siyuan Li (@Lupin1998), Zicheng Liu (@pone7), and Di Wu (@wudi-bu). We thanks contributors for MMSelfSup and MMClassification.

Contact

This repo is currently maintained by Siyuan Li (lisiyuan@westlake.edu.cn) and Zicheng Liu (liuzicheng@westlake.edu.cn).

Core symbols most depended-on inside this repo

get
called by 170
openmixup/utils/registry.py
cuda
called by 161
openmixup/utils/alias_multinomial.py
print_log
called by 89
openmixup/utils/logger.py
loss
called by 35
openmixup/models/heads/cls_head.py
batch_shuffle_ddp
called by 26
openmixup/models/utils/gather_layer.py
constant_init
called by 26
openmixup/models/utils/layers/weight_init.py
trunc_normal_init
called by 25
openmixup/models/utils/layers/weight_init.py
update
called by 25
openmixup/models/memories/simple_memory.py

Shape

Method 1,134
Function 346
Class 307

Languages

Python100%

Modules by API surface

openmixup/datasets/pipelines/auto_augment.py80 symbols
openmixup/hooks/addtional_scheduler.py60 symbols
openmixup/models/utils/layers/transformer.py54 symbols
openmixup/datasets/pipelines/transforms.py54 symbols
openmixup/models/necks/mlp_necks.py42 symbols
openmixup/models/backbones/resnet_mmcls.py42 symbols
openmixup/utils/flops_counter.py35 symbols
openmixup/models/backbones/uniformer.py34 symbols
tools/analysis_tools/gradcam.py27 symbols
openmixup/datasets/loader/sampler.py26 symbols
openmixup/models/selfsup/moco_automix_v2.py22 symbols
openmixup/models/losses/regression_loss.py21 symbols

For agents

$ claude mcp add openmixup \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact