normal¶
- paddle. normal ( mean=0.0, std=1.0, shape=None, name=None ) [source]
-
Returns a Tensor filled with random values sampled from a normal distribution with
mean
andstd
(standard deviation) .If
mean
is a Tensor, the output Tensor has the same shape and data type asmean
. Ifmean
is not a Tensor andstd
is a Tensor, the output Tensor has the same shape and data type asstd
. Ifmean
andstd
are not a Tensor, the output Tensor has the same shape asshape
, with data type float32.If
mean
andstd
are Tensor, the num of elements ofmean
andstd
should be the same.- Parameters
-
mean (float|Tensor, optional) – The mean of the output Tensor’s normal distribution. If
mean
is float, all elements of the output Tensor shared the same mean. Ifmean
is a Tensor(data type supports float32, float64), it has per-element means. Default is 0.0std (float|Tensor, optional) – The standard deviation of the output Tensor’s normal distribution. If
std
is float, all elements of the output Tensor shared the same standard deviation. Ifstd
is a Tensor(data type supports float32, float64), it has per-element standard deviations. Default is 1.0shape (tuple|list|Tensor) – Shape of the Tensor to be created. The data type is
int32
orint64
. Ifshape
is a list or tuple, each element of it should be integer or 0-D Tensor with shape []. Ifshape
is an Tensor, it should be an 1-D Tensor which represents a list. Ifmean
orstd
is a Tensor, the shape of the output Tensor is the same asmean
orstd
, attrshape
is ignored. Default is Nonename (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name.
- Returns
-
A Tensor filled with random values sampled from a normal distribution with
mean
andstd
.
Examples
>>> import paddle >>> out1 = paddle.normal(shape=[2, 3]) >>> print(out1) >>> Tensor(shape=[2, 3], dtype=float32, place=Place(cpu), stop_gradient=True, [[-0.85107994, -0.85490644, -1.35941815], [-0.55500370, 0.20964541, 2.24193954]]) >>> >>> mean_tensor = paddle.to_tensor([1.0, 2.0, 3.0]) >>> out2 = paddle.normal(mean=mean_tensor) >>> print(out2) >>> Tensor(shape=[3], dtype=float32, place=Place(cpu), stop_gradient=True, [1.05411839, 3.71514320, 3.42665267]) >>> >>> std_tensor = paddle.to_tensor([1.0, 2.0, 3.0]) >>> out3 = paddle.normal(mean=mean_tensor, std=std_tensor) >>> print(out3) >>> Tensor(shape=[3], dtype=float32, place=Place(cpu), stop_gradient=True, [0.48646951, 0.00815189, 3.74022293]) >>>