Skip to main content

An implementation of Q-Exponential Processes in Pytorch based on GPyTorch

Project description

QPyTorch


Test Suite Documentation Status License

Python Version Conda PyPI

QPyTorch is a Python package for Q-exponential process (QEP) implemented using PyTorch and built up on GPyTorch. QPyTorch is designed to facilitate creating scalable, flexible, and modular QPE models.

Different from GPyTorch for Gaussian process (GP) models, QPyTorch focuses on QEP, which generalizes GP by allowing flexible regularization on function spaces through a parameter $q>0$ and embraces GP as a special case with $q=2$. QEP is proven to be superior than GP in modeling inhomogeneous objects with abrupt changes or sharp contrast for $q<2$ [Li et al (2023)]. Inherited from GPyTorch, QPyTorch has an efficient and scalable implementation by taking advantage of numerical linear algebra library LinearOperator and improved GPU utilization.

Tutorials, Examples, and Documentation

See documentation on how to construct various QEP models in QPyTorch.

Installation

Requirements:

  • Python >= 3.10
  • PyTorch >= 2.0
  • GPyTorch >= 1.13

Stable Version

Install QPyTorch using pip or conda:

pip install qpytorch
conda install qpytorch

(To use packages globally but install QPyTorch as a user-only package, use pip install --user above.)

Latest Version

To upgrade to the latest version, run

pip install --upgrade git+https://github.com/lanzithinking/qepytorch.git

from source (for development)

If you are contributing a pull request, it is best to perform a manual installation:

git clone https://github.com/lanzithinking/qepytorch.git
cd qepytorch
# either
pip install -e .[dev,docs,examples,keops,pyro,test]  # keops and pyro are optional
# or
conda env create -f env_install.yaml # installed in the environment qpytorch

Citing Us

If you use QPyTorch, please cite the following paper:

Li, Shuyi, Michael O'Connor, and Shiwei Lan. "Bayesian Learning via Q-Exponential Process." In Advances in Neural Information Processing Systems (2023).

@inproceedings{li2023QEP,
  title={Bayesian Learning via Q-Exponential Process},
  author={Li, Shuyi, Michael O'Connor, and Shiwei Lan},
  booktitle={Advances in Neural Information Processing Systems},
  year={2023}
}

Contributing

See the contributing guidelines CONTRIBUTING.md for information on submitting issues and pull requests.

The Team

QPyTorch is primarily maintained by:

Thanks to the following contributors including (but not limited to)

  • Shuyi Li, Guangting Yu, Zhi Chang, Chukwudi Paul Obite, Keyan Wu, and many more!

License

QPyTorch is MIT licensed.

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

qpytorch-0.1.1.tar.gz (2.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qpytorch-0.1.1-py3-none-any.whl (201.2 kB view details)

Uploaded Python 3

File details

Details for the file qpytorch-0.1.1.tar.gz.

File metadata

  • Download URL: qpytorch-0.1.1.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for qpytorch-0.1.1.tar.gz
Algorithm Hash digest
SHA256 600e7851b92a9b26d5a20992a75cb947692154d136160d5a1211c0dbc019023d
MD5 2d59807e662b718313b011899fc97303
BLAKE2b-256 40bb229467dbbd86d46b5ae602fc238afdd89cef1434c7e52370b238d10db3d4

See more details on using hashes here.

File details

Details for the file qpytorch-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: qpytorch-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 201.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for qpytorch-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 680c779b3dc541c03c2047873568542b6dbe56e04597e1f50347e6054f30fef2
MD5 682b4851d02538624c5a38190d09d475
BLAKE2b-256 27b1c0c72dc93739f26c2c4cad56df3d084282491a464cdac2c9e1480e18d2b3

See more details on using hashes here.

Supported by

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