Skip to main content

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

Project description

QPyTorch Logo


Test Suite Documentation Status License

Python Version Conda PyPI

QPyTorch is a Python package for Q-exponential process (QEP) implemented using PyTorch and built upon 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.14

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.2.tar.gz (5.2 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.2-py3-none-any.whl (213.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: qpytorch-0.2.tar.gz
  • Upload date:
  • Size: 5.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for qpytorch-0.2.tar.gz
Algorithm Hash digest
SHA256 0f4096181286d69b0581e961e1a05ba2628119cd6ffdc19b2781bb254f9dabcc
MD5 dae78e66f91f474f80a48a31dc7abc06
BLAKE2b-256 35ff48d047feeed9f5d9dff72d2a1904900571864ecef09cb62e20f64801f844

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qpytorch-0.2-py3-none-any.whl
  • Upload date:
  • Size: 213.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for qpytorch-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0a63b16512ea76443430e02ff918b4a998d70336446d85462e3ade01b7ae5349
MD5 c183720eebc70a380a611da2642d460e
BLAKE2b-256 cbc2edc86a4205db6e3e372ddd183ae75ce0e4597bfa5fdcc11eadcd0f7c1ddf

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