张量流的概率建模与统计推断

tensorflow-probabilit的Python项目详细描述


张量流概率

tensorflow概率是一个用于概率推理和统计的库 张量流分析。作为Tensorflow生态系统的一部分,Tensorflow 概率提供了概率方法与深度网络的集成, 基于梯度的推理通过自动区分和可扩展性 通过硬件加速(如GPU)和分布式的大型数据集和模型 计算。

我们的概率机器学习工具的结构如下。

第0层:张量流。数值运算。特别是直线牵引器 类启用可以利用特殊结构的无矩阵实现。 (对角线、低阶等)用于有效计算。它是建造和维护的 由Tensorflow概率小组,现在是 tf.linalg 核心tf.

第1层:统计构建块

第二层:模型构建

  • 爱德华2号(http://github.com/tensorflow/probability/tree/master/tensorflow_probability/python/edward2" rel="nofollow">tfp.edward2): 一种描述柔性概率的概率编程语言 作为程序的模型。见 edward2readme.md
  • 概率层(tfp.layers): 神经网络层的功能不确定, 扩展TensorFlow层。
  • 可训练分布(tfp.trainable_distributions): 用一个张量参数化的概率分布,使得 建立输出概率分布的神经网络。

第3层:概率推理

  • 马尔可夫链蒙特卡洛(http://github.com/tensorflow/probability/tree/master/tensorflow_probability/python/mcmc)rel="nofollow">tfp.mcmcc): 采样逼近积分的算法。包括 哈密顿蒙特卡洛, 随意漫步大都会黑斯廷斯,打造定制过渡能力 内核。
  • 变分推理(tfp.vi: 通过优化逼近积分的算法。
  • 优化器(tfp.optimizer): 随机优化方法,扩展了张量流优化方法。包括 随机梯度langevin dynamics
  • 蒙特卡洛(http://github.com/tensorflow/probability/blob/master/tensorflow_probability/python/monte_carlo" rel="nofollow">tfp.monte_carlo): 计算蒙特卡洛期望值的工具。

张量流概率正在积极发展中。接口可以随时更改 时间,

示例

参见tensorflow_probability/examples/ 对于端到端的示例。它包括教程笔记本,如:

它还包括示例脚本,如:

  • 深度指数族。 用于发现主题层次结构的深度稀疏生成模型。

安装

稳定构建

要安装最新版本,请运行以下命令:

# Installing with the `--upgrade` flag ensures you'll get the latest version.
pip install --user --upgrade tensorflow-probability  # depends on tensorflow (CPU-only)

张量流概率取决于 tensorflow(pip包tensorflow)。见 tfp发行说明 有关TensorFlow和TensorFlow概率之间依赖关系的详细信息。

注:由于tensorflow是而不是包含在tensorflow的依赖项中 probability包(在setup.py中),必须显式安装tensorflow 封装(tensorflowtensorflow gpu)。这样我们就可以维持一个 为启用CPU和GPU的TensorFlow打包而不是单独打包。

要强制python 3特定的安装,请将上面的pip替换为pip3。 命令。有关其他安装帮助、安装先决条件指南, 以及(可选)设置虚拟环境,请参见tensorflow 安装指南

每晚生成

在pip包下还有tensorflow概率的夜间构建 tfp nightly,这取决于tf nightlytf nightly gpu之一, tf-nightly-2.0-previewtf-nightly-gpu-2.0-preview。夜间构建包括 较新的功能,但可能不如版本化版本稳定。文档是 定期刷新此处

从源安装

也可以从源安装。这需要bazel构建系统。

# sudo apt-get install bazel git python-pip  # Ubuntu; others, see above links.
git clone https://github.com/tensorflow/probability.git
cd probability
bazel build --copt=-O3 --copt=-march=native :pip_pkg
PKGDIR=$(mktemp -d)
./bazel-bin/pip_pkg $PKGDIR
pip install --user --upgrade $PKGDIR/*.whl

社区

作为TensorFlow的一部分,我们致力于培养一个开放和热情的 环境。

有关 更多细节。请在此处查看我们的最新宣传:

贡献

我们渴望与您合作!参见contribution.md 关于如何贡献的指南。这个项目遵循TensorFlow的 行为准则。通过参与,你应该 坚持这一准则。

参考文献

如果在论文中使用张量流概率,请引用:

  • 张量流分布。joshua v.dillon,ian langmore,dustin tran, 尤金·布雷夫多,斯里尼瓦斯·瓦苏德万,戴夫·摩尔,布莱恩·巴顿,亚历克斯·阿莱米,马特 霍夫曼,里夫·A·索罗斯。 arxiv预印本arxiv:1711.106042017

(我们知道TensorFlow概率比分布要多得多,但是分布文件展示了我们的愿景,现在是一个很好的引用。)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JPA。Eclipselink没有为mySQL提供密码,但它应该提供   我的Servlet和@FormDataParam存在java问题   java将什么作为上下文参数传递到文件I/O方法中?   如果两个值相同,java无法找到其中一个单选按钮   java在变量和方法名中使用下划线   JavaSpringMVC单线程安全?   klazz类的java Arraylist(反射Api)   java如何在数字字符串中查找最频繁的数字?   JavaAPI设计:使数据更易于阅读与强制更多API调用   JavaHadoopMapReduceforGoogleWebGraph   java无法启动gauge API:Runner意外退出   java如何在bluemix上使用ibm工作负载调度器?   拉取一年中某一周特定日期的所有日期   java为什么是我的角节点。js应用程序将图像上传到S3� 邮递员正确上传时的符号?   在不使用任何第三方jar的情况下将文件从本地传输到linux系统(java代码)   java将现有文件夹复制到Eclipse工作区中新创建的项目中   Java中的regex RegExp帮助   当使用“系统”外观时,Java组合框setSelectedItem会出现故障   JavaASM:在类的方法中获取局部变量名和值