Semantically Proportional Mixing for Augmenting Fine-grained Data
SnapMix
SnapMix: Semantically Proportional Mixing for Augmenting Fine-grained Data (AAAI 2021)
PyTorch implementation of SnapMix | paper
Cite
@inproceedings{huang2021snapmix,
title={SnapMix: Semantically Proportional Mixing for Augmenting Fine-grained Data},
author={Shaoli Huang, Xinchao Wang, and Dacheng Tao},
year={2021},
booktitle={AAAI Conference on Artificial Intelligence},
}
Setup
Install Package Dependencies
torch
torchvision
PyYAML
easydict
tqdm
scikit-learn
efficientnet_pytorch
pandas
opencv
Datasets
create a soft link to the dataset directory
CUB dataset
ln -s /your-path-to/CUB-dataset data/cub
Car dataset
ln -s /your-path-to/Car-dataset data/car
Aircraft dataset
ln -s /your-path-to/Aircraft-dataset data/aircraft
Training
Training with Imagenet pre-trained weights
1. Baseline and Baseline+
To train a model on CUB dataset using the Resnet-50 backbone,
python main.py
# baseline
python main.py --midlevel
# baseline+
To train model on other datasets