Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fuxiAIlab/ProtoSemi
https://github.com/fuxiAIlab/ProtoSemi
Last synced: 9 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/fuxiAIlab/ProtoSemi
- Owner: fuxiAIlab
- Created: 2023-07-25T01:55:50.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-07-25T01:55:59.000Z (over 1 year ago)
- Last Synced: 2024-08-02T15:30:08.262Z (3 months ago)
- Language: Python
- Size: 445 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ProtoSemi
This is the official repository of paper *Rethinking Noisy Label Learning in Real-world Annotation Scenarios*.
## Setup
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
```python
pip install -r requirements.txt
```## Repository structure
We select some important files for detailed description.```python
|-- 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```
## Run
1. You can run like the script in the following:
```python
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
```1. You can reproduce the experimental results of our method by running the script:
```python
cd code
bash reproduce.sh
```## Attribution
Parts of this code are based on the following repositories:
- [Dividemix](https://github.com/LiJunnan1992/DivideMix)
- [PES](https://github.com/tmllab/PES)
- [CIFAR-N](https://github.com/UCSC-REAL/cifar-10-100n)