Skip to main content

LibAUC: A Deep Learning Library for X-Risk Optimization

Project description

LibAUC: A Deep Learning for X-Risk Optimization

Pypi Downloads python PyTorch LICENSE

| Documentation | Installation | Examples | Website | Publication | Github |

Why LibAUC?

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 both classic and emerging 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.

Installation

$ pip install -U libauc

For more updates, please check the release note.

Usage

Example training pipline for optimizing X-risk (e.g., AUROC)

>>> #import our loss and optimizer
>>> from libauc.losses import AUCMLoss 
>>> from libauc.optimizers import PESG 
...
>>> #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()

Tutorials

Please visit https://libauc.org/ and https://docs.libauc.org/ for example and documentation,

Citation

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}
}

Contact

For any technical questions, please open a new issue in the Github. If you have any other questions, please contact us @ Zhuoning Yuan [yzhuoning@gmail.com] and Tianbao Yang [tianbao-yang@tamu.edu].

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

libauc-1.3.3.tar.gz (81.7 kB view hashes)

Uploaded Source

Built Distribution

libauc-1.3.3-py3-none-any.whl (120.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page