如何在给定范围内生成随机数作为Tensorflow变量

时间:2016-10-24 12:44:39

标签: python tensorflow python-3.5

我正在尝试使用正态分布来计算随机数。

tf.truncated_normal(shape, stddev=0.1,seed=1, mean=0)

但我得到的数字是小数点后有多位数的浮点数,如下所示:0.14845988

有没有办法让它生成数字为int,并且在[min, max]这样的给定范围内?

1 个答案:

答案 0 :(得分:15)

tf.random_uniform支持minvalmaxval和dtypes float32float64int32int64

tf.random_uniform(
    shape, minval=0, maxval=None, dtype=tf.float32, seed=None, name=None)

<强> ARGS:

  • shape :一维整数Tensor或Python数组。输出张量的形状。
  • minval :dtype类型的0-D Tensor或Python值。要生成的随机值范围的下限。默认为0。
  • maxval :dtype类型的0-D Tensor或Python值。要生成的随机值范围的上限。如果dtype是浮点,则默认为1。
  • dtype :输出的类型:float32,float64,int32或int64。
  • 种子:Python整数。用于为分发创建随机种子。请参阅set_random_seed了解行为。
  • 名称:操作的名称(可选)。