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 .