当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.random.uniform用法及代码示例


从均匀分布中输出随机值。

用法

tf.random.uniform(
    shape, minval=0, maxval=None, dtype=tf.dtypes.float32, seed=None, name=None
)

参数

  • shape 一维整数张量或 Python 数组。输出张量的形状。
  • minval dtype 类型的张量或 Python 值,可使用 shape 广播(对于整数类型,不支持广播,因此它需要是标量)。要生成的随机值范围的下限(包括)。默认为 0。
  • maxval dtype 类型的张量或 Python 值,可使用 shape 广播(对于整数类型,不支持广播,因此它需要是标量)。要生成的随机值范围的上限(不包括)。如果 dtype 是浮点数,则默认为 1。
  • dtype 输出的类型: float16 , bfloat16 , float32 , float64 , int32int64 。默认为 float32
  • seed 一个 Python 整数。与tf.random.set_seed 结合使用,在多个调用中创建可重现的张量序列。
  • name 操作的名称(可选)。

返回

  • 用随机统一值填充的指定形状的张量。

抛出

  • ValueError 如果dtype 是整数且未指定maxval

生成的值遵循 [minval, maxval) 范围内的均匀分布。下限 minval 包含在范围内,而上限 maxval 不包括在内。

对于浮点数,默认范围是 [0, 1) 。对于整数,至少必须明确指定maxval

在整数情况下,随机整数略有偏差,除非 maxval - minval 是 2 的精确幂。对于明显小于输出范围(2**322**64)的 maxval - minval 的值,偏差很小。

例子:

tf.random.uniform(shape=[2])
<tf.Tensor:shape=(2,), dtype=float32, numpy=array([..., ...], dtype=float32)>
tf.random.uniform(shape=[], minval=-1., maxval=0.)
<tf.Tensor:shape=(), dtype=float32, numpy=-...>
tf.random.uniform(shape=[], minval=5, maxval=10, dtype=tf.int64)
<tf.Tensor:shape=(), dtype=int64, numpy=...>

seed 参数在多个调用中产生一个确定的张量序列。要重复该序列,请使用 tf.random.set_seed

tf.random.set_seed(5)
tf.random.uniform(shape=[], maxval=3, dtype=tf.int32, seed=10)
<tf.Tensor:shape=(), dtype=int32, numpy=2>
tf.random.uniform(shape=[], maxval=3, dtype=tf.int32, seed=10)
<tf.Tensor:shape=(), dtype=int32, numpy=0>
tf.random.set_seed(5)
tf.random.uniform(shape=[], maxval=3, dtype=tf.int32, seed=10)
<tf.Tensor:shape=(), dtype=int32, numpy=2>
tf.random.uniform(shape=[], maxval=3, dtype=tf.int32, seed=10)
<tf.Tensor:shape=(), dtype=int32, numpy=0>

如果没有 tf.random.set_seed 但指定了 seed 参数,对函数图或先前执行的操作的微小更改将更改返回值。有关详细信息,请参阅tf.random.set_seed

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.random.uniform。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。