logaddexp¶
- paddle. logaddexp ( x, y, name=None ) [source]
-
Elementwise LogAddExp Operator. Add of exponentiations of the inputs The equation is:
\[Out=log(X.exp()+Y.exp())\]$X$ the tensor of any dimension. $Y$ the tensor whose dimensions must be less than or equal to the dimensions of $X$.
There are two cases for this operator:
The shape of $Y$ is the same with $X$.
The shape of $Y$ is a continuous subsequence of $X$.
For case 2:
Broadcast $Y$ to match the shape of $X$, where axis is the start dimension index for broadcasting $Y$ onto $X$.
If $axis$ is -1 (default), $axis$=rank($X$)-rank($Y$).
The trailing dimensions of size 1 for $Y$ will be ignored for the consideration of subsequence, such as shape($Y$) = (2, 1) => (2).
For example:
shape(X) = (2, 3, 4, 5), shape(Y) = (,) shape(X) = (2, 3, 4, 5), shape(Y) = (5,) shape(X) = (2, 3, 4, 5), shape(Y) = (4, 5), with axis=-1(default) or axis=2 shape(X) = (2, 3, 4, 5), shape(Y) = (3, 4), with axis=1 shape(X) = (2, 3, 4, 5), shape(Y) = (2), with axis=0 shape(X) = (2, 3, 4, 5), shape(Y) = (2, 1), with axis=0
- Parameters
-
x (Tensor) – Tensor or LoDTensor of any dimensions. Its dtype should be int32, int64, float32, float64, float16.
y (Tensor) – Tensor or LoDTensor of any dimensions. Its dtype should be int32, int64, float32, float64, float16.
name (string, optional) – For details, please refer to Name. Generally, no setting is required. Default: None.
- Returns
-
N-D Tensor. A location into which the result is stored. It’s dimension equals with x.
Examples
>>> import paddle >>> x = paddle.to_tensor([-1, -2, -3], 'float64') >>> y = paddle.to_tensor([-1], 'float64') >>> z = paddle.logaddexp(x, y) >>> print(z) Tensor(shape=[3], dtype=float64, place=Place(cpu), stop_gradient=True, [-0.30685282, -0.68673831, -0.87307199])