问题标签 [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 回答
197 浏览

tensorflow - edward中如何获取预测结果

感谢这个社区。我是初学者,我对使用Edward有一个非常愚蠢的问题。我正在使用教程回归模型。一切都很完美。我想知道如何获得测试集的预测。例如,假设

我怎样才能通过提供测试集得到 y?我试过了:y.eval(feed_dict={X: x_valid})。但平均绝对误差结果似乎不匹配:使用的 MAEed.evaluate('mean_absolute_error', data={X: x_valid, y_post: y_valid})大约为 0.074,而来自 y.eval 和 y_valid 的 MAE 大约为 0.11。

我也试过sess.run(y, feed_dict={X: x_valid})了,也不行。

0 投票
1 回答
689 浏览

tensorflow - 张量流分布创建概率大于1

我正在使用 tensorflow 分发 API 进行采样,以下是我正在使用的示例代码,但我发现概率大于 1,然后对数概率小于 0。我尝试了 CPU 和 GPU,都产生了这个奇怪的结果。张量流是1.3。

p 是我的概率输出,lp 是对数概率

谢谢!

0 投票
0 回答
123 浏览

tensorflow - 使用正态分布而不是伯努利分布

我是 TensorFlow 和机器学习的新手。我需要使用带有变分自动编码器的正态分布。我搜索了使用正态分布但没有运气的示例。任何人都可以提供神经网络中输出值的正态分布的示例吗?

0 投票
1 回答
2718 浏览

tensorflow - TensorFlow Probability 的贝叶斯层的属性损失代表什么?

我在使用Tensorflow Probability实现的贝叶斯神经网络上运行示例代码。

我的问题是关于用于变分推理的 ELBO 损失的实现。ELBO 等于两项之和,即neg_log_likelihoodkl代码中实现。我很难理解该kl术语的实施。

以下是模型的定义方式:

以下是“kl”术语的定义:

我不确定neural_net.losses这里返回的是什么,因为没有为neural_net. 显然,会有一些返回值neural_net.losses,但是我不知道返回值是什么意思。对此有何评论?

我的猜测是 L2 规范,但我不确定。如果是这样的话,我们仍然缺少一些东西。根据VAE论文附录 B,作者在先验为标准正态时推导出 KL 项。事实证明,它非常接近变分参数的 L2 范数,除了有额外的对数方差项和常数项。对此有何评论?

0 投票
1 回答
130 浏览

python - 构造张量流双射器错误

我是使用 tensorflow 的新手。我想构造一个具有以下属性的双射器:它采用维度概率分布 p(x1, x2, ..., xn),它只转换两个特定维度 i 和 j,使得 xi' = xi, xj ' = xj*exp(s(xi)) + t(xj),其中 s 和 t 是使用神经网络实现的两个函数。它输出 p(x1, x2, ..., xi', .., xj', .., xn)。我有一个基本代码如下所示:



但它并没有像我想的那样工作。当我使用该类时,它会弹出一个错误:


有错误:


真的希望一些专家可以帮助我了解我做错了什么以及如何解决这个问题。非常感谢!H。

0 投票
1 回答
322 浏览

python - 在张量流概率中指定 DirichletMultinomial

这可能是非常基本的,但我无法弄清楚——我有一个y从 Dirichlet-Multinomial 生成的 100x5 矩阵,我想使用张量流概率推断参数 gamma。下面是我实现的模型(为简单起见,我假设现在所有 5 个类的 gamma 都是相同的):

当我尝试使用 HMC 从中采样时,我收到以下错误:

ValueError:初始化参数“值”的形状不兼容。预期 (5,),得到 (100, 5)。

因此,指定一个长度为 5 的伽马向量似乎导致程序期望我的数据为 5x1 形状。我无法弄清楚如何正确指定模型——任何指针都将不胜感激。

0 投票
1 回答
224 浏览

python-3.x - 张量流概率中非负参数的负值

我正在尝试在张量流概率中拟合一个简单的 Dirichlet-Multinomial 模型。浓度参数是gamma并且我已经在它们上放置了 Gamma(1,1) 先验分布。这是模型,其中 S 是类别数,N 是样本数:

但是,当我尝试使用 HMC 从中采样时,接受率为零,并且初始抽签gamma包含负值。难道我做错了什么?不应该自动拒绝对浓度参数的否定建议吗?在我的采样代码下面:

0 投票
1 回答
293 浏览

tensorflow - 在张量流中乘以分布

我是 Tensorflow 的新手,我想将两个分布相乘以获得后验密度。我如何使用张量流来做到这一点?

例如:

我尝试使用tf.multiply(likelihood,prior),但它给了我数据类型错误

无法将类型对象转换为张量。内容:tf.distributions.MultivariateNormalDiag("MultivariateNormalDiag", batch_shape=(), event_shape=(3,), dtype=float32)。考虑将元素转换为支持的类型。

谁能帮我解决这个问题。

非常感谢帮助。谢谢

0 投票
1 回答
1031 浏览

python - 如何将两个高斯分布相乘?

我正在尝试将两个高斯分布相乘以获得 GMM 数据的后验。为了做到这一点,我试图使用.prob()来自 的函数tf.contrib.distributions.MultivariateNormalDiag,但每次我得到同样的错误,即使我提供的参数是float64.

我正在使用 TensorFlow 1.8 版本。

TypeError:输入有 dtype<dtype: 'float32'>但预期<dtype: 'float64'>.

我很困惑我是否以错误的方式做事,还是什么?有人可以帮我吗?

0 投票
1 回答
200 浏览

tensorflow - 相当于 `tensorflow_probability.edward2` 中的 `ed.copy`

我正在尝试将我的代码从 更改edwardtensorflow_probability.edward2. 问题是,每当我定义后验分布时,我都会使用a_post = ed.copy(a, {u: qu}, scope='a_post').copyAPI 似乎不再可用:

module 'tensorflow_probability.python.edward2' has no attribute 'copy'

tensorflow_probability做同样操作的方法是什么?