LibAUC: A Deep Learning Library for X-Risk Optimization
| Documentation | Installation | Website | Tutorial | Research | Github |
LibAUC offers an easier way to directly optimize commonly-used performance measures and losses with user-friendly API. LibAUC has broad applications in AI for tackling many challenges, such as Classification of Imbalanced Data (CID), Learning to Rank (LTR), and Contrastive Learning of Representation (CLR). LibAUC provides a unified framework to abstract the optimization of many compositional loss functions, including surrogate losses for AUROC, AUPRC/AP, and partial AUROC that are suitable for CID, surrogate losses for NDCG, top-K NDCG, and listwise losses that are used in LTR, and global contrastive losses for CLR. Here’s an overview:
Installing from pip
$ pip install -U libauc
Installing from source
$ git clone https://github.com/Optimization-AI/LibAUC.git
$ cd LibAUC
$ pip install .
For more details, please check the latest release note.
>>> #import our loss and optimizer
>>> from libauc.losses import AUCMLoss
>>> from libauc.optimizers import PESG
>>> #pretraining your model through supervised learning or self-supervised learning
>>> #load a pretrained encoder and random initialize the last linear layer
>>> #define loss & optimizer
>>> Loss = AUCMLoss()
>>> optimizer = PESG()
...
>>> #training
>>> model.train()
>>> for data, targets in trainloader:
>>> data, targets = data.cuda(), targets.cuda()
logits = model(data)
preds = torch.sigmoid(logits)
loss = Loss(preds, targets)
optimizer.zero_grad()
loss.backward()
optimizer.step()
...
>>> #update internal parameters
>>> optimizer.update_regularizer()
If you find LibAUC useful in your work, please cite the following papers:
@inproceedings{yuan2023libauc,
title={LibAUC: A Deep Learning Library for X-Risk Optimization},
author={Zhuoning Yuan and Dixian Zhu and Zi-Hao Qiu and Gang Li and Xuanhui Wang and Tianbao Yang},
booktitle={29th SIGKDD Conference on Knowledge Discovery and Data Mining},
year={2023}
}
@article{yang2022algorithmic,
title={Algorithmic Foundations of Empirical X-Risk Minimization},
author={Yang, Tianbao},
journal={arXiv preprint arXiv:2206.00439},
year={2022}
}
For any technical questions, please open a new issue in the Github. If you have any other questions, please contact us @ Zhuoning Yuan [[email protected]] and Tianbao Yang [[email protected]].