Pyro-基于Python和PyTorch的深度通用概率编程

Pyro是一个构建在PyTorch之上的灵活的、可伸缩的深度概率编程库。值得注意的是,它的设计考虑到了以下原则:
  • 通用的:pyro是一种通用的PPL-它可以表示任何可计算的概率分布
  • 可扩展:pyro可扩展到大型数据集,与手写代码相比开销很小
  • 极小值:pyro是灵活的,可维护的。它是由强大的、可组合的抽象组成的一个小核心来实现的
  • 灵活性:PYRO的目标是在需要的时候实现自动化,在需要的时候进行控制。这是通过高级抽象来表示生成和推理模型来实现的,同时允许专家方便地访问自定义推理

Pyro最初是由Uber AI开发的,现在由社区贡献者积极维护,包括在Broad Institute2019年,PyrobecameLinux基金会的一个项目,这是一个在开源软件、开放标准、开放数据和开放硬件方面进行协作的中立空间

有关Pyro的高级动机的更多信息,请查看我们的launch blog post有关其他博客帖子,请查看experimental designtime-to-event modeling在Pyro中

正在安装

安装稳定的Pyro版本

使用pip安装:

Pyro支持Python 3.6+

pip install pyro-ppl

从源安装:

git clone git@github.com:pyro-ppl/pyro.git
cd pyro
git checkout master  # master is pinned to the latest release
pip install .

使用额外的软件包进行安装:

要安装运行中包含的概率模型所需的依赖项,请执行以下操作examples/tutorials目录,请使用以下命令:

pip install pyro-ppl[extras]

确保这些模型来自同一版本的Pyro source code因为您已经安装了

安装Pyro dev分支

对于最新的功能,您可以从源代码安装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] for running models in examples/tutorials

从Docker容器运行Pyro

请参阅说明here

引文

如果您使用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}
}