This code is a PyTorch implementation of the paper "[Demystifying How Self-Supervised Features Improve Training from Noisy Labels]". The code is run on the Tesla V-100.
Python 3.8.5
PyTorch 1.7.1
Torchvision 0.9.0
Download the dataset from http://www.cs.toronto.edu/~kriz/cifar.html Put the dataset on data/
Run command below:
python main.py --batch_size 512 --epochs 1000
Or download the pre-trained model from "this url" and put the pre-trained model in results/
Run command below:
python CE.py --simclr_pretrain --finetune_fc_only --noise_type symmetric --noise_rate 0.6 --epochs 150
Run command below:
python CE.py --simclr_pretrain --down_sample --finetune_fc_only --noise_type instance --noise_rate 0.6 --epochs 150
Run command below:
python CE_Reg.py --reg rkd_dis --noise_type symmetric --noise_rate 0.6 --epochs 150
The code of SSL pre-training is based on https://github.com/leftthomas/SimCLR