This is the official repository of paper Rethinking Noisy Label Learning in Real-world Annotation Scenarios.
This implemetation is based on Python3. To run the code, you need the following dependencies:
-
torch==1.7.1
-
torchvision==0.8.2
-
tensorboard==2.11.2
-
numpy
-
scikit-learn
You can simply run
pip install -r requirements.txt
We select some important files for detailed description.
|-- code
|-- data_preprocess # read the CIFAR-N dataset
|-- config.py # hyperparameters
|-- main.py
|-- model.py
|-- myssl.py # semi-superivised learning
|-- myutils.py
|-- sample_splits_backup.py # old sample split
|-- sample_splits # new sample split
|-- data
|-- CIFAR-N
- You can run like the script in the following:
cd code
CUDA_VISIBLE_DEVICES=0 python -u main.py --dataset cifar100 --noise_type noisy100 --lr 0.02 --epochs 500 --weight_decay 5e-4 --sample_split proto --warmups 20 --ssl mixmatch --cos_up_bound 0.99 --cos_low_bound 0.90 --proto_epochs 1
- You can reproduce the experimental results of our method by running the script:
cd code
bash reproduce.sh
Parts of this code are based on the following repositories: