gaussian_random

  • paddle.fluid.layers.gaussian_random(shape, mean=0.0, std=1.0, seed=0, dtype='float32')[源代码]

生成数据符合高斯随机分布的 Tensor。

  • 参数:
    • shape (Tuple[int] | List[int])- 生成 Tensor 的形状。
    • mean (float)- 随机 Tensor 的均值,默认值为 0.0。
    • std (float)- 随机 Tensor 的标准差,默认值为 1.0。
    • seed (int)- 随机数种子,默认值为 0。注:seed 设置为 0 表示使用系统的随机数种子。注意如果 seed 不为 0,则此算子每次将始终生成相同的随机数。
    • dtype (np.dtype | core.VarDesc.VarType | str)- 输出 Tensor 的数据类型,可选值为 float32,float64。

返回:

  • 符合高斯分布的随机 Tensor。形状为 shape,数据类型为 dtype。

返回类型:

  • Variable

代码示例:

  1. # 静态图使用
  2. import numpy as np
  3. from paddle import fluid
  4.  
  5. x = fluid.layers.gaussian_random((2, 3), std=2., seed=10)
  6.  
  7. place = fluid.CPUPlace()
  8. exe = fluid.Executor(place)
  9. start = fluid.default_startup_program()
  10. main = fluid.default_main_program()
  11.  
  12. exe.run(start)
  13. x_np, = exe.run(main, feed={}, fetch_list=[x])
  14.  
  15. x_np
  16. # array([[2.3060477, 2.676496 , 3.9911983],
  17. # [0.9990833, 2.8675377, 2.2279181]], dtype=float32)
  1. # 动态图使用
  2. import numpy as np
  3. from paddle import fluid
  4. import paddle.fluid.dygraph as dg
  5.  
  6. place = fluid.CPUPlace()
  7. with dg.guard(place) as g:
  8. x = fluid.layers.gaussian_random((2, 4), mean=2., dtype="float32", seed=10)
  9. x_np = x.numpy()
  10. x_np
  11. # array([[2.3060477 , 2.676496 , 3.9911983 , 0.9990833 ],
  12. # [2.8675377 , 2.2279181 , 0.79029655, 2.8447366 ]], dtype=float32)