问题标签 [tensorflow-probability]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
868 浏览

python - 张量流概率错误:AttributeError:模块'tensorflow_probability'没有属性'distributions'

我正在使用 Tensorflow Probability 网页上提供的小示例代码在我们的网格环境(在 redhat6.10 上运行)测试 tensorflow 概率。我能够导入 tensorflow_probability,但在执行下一个命令时遇到以下错误: features = tfp.distributions.Normal(loc=0., scale=1.).sample(int(100e3))

有人有想法吗?这次我在窗口 PC 上运行相同的代码时,它运行良好。

0 投票
3 回答
732 浏览

python - TensorFlow:来自 Gumbel Softmax 的样本整数

我正在实现一个程序来从分类分布中采样整数,其中每个整数都与一个概率相关联。我需要确保这个程序是可微的,以便可以应用反向传播。我发现tf.contrib.distributions.RelaxedOneHotCategorical这非常接近我想要实现的目标。

然而,sample这个类的方法返回一个单热向量,而不是一个整数。如何编写一个既可微又返回整数/标量而不是向量的程序?

0 投票
1 回答
628 浏览

tensorflow - TensorFlow Probability 返回不稳定的预测

我正在使用 Tensorflow 概率模型。当然是概率结果,误差的导数不会为零(否则模型将是确定性的)。预测是不稳定的,因为我们在损失的导数中有一个范围,比如说在凸优化中,例如从 1.2 到 0.2。

每次训练模型时,此间隔都会生成不同的预测。有时我得到一个很好的拟合(红色=真实,蓝线=预测+2标准偏差和-2标准偏差):

合身

有时不是,具有相同的超参数:

不合身

有时镜像:

镜像

出于商业目的,这是非常有问题的,因为预计预测会提供稳定的输出。

这是代码:

失利:

有没有办法控制概率模型的预测输出?损失停止在 1.42,甚至降低了学习率并增加了训练 epoch。我在这里想念什么?

回答后的工作代码:

0 投票
1 回答
405 浏览

python - 如何在 TensorFlow Probability 中创建分布数组?

我正在尝试使用 Tensorflow Probability 编写代码,以使用 EM 算法对一组样本(来自多个高斯分布)进行分类。

因为我想为任何一般问题编写此代码(如果样本来自 2 个高斯分布或 8 个高斯分布,我希望它能够工作)。

我现在遇到的问题是我找不到创建数组的方法tfd.Normal

我想将它作为一个数组(或其他类似类型的数据),因为这样我可以处理不确定数量的分布。

谁能帮我解决这个问题?

下面的代码会是一个解决方案吗?

0 投票
2 回答
305 浏览

python - Tensorflow 混合两种多元分布

我想在张量流中混合两个多元分布。例如:

但是,它得到了如下错误:

ValueError:尺寸 2 和 3 不兼容

ValueError:形状 (2, 3) 和 (3, 4) 不兼容

我可以在张量流中混合两个多元分布吗?

0 投票
0 回答
300 浏览

tensorflow - 如何为 VAE 实现高斯混合?

我觉得我真的不知道我在做什么,所以我会描述我认为我在做什么,我想做什么以及失败的地方。

给定一个正常的变分自编码器:

我想我在做什么:让神经网络找到一个“均值”和“标准差”值,并用它来创建正态分布(高斯)。从该分布中采样并将其用于解码器。换句话说:学习编码的高斯分布

现在我想对混合高斯做同样的事情。

这对我来说似乎相对简单,只是它失败并出现以下错误:

形状 () 和 (?,) 不兼容

这似乎来自probs没有批量维度(我不认为它需要那个)。

我认为这probs定义了组件之间的概率。

如果我定义一个probs也有批次维度的,我会得到以下神秘错误,我不知道它应该是什么意思:

维度 -1796453376 必须 >= 0

我通常会误解一些概念吗?

或者我需要做些什么不同的事情?

0 投票
1 回答
174 浏览

python - 如何正确使用 tensorflow_probability 从随机变量函数中采样?

我对 tensorflow_probability 中双射器的特性很感兴趣,所以我尝试从 tfp.bijectors 构造的随机变量函数中进行采样。

我只是提供了我的测试代码,在这里我提供了一些细节:我曾经测试过的案例是 Chi_square 分布。我通过两种不同的方式将样本从 Chi(2) 分布中取出:(1)直接使用 tensorflow 中的 Chi(2) api;(2)通过 Chi(2) 和标准正态分布( N(0, 1) ) 之间的关系使用 tfp.bijectors:如果 X, Y iid~N(0,1), Z = g(X, Y) = X^2 + Y^2,然后 Z ~ Chi(2)。我的结果显示,两个组样本的均值大致相等,但两个标准差差异更大,任何人都可以告诉我我错在哪里以及如何正确使用 tf_probability?

这是我的结果,Origin line是直接通过tf中的Chi(2) api计算的,左图显示了origin结果;构造线和右图由 tf_probability.bijectors 获得。

在此处输入图像描述

0 投票
1 回答
687 浏览

python - 使用 TensorFlow Probability 的 Edward2 的简单哈密顿蒙特卡罗示例

爱德华示例

由于Edward已弃用且需要较旧版本的 TensorFlow,因此可以为以下示例创建专用的虚拟环境

我有一个非常简单的最小工作示例,将哈密顿蒙特卡罗与爱德华一起使用,称为edward_old.py

这产生了下面的情节

在此处输入图像描述

Edward2 示例

但是,当我尝试在以下环境中使用TensorFlow ProbabilityEdward2复制它时

和以下从edward_old.py'sgenerate_samples在一个名为edward2.py

与运行

说明存在一些明显的问题。我不认为我正在制定ed.models.Empirical正确的等价物,所以如果对此有想法或其他任何我做错的事情,那就太好了。

我已经尝试遵循“从 Edward 升级到 Edward2 ”示例,但我无法充分理解它们,无法从deep_exponential_family模型中使用的示例转移到此示例。

0 投票
1 回答
249 浏览

r - 如何在 R 语言的 kaggle 内核中安装 tensorflow-probability

我需要tensorflow-probability为 R 语言安装 kaggle 内核。

我尝试使用以下代码,

这似乎只安装 tensorflow,当我尝试加载greta依赖于 tensorflow-probability 的 package 时,我收到以下错误,

还尝试通过自定义软件包选项安装它,该选项显示它已安装,但 greta 提到它未安装。

0 投票
1 回答
92 浏览

tensorflow - 如何将此 Edward 代码转换为 TFP 代码?

我在 Edward 中编写了概率矩阵分解模型。我正在尝试将其移植到 TFP,但我不确定如何定义对数似然和 KL 散度项。这是爱德华的代码 -