Pyro 是一个基于 PyTorch 构建的灵活、可扩展的深度概率编程库。特别是,它的设计理念包括以下原则:
- 通用:Pyro 是一个通用的 PPL——它可以表示任何可计算的概率分布。
- 可扩展:与手写代码相比,Pyro 能够在处理大型数据集时保持较小的开销。
- 简约:Pyro 灵活且易于维护。它通过少量强大且可组合的抽象实现。
- 灵活:Pyro 追求自动化当您需要时控制。通过高级抽象表达生成和推理模型,同时为专家提供轻松定制推理的途径。
Pyro 最初由 Uber AI 开发,现在由社区贡献者积极维护,包括 Broad Institute 的一个专门团队。 2019 年,Pyro 成为 Linux 基金会的一个项目,这是一个开放源代码软件、开放标准、开放数据和开放硬件的中立协作空间。
有关 Pyro 的高级动机的更多信息,请查看我们的 发布博客。 如需其他博客文章,请查看我们关于 实验设计 和 时间到事件建模 的 Pyro 工作。
安装
安装稳定版 Pyro
使用 pip 安装:
pip install pyro-ppl
从源代码安装:
git clone git@github.com:pyro-ppl/pyro.git
cd pyro
git checkout master # master 固定在最新版本
pip install .
安装附加包:
要安装运行 examples
/tutorials
目录中的概率模型所需的依赖项,请使用以下命令:
pip install pyro-ppl[extras]
确保这些模型来自与您安装的 Pyro 源代码 版本相同的版本。
安装 Pyro 开发分支
如需最新特性,您可以从源代码安装 Pyro。
使用 pip 安装 Pyro:
pip install git+https://github.com/pyro-ppl/pyro.git
或者,带有 extras
依赖项以运行 examples
/tutorials
目录中的概率模型:
pip install git+https://github.com/pyro-ppl/pyro.git#egg=project[extras]
从源代码安装 Pyro:
git clone https://github.com/pyro-ppl/pyro
cd pyro
pip install . # pip install .[extras] 用于运行示例/教程中的模型
使用 Docker 容器运行 Pyro
请参阅此处的说明。
引用
如果您使用 Pyro,请考虑引用:
@article{bingham2019pyro,
author = {Eli Bingham and
Jonathan P. Chen and
Martin Jankowiak and
Fritz Obermeyer and
Neeraj Pradhan and
Theofanis Karaletsos and
Rohit Singh and
Paul A. Szerlip and
Paul Horsfall and
Noah D. Goodman},
title = {Pyro: Deep Universal Probabilistic Programming},
journal = {J. Mach. Learn. Res.},
volume = {20},
pages = {28:1--28:6},
year = {2019},
url = {http://jmlr.org/papers/v20/18-403.html}
}