gpt4 book ai didi

tensorflow - 使用种子对 tensorflow 概率进行采样

转载 作者:行者123 更新时间:2023-12-04 01:47:33 25 4
gpt4 key购买 nike

我正在尝试使用 tensorflow-probability并从一些非常简单的事情开始:

import tensorflow as tf
import tensorflow_probability as tfp

tf.enable_eager_execution()

tfd = tfp.distributions
poiss = tfd.Poisson(0.8)

poiss.sample(2, seed=1)
#> Out: <tf.Tensor: id=3569, shape=(2,), dtype=float32, numpy=array([0., 0.], dtype=float32)>

poiss.sample(2, seed=1)
#> Out: <tf.Tensor: id=3695, shape=(2,), dtype=float32, numpy=array([1., 0.], dtype=float32)>

poiss.sample(2, seed=1)
#> Out: <tf.Tensor: id=3824, shape=(2,), dtype=float32, numpy=array([2., 2.], dtype=float32)>

poiss.sample(2, seed=1)
#> Out: <tf.Tensor: id=3956, shape=(2,), dtype=float32, numpy=array([0., 1.], dtype=float32)>

我想当重复使用相同的种子时我会得到相同的结果,但不知何故,这不是真的。

我也试过没有 eager执行,但结果仍然无法重现。如果我添加类似 tf.set_random_seed(12) 的内容,情况相同.

我想我缺少一些基本的东西?

对于那些感兴趣的人,我正在运行 Ubuntu 16.04 上的 Python 3.5.2

tensorflow-probability==0.5.0
tensorflow==1.12.0

最佳答案

对于图形模式下的确定性输出,您需要同时设置图形随机种子(tf.set_random_seed)和操作随机种子(示例调用中的 seed=)。

TFv2 中随机采样器的工作仍在 sorted out .目前,我最好的理解是您可以调用tf.set_random_seed在每次调用采样器之前,并将采样器传递给 seed= ,如果你想要确定性的输出。

关于tensorflow - 使用种子对 tensorflow 概率进行采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54631978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com