The Pytorch implementation for the paper A Deep Model for Partial Multi-label Image Classification with Curriculum Based Disambiguation (arXiv 2022)
See much more related works in Awesome Weakly Supervised Multi-label Learning!
See the README.md
file in the data
directory for instructions on downloading and preparing the datasets.
To train and evaluate a model, the next two steps are required:
- For the first stage, we warm-up the model with the BCE loss on partially labeled images. Run:
CUDA_VISIBLE_DEVICES=gpu_ids python run_warmup.py --noise_rate=0.05 --data=./data
- For the second stage, we train the model by adding curriculum based disambiguation and consistency regularization.
CUDA_VISIBLE_DEVICES=gpu_ids python run_cdcr.py --noise_rate=0.05 --data=./data
- For the second stage, besides CDCR, we can train the model by further considering the class difficulties.
CUDA_VISIBLE_DEVICES=gpu_ids python run_cdcr_diff.py --noise_rate=0.05 --data=./data
If you find the code useful in your research, please consider citing our paper:
@article{sun2022deep,
title={A Deep Model for Partial Multi-Label Image Classification with Curriculum Based Disambiguation},
author={Sun, Feng and Xie, Ming-Kun and Huang, Sheng-Jun},
journal={arXiv preprint arXiv:2207.02410},
year={2022}
}