Awesome
DeepFashion2 Remixed
Code used to reproduce the results in The Many Faces of Robustness.
Installation
pip install torch torchvision
DeepFashion2 can be downloaded from here. We provide a dataloader that convert the labels into multilabel task, just need to update the paths in train.py and validate.py to point to the location extracted. By default we store it in the folder above this repo as ".."
To stylize the dataset we use this repo stylize-dataset. We use the default settings to create 1 extra stylization per image.
We use the BiT-M-R50x1 model which can be downloaded from here.
Usage
Train the model
python3 train.py --scales 2 --occlusion 2 --viewpoint 2 --zoom 1 --negate 0 0 0 0 -b 100 --arch resnet50 --augmix 10 --disc trainonlyaugmixsev102221
Evaluate the model. Provide the model name (the --disc argument) and the architecture.
bash eval.sh trainonlyaugmixsev102221 resnet50
Requires updating the paths within train.py
and validate.py
to point to where the deepfashion2 dataset is located.
Replicate experiments in the paper
python3 train.py -b 100 --arch resnet50 --augmix 10 --disc trainonlyaugmixsev102221
python3 train.py -b 100 --arch resnet50 --cutout --disc trainonlyranderasure2221
python3 train.py -b 100 --arch resnet50 --speckle --disc trainonlyspeckle2221
python3 train.py -b 100 --arch resnet50 --stylize -e 40 --disc trainonlystylize2221
python3 train.py -b 100 --arch resnet50 --dataset deepaugment -e 28 --disc trainonlydeepaugment2221
python3 train.py -b 100 --arch se --disc trainonly2221
python3 train.py -b 100 --arch resnet152 --disc trainonly2221
bash eval.sh trainonlyaugmixsev102221 resnet50
....
bash eval.sh trainonly2221 resnet152
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.