GPyTorch
GPyTorch是一个使用PyTorch实现的高斯过程库。GPyTorch旨在轻松创建可扩展、灵活和模块化的高斯过程模型。
在内部,GPyTorch与许多现有的GP推理方法不同,主要使用数值线性代数技术(如预条件共轭梯度)进行大多数推理操作。实现一个可扩展的GP方法就像通过我们的LinearOperator接口提供一个矩阵乘法例程以及核矩阵及其导数一样简单,或者通过组合我们已存在的许多LinearOperators
。这不仅允许轻松实现流行的可扩展GP技术,而且常常相对于基于Cholesky分解的求解器显著改善GPU计算的利用率。
GPyTorch提供了(1)显著的GPU加速(通过基于MVM的推理);(2)最新算法进展的最先进实现,以实现可扩展性和灵活性(SKI/KISS-GP,随机Lanczos展开,LOVE,SKIP,随机变分,深度内核学习等);(3)与深度学习框架的简单集成。
示例、教程和文档
查看我们的文档、示例、教程,了解如何在GPyTorch中构建各种模型。
安装
要求:
- Python >= 3.8
- PyTorch >= 2.0
使用pip或conda安装GPyTorch:
pip install gpytorch
conda install gpytorch -c gpytorch
(要在全局使用包但仅作为用户包安装GPyTorch,请使用上面的命令pip install --user
。)
最新(不稳定)版本
要升级到最新(不稳定)版本,请运行
pip install --upgrade git+https://github.com/cornellius-gp/linear_operator.git
pip install --upgrade git+https://github.com/cornellius-gp/gpytorch.git
开发版本
如果您要提交pull request,最好进行手动安装:
git clone https://github.com/cornellius-gp/gpytorch.git
cd gpytorch
pip install -e .[dev,docs,examples,keops,pyro,test] # keops和pyro是可选的
ArchLinux包
注意:实验性的AUR包。对于大多数用户,我们推荐通过conda或pip安装。
GPyTorch也可在ArchLinux用户仓库(AUR)中获取。您可以使用AUR助手,如yay
,安装:
yay -S python-gpytorch
要讨论与这个AUR包相关的任何问题,请参阅python-gpytorch
的评论部分。
引用我们
如果您使用GPyTorch,请引用以下论文:
@inproceedings{gardner2018gpytorch,
title={GPyTorch: Blackbox Matrix-Matrix Gaussian Process Inference with GPU Acceleration},
author={Gardner, Jacob R and Pleiss, Geoff and Bindel, David and Weinberger, Kilian Q and Wilson, Andrew Gordon},
booktitle={Advances in Neural Information Processing Systems},
year={2018}
}
贡献
请参阅贡献指南 CONTRIBUTING.md 了解提交问题和pull request的信息。
团队
GPyTorch主要由以下人员维护:
- Jake Gardner(宾夕法尼亚大学)
- Geoff Pleiss(哥伦比亚大学)
- Kilian Weinberger(康奈尔大学)
- Andrew Gordon Wilson(纽约大学)
- Max Balandat(Meta)
我们要感谢包括但不限于以下的其他贡献者: Eytan Bakshy, Wesley Maddox, Ke Alexander Wang, Ruihan Wu, Sait Cakmak, David Eriksson, Sam Daulton, Martin Jankowiak, Sam Stanton, Zitong Zhou, David Arbour, Karthik Rajkumar, Bram Wallace, Jared Frank, 等等!
致谢
GPyTorch的开发得到了以下机构的支持: 比尔及梅琳达·盖茨基金会, 国家科学基金会, SAP, 西蒙斯基金会, 以及Gatsby慈善基金会。
许可
GPyTorch是MIT授权的。