uniform¶
返回数值服从范围[min
, max
)内均匀分布的随机 Tensor,形状为 shape
,数据类型为 dtype
。
示例 1:
给定:
shape=[1,2]
则输出为:
result=[[0.8505902, 0.8397286]]
参数¶
shape (list|tuple|Tensor) - 生成的随机 Tensor 的形状。如果
shape
是 list、tuple,则其中的元素可以是 int,或者是形状为[]且数据类型为 int32、int64 的 0-D Tensor。如果shape
是 Tensor,则是数据类型为 int32、int64 的 1-D Tensor。dtype (str|np.dtype,可选) - 输出 Tensor 的数据类型,支持 float32、float64。默认值为 None。
min (float|int,可选) - 要生成的随机值范围的下限,min 包含在范围中。支持的数据类型:float、int。默认值为-1.0。
max (float|int,可选) - 要生成的随机值范围的上限,max 不包含在范围中。支持的数据类型:float、int。默认值为 1.0。
seed (int,可选) - 随机种子,用于生成样本。0 表示使用系统生成的种子。注意如果种子不为 0,该操作符每次都生成同样的随机数。支持的数据类型:int。默认为 0。
name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。
返回¶
Tensor:数值服从范围[min
, max
)内均匀分布的随机 Tensor,形状为 shape
,数据类型为 dtype
。
代码示例¶
>>> import paddle
>>> # example 1:
>>> # attr shape is a list which doesn't contain Tensor.
>>> out1 = paddle.uniform(shape=[3, 4])
>>> print(out1)
Tensor(shape=[3, 4], dtype=float32, place=Place(cpu), stop_gradient=True,
[[ 0.38170254, -0.47945309, 0.39794648, -0.94233936],
[-0.85296679, -0.76094693, 0.10565400, 0.59155810],
[ 0.11681318, -0.42144555, -0.81596589, 0.62113667]])
>>> # example 2:
>>> # attr shape is a list which contains Tensor.
>>> dim1 = paddle.to_tensor(2, 'int64')
>>> dim2 = paddle.to_tensor(3, 'int32')
>>> out2 = paddle.uniform(shape=[dim1, dim2])
>>> print(out2)
Tensor(shape=[2, 3], dtype=float32, place=Place(cpu), stop_gradient=True,
[[-0.00294012, -0.07210171, -0.44236207],
[ 0.70089281, 0.21500075, -0.22084606]])
>>> # example 3:
>>> # attr shape is a Tensor, the data type must be int64 or int32.
>>> shape_tensor = paddle.to_tensor([2, 3])
>>> out3 = paddle.uniform(shape_tensor)
>>> print(out3)
Tensor(shape=[2, 3], dtype=float32, place=Place(cpu), stop_gradient=True,
[[-0.60801756, 0.32448411, 0.90269291],
[-0.66421294, -0.95218551, -0.51022208]])