问题标签 [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.
tensorflow-probability - 对具有未知数量结构变化的 Poisson RV 进行建模
我有一些过去 365 天的用户交互计数数据。我有理由相信已经发生了一些改变用户交互速度的事件。模型如下:
假设
- 每日计数数据(本地)从带有参数的泊松分布中提取
lambda
- 之间有
0
结构n<365
变化,即lambda
变化 - 这些变化可以在 365 天期间的任何时间发生
期望的答案
- 可能的结构变化发生了多少次?
- 这些变化是什么时候发生的?
我想用tensorflow_probability
. 本章结尾处描述的模型似乎是一个很好的起点。但是,结构更改的数量被硬编码为 1。如何扩展此模型以处理未知数量的更改?
编辑
这是上述代码的修改版本。它允许任意数量的开关点。受到 Dave Moore 在下面的回答的启发,我允许tau
通过乘以 2 来获得“越界”元素。从风格上讲,我关心 的计算indices
,因为我认为理解正在发生的事情有点令人困惑。但是,我想不出更好的方法来做到这一点。从功能上讲,我担心越界值可能对对数概率产生影响。
python-3.x - 关于使用 SoftmaxCentered Bijector 的问题
我在 tensorflow_probability 中使用 SofmaxCenter 双射器并得到一些错误。由于它的文档处于起步阶段,我无法弄清楚出了什么问题。我希望你能帮助我。
基本上,假设 X 是三个分量的对数正态随机向量,我想创建另一个随机向量 Y,它被定义为 X 的 softmax 中心变换。
以下代码片段没有给出任何错误
然而,当我尝试时,
我收到以下错误,
谢谢!
tensorflow - Tensorflow:根据另一个张量对一个张量进行采样?
我有一个张量T
shapeBatch_Size x Num_Items x Item_Dimension
和另一个张量P
shape Batch_Size x Num_Items
,其中 P 的每批中的 Num_Items 值总和为 1(每批项目的概率分布)。我想N
根据概率分布 P 从 T 中抽取没有替换项目的样本。生成的张量应该是 shape Batch_Size x N x Item_Dimension
。我该怎么做?
python - 在 TensorFlow Probability 中,与贝叶斯层的损失属性相关的损失是什么?
TensorFlow Probability 层(例如DenseFlipout)有一个losses
方法(或属性)可以获取“与该层相关的损失”。有人能解释一下这些损失是什么吗?
浏览完Flipout 论文后,我认为损失是指权重和偏差的先验分布和后验分布之间的 Kullback-Leibler 散度。如果有人比我更了解这些事情,请纠正我。
tensorflow - 使用贝叶斯层时,keras 自定义损失得到错误的输出
keras 的自定义损失函数输出错误:当我使用贝叶斯层 ( tensorflow_probability.layers.DenseFlipout
) 并使用我的自定义损失函数时,我得到了错误的输出损失。但是如果我用传统tf.keras.layers.Dense
层替换贝叶斯层,输出是正确的。有谁能够帮我 ?
python - 使用张量流概率解决掷骰子和掷硬币问题,方差是错误的
我对统计学不是很精通,我正在努力学习。所以请多多包涵。我在 Quora 中看到了这个问题 - 基本上说明了以下内容 -
如果结果是奇数,则掷一个公平的骰子,然后投掷一个公平的硬币 3 次。否则,如果结果是偶数,则将投掷 2 次公平的硬币。在这两种情况下,都会计算正面数。获得的#个正面的方差是多少?
我想使用 Python 和 tf-probability 来解决它。这是我所做的 -
但是,这final_nd_arr.var()
当然与实际答案相去甚远(它是 2089.805555555556),0.68(正如人们在 Quora 答案中提到的那样)。
我无法找出我做错了什么。我怎样才能纠正我的错误?
任何指针都会有所帮助。提前非常感谢。
- - - - - 编辑
为了提供更多数据,
python - How to use HiddenMarkovModel from tensorflow probability?
I am following this tutorial:
in it it has code that references and uses a HiddenMarkovModel class in tfp. the code that does this in the tutorial is here:
However when I get to this line I get the following error:
Checking the documentation for distributions in tfp here:
https://www.tensorflow.org/probability/api_docs/python/tfp/distributions
I see there is no class called HiddenMarkovModel so I am wondering what I am doing wrong to be unable to get this class that the tutorial uses? This is an official tutorial so i can't imagine it is just "wrong" and no HiddenMarkovModel class exists.
tensorflow - 使用种子对张量流概率进行采样
我正在尝试使用tensorflow-probability
并开始使用一些非常简单的东西:
我想当重复使用相同的种子时我会得到相同的结果,但不知何故,这不是真的。
我也尝试过不eager
执行,但结果仍然无法重现。如果我添加类似tf.set_random_seed(12)
.
我想我缺少一些基本的东西?
对于那些感兴趣的人,我在 Ubuntu 16.04 上运行Python 3.5.2
张量流-概率==0.5.0
张量流==1.12.0
python - 没有为任何变量提供梯度,检查你的图表中不支持梯度的操作,变量和损失之间
我正在尝试使用 TensorFlow Probabilities Dense Flip-Out 层构建贝叶斯 Softmax 回归模型。该模型正在 MNIST 数据集上进行训练。
TensorFlow 返回错误:
没有为任何变量提供梯度,请检查您的图表中不支持梯度的操作,在变量 [] 和 0x7f07fc127840 处的损失之间
我认为这是由于随机变量不是微分的,因此不存在梯度。但是,Tensorflow 在其网站上提供了此代码的清晰演示 -这里。
有没有人对为什么会发生这种情况有一个全面的答案?
我的代码如下:
python - 张量流概率中的贝叶斯神经网络
我是 tensorflow 的新手,我正在尝试建立一个具有密集翻转层的贝叶斯神经网络。我的代码如下所示:
尝试编译网络时出现以下错误:
我不知道是什么导致了这个错误......请帮助:)