All Projects → moskomule → Dda

moskomule / Dda

Licence: mit
Differentiable Data Augmentation Library

Projects that are alternatives of or similar to Dda

Copy Paste Aug
Copy-paste augmentation for segmentation and detection tasks
Stars: ✭ 132 (+103.08%)
Mutual labels:  jupyter-notebook, data-augmentation
Dab
Data Augmentation by Backtranslation (DAB) ヽ( •_-)ᕗ
Stars: ✭ 294 (+352.31%)
Mutual labels:  jupyter-notebook, data-augmentation
Solt
Streaming over lightweight data transformations
Stars: ✭ 249 (+283.08%)
Mutual labels:  jupyter-notebook, data-augmentation
Ghost Free Shadow Removal
[AAAI 2020] Towards Ghost-free Shadow Removal via Dual Hierarchical Aggregation Network and Shadow Matting GAN
Stars: ✭ 133 (+104.62%)
Mutual labels:  jupyter-notebook, data-augmentation
Pba
Efficient Learning of Augmentation Policy Schedules
Stars: ✭ 461 (+609.23%)
Mutual labels:  jupyter-notebook, data-augmentation
Mixup Generator
An implementation of "mixup: Beyond Empirical Risk Minimization"
Stars: ✭ 250 (+284.62%)
Mutual labels:  jupyter-notebook, data-augmentation
Drq
DrQ: Data regularized Q
Stars: ✭ 268 (+312.31%)
Mutual labels:  jupyter-notebook, data-augmentation
Deltapy
DeltaPy - Tabular Data Augmentation (by @firmai)
Stars: ✭ 344 (+429.23%)
Mutual labels:  jupyter-notebook, data-augmentation
Mobilepose Pytorch
Light-weight Single Person Pose Estimator
Stars: ✭ 427 (+556.92%)
Mutual labels:  jupyter-notebook, data-augmentation
Amazon Forest Computer Vision
Amazon Forest Computer Vision: Satellite Image tagging code using PyTorch / Keras with lots of PyTorch tricks
Stars: ✭ 346 (+432.31%)
Mutual labels:  jupyter-notebook, data-augmentation
All Classifiers 2019
A collection of computer vision projects for Acute Lymphoblastic Leukemia classification/early detection.
Stars: ✭ 22 (-66.15%)
Mutual labels:  jupyter-notebook, data-augmentation
Dataaugmentationforobjectdetection
Data Augmentation For Object Detection
Stars: ✭ 812 (+1149.23%)
Mutual labels:  jupyter-notebook, data-augmentation
Veri Artirma Data Augmentation
Bu repoda veri artırma (data augmentation) ile ilgili pratik uygulamalara ulaşabilirsiniz.
Stars: ✭ 22 (-66.15%)
Mutual labels:  jupyter-notebook, data-augmentation
Matplotlib4papers
Matplotlib examples to present results.
Stars: ✭ 64 (-1.54%)
Mutual labels:  jupyter-notebook
Pydata Nyc 2015
📜 Understanding Probabilistic Topic Models with Simulation in Python
Stars: ✭ 64 (-1.54%)
Mutual labels:  jupyter-notebook
Rmsync
A script for synchronizing the reMarkable e-reader
Stars: ✭ 63 (-3.08%)
Mutual labels:  jupyter-notebook
Net Analysis
Tools, libraries and applications to analyze network measurements and detect interference.
Stars: ✭ 64 (-1.54%)
Mutual labels:  jupyter-notebook
Python Course
Stuff for python courses
Stars: ✭ 64 (-1.54%)
Mutual labels:  jupyter-notebook
Taxiprediction
Stars: ✭ 64 (-1.54%)
Mutual labels:  jupyter-notebook
Otml ds3 2018
Practical sessions for the Optimal Transport and Machine learning course at DS3 2018
Stars: ✭ 64 (-1.54%)
Mutual labels:  jupyter-notebook

Differentiable Data Augmentation Library

This library is a core of Faster AutoAugment and its descendants. This library is research oriented, and its AIP may change in the near future.

Requirements and Installation

Requirements

Python>=3.8
PyTorch>=1.5.0
torchvision>=0.6
kornia>=0.2

Installation

pip install -U git+https://github.com/moskomule/dda

APIs

dda.functional

Basic operations that can be differentiable w.r.t. the magnitude parameter mag. When mag=0, no augmentation is applied, and when mag=1 (and mag=-1 if it exists), the severest augmentation is applied. As introduced in Faster AutoAugment, some operations use straight-through estimator to be differentiated w.r.t. their magnitude parameters.

def operation(img: torch.Tensor,
              mag: Optional[torch.Tensor]) -> torch.Tensor:
    ...

dda.pil contains the similar APIs using PIL (not differentiable).

dda.operations

class Operation(nn.Module):
   
    def __init__(self,
                 initial_magnitude: Optional[float] = None,
                 initial_probability: float = 0.5,
                 magnitude_range: Optional[Tuple[float, float]] = None,
                 probability_range: Optional[Tuple[float, float]] = None,
                 temperature: float = 0.1,
                 flip_magnitude: bool = False,
                 magnitude_scale: float = 1,
                 debug: bool = False):
        ...

If magnitude_range=None, probability_range=None, then magnitude, probability is not Parameter but Buffer, respectively.

magnitude moves in magnitude_scale * magnitude_range. For example, dda.operations.Rotation has magnitude_range=[0, 1] and magnitude_scale=30 so that magnitude is between 0 to 30 degrees.

To differentiate w.r.t. the probability parameter, RelaxedBernoulli is used.

Examples

Citation

dda (except RandAugment) is developed as a core library of the following research projects.

If you use dda in your academic research, please cite hataya2020a.

@inproceesings{hataya2020a,
    title={{Faster AutoAugment: Learning Augmentation Strategies using Backpropagation}},
    author={Ryuichiro Hataya and Jan Zdenek and Kazuki Yoshizoe and Hideki Nakayama},
    year={2020},
    booktitle={ECCV}
}

...
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].