diff --git a/doc/fluid/api_cn/layers_cn/uniform_random_cn.rst b/doc/fluid/api_cn/layers_cn/uniform_random_cn.rst index a4b078be182e3f85ed15844f0d0441becda813e3..a414e6b725b44bea8d6ecd14e5a1aa94b2e0eeb5 100644 --- a/doc/fluid/api_cn/layers_cn/uniform_random_cn.rst +++ b/doc/fluid/api_cn/layers_cn/uniform_random_cn.rst @@ -4,26 +4,58 @@ uniform_random ------------------------------- .. py:function:: paddle.fluid.layers.uniform_random(shape, dtype='float32', min=-1.0, max=1.0, seed=0) -该操作符初始化一个张量,该张量的值是从均匀分布中抽样的随机值 -参数: - - **shape** (LONGS)-输出张量的维 - - **dtype** (np.dtype|core.VarDesc.VarType|str) – 数据的类型, 例如float32, float64。 默认: float32. - - **min** (FLOAT)-均匀随机分布的最小值。[默认 -1.0] - - **max** (FLOAT)-均匀随机分布的最大值。[默认 1.0] - - **seed** (INT)-随机种子,用于生成样本。0表示使用系统生成的种子。注意如果种子不为0,该操作符每次都生成同样的随机数。[默认 0] +该OP使用从均匀分布中抽样的随机值初始化一个Tensor。 +:: -**代码示例**: + 示例1: + 给定: + shape=[1,2] + 则输出为: + result=[[0.8505902, 0.8397286]] -.. code-block:: python +参数: + - **shape** (list|tuple|Variable)-输出Tensor的维度,shape类型支持list,tuple,Variable。如果shape类型是list或者tuple,它的元素可以是整数或者形状为[1]的Tensor,其中整数的数据类型为int,Tensor的数据类型为int64。如果shape的类型是Variable,则是1D的Tensor,Tensor的数据类型为int64。 + - **dtype** (np.dtype|core.VarDesc.VarType|str,可选) – 输出Tensor的数据类型,支持float32(默认), float64。 + - **min** (float,可选)-均匀随机分布的最小值,为闭区间。数据类型为float。默认值为-1.0。 + - **max** (float,可选)-均匀随机分布的最大值,为开区间。数据类型为float。默认值为1.0。 + - **seed** (int,可选)-随机种子,用于生成样本。0表示使用系统生成的种子。注意如果种子不为0,该操作符每次都生成同样的随机数。数据类型为int。默认为 0。 - import paddle.fluid as fluid - result = fluid.layers.uniform_random(shape=[32, 784]) +返回:表示一个随机初始化结果的Tensor,该Tensor的数据类型由dtype参数决定,该Tensor的维度由shape参数决定。 + +返回类型:Variable +抛出异常: + - :code:`TypeError`: shape的类型应该是list、tuple 或 Variable。 +**代码示例**: +.. code-block:: python + import paddle.fluid as fluid + import numpy as np + + startup_program = fluid.Program() + train_program = fluid.Program() + with fluid.program_guard(train_program, startup_program): + # example 1: + # attr shape is a list which doesn't contain tensor Variable. + result_1 = fluid.layers.uniform_random(shape=[3, 4]) + + # example 2: + # attr shape is a list which contains tensor Variable. + dim_1 = fluid.layers.fill_constant([1],"int64",3) + result_2 = fluid.layers.uniform_random(shape=[dim_1, 5]) + + # example 3: + # attr shape is a Variable, the data type must be int64 + var_shape = fluid.layers.data(name='var_shape',shape=[2],append_batch_size=False) + result_3 = fluid.layers.uniform_random(var_shape) + + exe = fluid.Executor(fluid.CPUPlace()) + exe.run(startup_program) + outs = exe.run(train_program, feed = {'var_shape':np.array([3,4])}, fetch_list=[result_1, result_2, result_3])