uniform_random

paddle.fluid.layers.nn. uniform_random ( shape, dtype='float32', min=- 1.0, max=1.0, seed=0, name=None ) [source]

This OP returns a Tensor filled with random values sampled from a uniform distribution in the range [min, max), with shape and dtype.

Examples:

Input:
  shape = [1, 2]

Output:
  result=[[0.8505902, 0.8397286]]
Parameters
  • shape (list|tuple|Tensor) – The shape of the output Tensor. If shape is a list or tuple, the elements of it should be integers or Tensors (with the shape [1], and the data type int32 or int64). If shape is a Tensor, it should be a 1-D Tensor(with the data type int32 or int64).

  • dtype (str|np.dtype|core.VarDesc.VarType, optional) – The data type of the output Tensor. Supported data types: float32, float64. Default is float32.

  • min (float|int, optional) – The lower bound on the range of random values to generate, min is included in the range. Default is -1.0.

  • max (float|int, optional) – The upper bound on the range of random values to generate, max is excluded in the range. Default is 1.0.

  • seed (int, optional) – Random seed used for generating samples. 0 means use a seed generated by the system. Note that if seed is not 0, this operator will always generate the same random numbers every time. Default is 0.

  • name (str, optional) – The default value is None. Normally there is no need for user to set this property. For more information, please refer to Name.

Returns

A Tensor filled with random values sampled from a uniform distribution in the range [min, max), with shape and dtype.

Return type

Tensor

Raises
  • TypeError – If shape is not list, tuple, Tensor.

  • TypeError – If dtype is not float32, float64.

Examples

import paddle
import paddle.fluid as fluid
paddle.enable_static()

# example 1:
# attr shape is a list which doesn't contain Tensor.
result_1 = fluid.layers.uniform_random(shape=[3, 4])
# [[ 0.84524226,  0.6921872,   0.56528175,  0.71690357],
#  [-0.34646994, -0.45116323, -0.09902662, -0.11397249],
#  [ 0.433519,    0.39483607, -0.8660099,   0.83664286]]

# example 2:
# attr shape is a list which contains Tensor.
dim_1 = fluid.layers.fill_constant([1], "int64", 2)
dim_2 = fluid.layers.fill_constant([1], "int32", 3)
result_2 = fluid.layers.uniform_random(shape=[dim_1, dim_2])
# [[-0.9951253,   0.30757582, 0.9899647 ],
#  [ 0.5864527,   0.6607096,  -0.8886161 ]]

# example 3:
# attr shape is a Tensor, the data type must be int64 or int32.
var_shape = fluid.data(name='var_shape', shape=[2], dtype="int64")
result_3 = fluid.layers.uniform_random(var_shape)
# if var_shape's value is [2, 3]
# result_3 is:
# [[-0.8517412,  -0.4006908,   0.2551912 ],
#  [ 0.3364414,   0.36278176, -0.16085452]]