This is the official implementation of LC-Booster.
- Install
pytorch>=1.7.0
andtorchvision
. pip install -r requirements.txt
Please download and organize the datasets in this structure:
LC-Booster
├── data/
├── cifar-10-batches-py/
├── cifar-100-python/
# CIFAR-10; 2 GPUs by default
python train_ww_ws.py configs/cifar10/sym80_ww_ws.py
python train_ww_ws.py configs/cifar10/sym90_ww_ws.py
# CIFAR-100; 2 GPUs by default
python train_wwss.py configs/cifar100/sym80_wwss.py
python train_wwss.py configs/cifar100/sym90_wwss.py
We provide results and logs produced by this code.
Method | Metric | Noisy Type\Ratio | |||
---|---|---|---|---|---|
sym80 | sym90 | ||||
SOTA | Best | 93.8 | 91.9 | ||
Last 5 | 93.6 | 91.8 | |||
LC-Booster | Best | 94.9 | 93.2 | ||
Last 5 | 94.7 | 92.9 |
Method | Metric | Noisy Type\Ratio | |||
---|---|---|---|---|---|
sym80 | sym90 | ||||
SOTA | Best | 66.4 | 41.2 | ||
Last 5 | 66.1 | 40.9 | |||
LC-Booster | Best | 67.9 | 50.9 | ||
Last 5 | 67.5 | 50.7 |
We do observe some variance on results of high noise ratio (e.g., CIFAR-10 sym90), as in the implementation of other noisy-label methods (e.g., AugDesc). We find the variance is mainly reflected on the first 100 epochs. So you can run several first 100 epochs with different seeds and resume from the best one to avoid full training many times.
More configs and code coming soon.