首页 > 解决方案 > Tensorflow 非归一化日志概率

问题描述

我正在使用 Tensorflow 来创建一些概率。我正在尝试按照 tensorflow 中的文档估计未标准化的日志概率:

import tensorflow_probability as tfp
tfd = tfp.distributions

dist                  = tfd.Normal(loc=0., scale=3.)
sample                = dist.sample([3])
normalized_log_prob   = dist.log_prob(sample)
unnormalized_log_prob = dist.unnormalized_log_prob(sample)

尽管 Tensorflow 文档中存在unnormalized_log_prob,但我有这个错误:

AttributeError: 'Normal' object has no attribute 'unnormalized_log_prob'

我需要一种通用的方法来获得非标准化的日志概率,而不仅仅是Normal因为我只使用Normal了一个例子。

在此处输入图像描述

标签: tensorflowtensorflow-probabilityprobability-distribution

解决方案


tfp.__version__告诉你什么?unnormalized_log_prob仅在最新tensorflow-probability==0.13.0tfp-nightly. 另外,请注意,unnormalized_log_prob目前几乎总是与 相同的东西log_prob,除了在,比如说,JointDistributionPinned


推荐阅读