This is a Pytorch implementation of AUTKC optimization
described in our paper:
Zitai Wang, Qianqian Xu, Zhiyong Yang, Yuan He, Xiaochun Cao and Qingming Huang. Optimizing Partial Area Under the Top-k Curve: Theory and Practice. IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI), 45(4): 5053–5069, 2023.
And its Arxiv version can be found here.
The original version of our codes involves a non-standard IO operation, which is described later. Most recently, we provide a new demo that follows the standard learning pipline, which can be found in our library.
Please see the requirements.yml
in the root folder.
We conduct the experiments on Cifar-10, Cifar-100, Tiny-imagenet-200, and Places-365. The method MemoryDataset.__init__()
in the script dataset.py
describes how to organize these datasets. What's more, to enable parallel computation, we create a shared memory to store the data. To this end, one should first run dataset.py
before training or testing the model:
python dataset.py
Note that one should not kill the dataset process. Then, one can train the model via:
python main.py --dataset "cifar-100" --loss atop --weight_scheme Exp --resume checkpoints/***
@article{autkc,
author = {Zitai Wang and
Qianqian Xu and
Zhiyong Yang and
Yuan He and
Xiaochun Cao and
Qingming Huang},
title = {Optimizing Partial Area Under the Top-k Curve: Theory and Practice},
journal = {{IEEE} Transactions on Pattern Analysis and Machine Intelligence},
volume = {45},
number = {4},
year = {2023},
pages = {5053--5069}
}