scale¶
- paddle. scale ( x, scale=1.0, bias=0.0, bias_after_scale=True, act=None, name=None ) [source]
-
Scale operator.
Putting scale and bias to the input Tensor as following:
bias_after_scale
is True:\[Out=scale*X+bias\]bias_after_scale
is False:\[Out=scale*(X+bias)\]- Parameters
-
x (Tensor) – Input N-D Tensor of scale operator. Data type can be float32, float64, int8, int16, int32, int64, uint8.
scale (float|Tensor) – The scale factor of the input, it should be a float number or a 0-D Tensor with shape [] and data type as float32.
bias (float) – The bias to be put on the input.
bias_after_scale (bool) – Apply bias addition after or before scaling. It is useful for numeric stability in some circumstances.
act (str, optional) – Activation applied to the output such as tanh, softmax, sigmoid, relu.
name (str, optional) – Name for the operation (optional, default is None). For more information, please refer to Name.
- Returns
-
Output Tensor of scale operator, with shape and data type same as input.
- Return type
-
Tensor
Examples
>>> # scale as a float32 number >>> import paddle >>> data = paddle.arange(6).astype("float32").reshape([2, 3]) >>> print(data) Tensor(shape=[2, 3], dtype=float32, place=Place(cpu), stop_gradient=True, [[0., 1., 2.], [3., 4., 5.]]) >>> res = paddle.scale(data, scale=2.0, bias=1.0) >>> print(res) Tensor(shape=[2, 3], dtype=float32, place=Place(cpu), stop_gradient=True, [[1. , 3. , 5. ], [7. , 9. , 11.]])
>>> # scale with parameter scale as a Tensor >>> import paddle >>> data = paddle.arange(6).astype("float32").reshape([2, 3]) >>> print(data) Tensor(shape=[2, 3], dtype=float32, place=Place(cpu), stop_gradient=True, [[0., 1., 2.], [3., 4., 5.]]) >>> factor = paddle.to_tensor([2], dtype='float32') >>> res = paddle.scale(data, scale=factor, bias=1.0) >>> print(res) Tensor(shape=[2, 3], dtype=float32, place=Place(cpu), stop_gradient=True, [[1. , 3. , 5. ], [7. , 9. , 11.]])