
TensorFlow概率的定义
基本上,TensorFlow为用户提供不同种类的功能,其中TensorFlow是TensorFlow提供的功能之一。通常情况下,TensorFlow是一个为TensorFlow建立的Python库,通过使用这个Python库,我们可以很容易地结合概率模型,也可以将深度学习模型与当今的现代硬件,即TPU和GPU相结合。这个库基本上对那些想对数据进行预测的人有用,比如数据科学家、统计学家或ML研究人员和学生。TensorFlow使用单一的语言来实现。
1.什么是TensorFlow的概率?
基本上,TensorFlow是一个用于实现概率计算的库。作为TensorFlow生物系统的一个组成部分,它提供了一个具有深刻组织的概率策略的组合;通过编程分离的方式进行基于角度的归纳,以及通过设备速度增加(例如,GPU)和适当的计算来实现巨大数据集和模型的多功能性。
它是一个依赖于TensorFlow的真实估计和概率显示的库。它的结构块包含了大量的传播和可逆变化(bijectors),可能在Keras模型中使用的概率层,以及用于概率思维的工具,包括变异归纳和马尔科夫链蒙特卡洛。
Tensorflow有各种各样的优势,下面记录了一些。
2.Tensorflow用于广泛选择似然循环和生物投影仪。它是一个制造深刻的概率模型的工具,包括概率层和 "联合分布 "审议。
3.TensorFlow是一个变异归纳和马尔科夫链,蒙特卡洛。
4.它被利用于优化器,如Nelder-Mead,BFGS和SGLD。
2.TensorFlow概率如何工作?
基本上,TensoFolw中存在三个不同的组件,如下。
第0层:TensorFlow
数学任务--具体而言,LinearOperator类--使无网格的执行能够利用特定的结构(斜线、低等级等)进行有效的计算。它是由小组组装和保持的,是tf.linalg在集中TensorFlow中必不可少的。
第1层:统计学构件
拨款(tfp.distributions)。
Bijectors (tfp.bijectors):大量的可能性循环和相关的洞察力,具有集群和广播语义。任意因素的可逆和可堆积的变化。Bijectors给出了一类丰富的变化拨款,从传统的模型,如对数典型散布,到精致的深刻的学习模型,如隐蔽的自回归流。
第二层:模型构建
联合分布(例如,tfp.distributions.JointDistributionSequential)。联合拨款至少有一个以上的潜在的关联流通。关于用TFP的JointDistributions演示的序幕,请看这个合作项目
TensorFlow使用概率层与脆弱性来解决TensorFlow的不同能力。
第3层:概率推理
马尔科夫链蒙特卡洛(tfp.mcmc)。通过检查的方式近似积分的算法。包括汉密尔顿蒙特卡洛、不规则行走Metropolis-Hastings,以及组装自定义进度部分的能力。
Variational Inference (tfp.vi):通过精简来逼近积分的算法。
分析器(tfp.optimizer)。随机的精简技术,拓宽TensorFlow优化器。纳入随机梯度Langevin动力学。
Monte Carlo (tfp.monte_carlo)。用于计算蒙特卡洛假设的工具。
它是在动态转折的情况下,接口可能会改变。
它也适用于JAX:TensorFlow概率(TFP)是一个用于概率思维和事实调查的库,目前另外还涉及JAX!对于那些不适应的人来说,JAX是一个用于加速数学计算的库,依赖于可堆积的容量变化。JAX上的TFP保留了大量传统TFP的最有价值的用途,同时保障了众多TFP客户目前所接受的反射和API。
现在让我们看看Tensorflow检测Anomaly API的概率,如下所示。
它有一个结构性时间序列(STS)的API库,这是一类贝叶斯可测量模型,将一个周期序列分解成可解释的偶然和模式部分。客户已经需要为他们的模型手工描述模式和偶发部分,例如,该演示利用一个具有邻域直接模式和年月偶发影响的模型来估计二氧化碳的固定。与这个研究项目有关,该小组制作了另一个异常位置API,其中这些部分是根据信息时间序列诱导出来的。
3.安装TensorFlow的概率
有三种不同的安装方式,具体如下。
第一种方式是通过使用稳定的构建。在这种方式下,它取决于Tensorflow的当前稳定版本,我们可以使用pip命令来安装TensorFlow包。
pip install –upgrade tensorflow-probability
如果我们需要一些额外的包,我们只需要替换pip3而不是pip。
第二种方式是我们可以在pip命令tfp-daily下使用TensorFlow的夜间构建,它依赖于tf-daily和tf-daily gpu之一。每天的形式包含了更多的最新元素,但是可能没有成型的交付那么稳定。
第三种方式,我们可以从源头安装。这里我们可以使用Bazel构建系统。
sudo apt-get install bazel git python-pip
python -m pip install --upgrade --user tf-nightly
4.例子
现在让我们来看看下面的例子,以便更好地理解。
import tensorflow as tf_obj
import tensorflow_probability as tfp_obj
tf_obj.enable_eager_execution()
print(tf_obj.__version__)
feat = tfp_obj.distributions.Normal(loc=0., scale=1.).sample(int(100e3))
lab = tfp_obj.distributions.Bernoulli(logits=1.618 * feat).sample()
model_demo = tfp_obj.glm.Bernoulli()
coef, linear_response, is_converged, num_iter = tfp_obj.glm.fit(
model_demo_matrix=feat[:, tf_obj.newaxis],
res=tf_obj.cast(lab, dtype=tf_obj.float32),
model_demo=model_demo)
print(coef)
解释
在上面的例子中,我们试图实现TensorFlow概率,在这个例子中,首先,我们导入所有需要的标准库,如图所示,之后,我们加载合成数据集,同时我们定义模型。上述程序的最终输出我们通过以下截图来说明。

总结
我们希望通过这篇文章你能了解更多关于TensorFlow的概率。从上面的文章中,我们已经掌握了TensorFlow概率的基本概念,我们也看到了TensorFlow概率的表现形式和例子。从这篇文章中,我们了解了如何以及何时使用TensorFlow概率。