Pyro - 基于 Python 的深度概率编程语言


MIT
跨平台
Python

软件简介

Pyro 是 Uber AI 实验室开源的一款深度概率编程语言(PPL),基于 Python 与 PyTorch
之上,专注于变分推理,同时支持可组合推理算法。 Pyro
能够实现灵活而富有表现力的深度概率建模,将现代深度学习和贝叶斯建模的优点结合起来。旨在加速上述技术的研究与应用,更大地惠及人工智能社区。

设计目标:

  • 通用性:Pyro 可表征任何可计算的概率分布。

  • 可扩展性:Pyro 可以很小的开销扩展到大型数据集。

  • 最轻量:Pyro 由一个强大的、可组合的抽象化小核心构成,灵活且可维护。

  • 灵活性:Pyro 的目标是在你想要的时候实现自动化,在你需要的时候进行控制。

实现方式:

  • 通用性:通过从一种通用性语言(任意的 Python 代码)开始迭代和递归,然后添加随机采样、观测和推理。

  • 可扩展性:通过建立现代黑箱优化技术,其使用数据的小批量进行近似推理。

  • 最轻量:Pyro 是由少量强大而可组合的抽象概念实现的。任何繁重的工作都会尽可能用 PyTorch 和其它的库完成。

  • 灵活性:使用高级的抽象概念表达生成和推理模型,同时允许专家自定义推理。

安装方式:

先安装 PyTorch

再通过 pip:

Python 2.7.*:

pip install pyro-ppl

Python 3.5:

pip3 install pyro-ppl

Install from source:

git clone git@github.com:uber/pyro.git
cd pyro
pip install .