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

Kas*_*v92 8 python python-3.5 tensorflow

我试图使用正态分布来计算随机数.

tf.truncated_normal(shape, stddev=0.1,seed=1, mean=0)
Run Code Online (Sandbox Code Playgroud)

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

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

Ari*_*old 16

tf.random_uniform支持minval,maxval和dtypes float32,float64,int32,或int64.

tf.random_uniform(
    shape, minval=0, maxval=None, dtype=tf.float32, seed=None, name=None)
Run Code Online (Sandbox Code Playgroud)

ARGS:

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

  • 多年来它已经变成了“tf.random.uniform()”:) https://www.tensorflow.org/api_docs/python/tf/random/uniform (3认同)