StackTransform¶
- class paddle.distribution. StackTransform ( transforms, axis=0 ) [source]
 - 
         
StackTransformapplies a sequence of transformations along the specific axis.- Parameters
 - 
           
transforms (Sequence[Transform]) – The sequence of transformations.
axis (int, optional) – The axis along which will be transformed. default value is 0.
 
Examples
>>> import paddle >>> x = paddle.stack( ... (paddle.to_tensor([1., 2., 3.]), paddle.to_tensor([1, 2., 3.])), 1) >>> t = paddle.distribution.StackTransform( ... (paddle.distribution.ExpTransform(), ... paddle.distribution.PowerTransform(paddle.to_tensor(2.))), ... 1 >>> ) >>> print(t.forward(x)) Tensor(shape=[3, 2], dtype=float32, place=Place(cpu), stop_gradient=True, [[2.71828175 , 1. ], [7.38905621 , 4. ], [20.08553696, 9. ]]) >>> print(t.inverse(t.forward(x))) Tensor(shape=[3, 2], dtype=float32, place=Place(cpu), stop_gradient=True, [[1., 1.], [2., 2.], [3., 3.]]) >>> print(t.forward_log_det_jacobian(x)) Tensor(shape=[3, 2], dtype=float32, place=Place(cpu), stop_gradient=True, [[1. , 0.69314718], [2. , 1.38629436], [3. , 1.79175949]])
- 
            
           forward
           (
           x
           )
           
forward¶
 - 
           
Forward transformation with mapping \(y = f(x)\).
Useful for turning one random outcome into another.
- Parameters
 - 
             
x (Tensos) – Input parameter, generally is a sample generated from
Distribution. - Returns
 - 
             
Outcome of forward transformation.
 - Return type
 - 
             
Tensor
 
 
- 
            
           forward_log_det_jacobian
           (
           x
           )
           
forward_log_det_jacobian¶
 - 
           
The log of the absolute value of the determinant of the matrix of all first-order partial derivatives of the inverse function.
- Parameters
 - 
             
x (Tensor) – Input tensor, generally is a sample generated from
Distribution - Returns
 - 
             
The log of the absolute value of Jacobian determinant.
 - Return type
 - 
             
Tensor
 
 
- 
            
           forward_shape
           (
           shape
           )
           
forward_shape¶
 - 
           
Infer the shape of forward transformation.
- Parameters
 - 
             
shape (Sequence[int]) – The input shape.
 - Returns
 - 
             
The output shape.
 - Return type
 - 
             
Sequence[int]
 
 
- 
            
           inverse
           (
           y
           )
           
inverse¶
 - 
           
Inverse transformation \(x = f^{-1}(y)\). It’s useful for “reversing” a transformation to compute one probability in terms of another.
- Parameters
 - 
             
y (Tensor) – Input parameter for inverse transformation.
 - Returns
 - 
             
Outcome of inverse transform.
 - Return type
 - 
             
Tensor
 
 
- 
            
           inverse_log_det_jacobian
           (
           y
           )
           
inverse_log_det_jacobian¶
 - 
           
Compute \(log|det J_{f^{-1}}(y)|\). Note that
forward_log_det_jacobianis the negative of this function, evaluated at \(f^{-1}(y)\).- Parameters
 - 
             
y (Tensor) – The input to the
inverseJacobian determinant evaluation. - Returns
 - 
             
The value of \(log|det J_{f^{-1}}(y)|\).
 - Return type
 - 
             
Tensor
 
 
- 
            
           inverse_shape
           (
           shape
           )
           
inverse_shape¶
 - 
           
Infer the shape of inverse transformation.
- Parameters
 - 
             
shape (Sequence[int]) – The input shape of inverse transformation.
 - Returns
 - 
             
The output shape of inverse transformation.
 - Return type
 - 
             
Sequence[int]
 
 
 
