在 TensorFlow 中对伯努利随机变量进行采样

2024-05-06

给定一个包含伯努利分布均值的一维张量,如何使用给定的均值对相应的一维张量进行采样?

TensorFlow 似乎只有random_normal and random_uniform实现的功能。我可以使用一些复杂的东西,例如:

tf.ceil(tf.sub(tf.random_uniform((1, means.get_shape()[0])),means))

but the ceil函数在 TensorFlow 中没有定义梯度。


您可以使用tf.select,这是可微分的。

means = tf.constant([.3,.8])
a = tf.select(tf.random_uniform([1, 2])- means > 0.5, tf.ones([1,2]), tf.zeros([1,2]))
with tf.Session(''): a.eval()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 TensorFlow 中对伯努利随机变量进行采样 的相关文章

随机推荐