def __init__(self, dim: int, std_init_params: float = 0.1):
        """
        ADVI architecture. This consists of a simple component-wise linear transformation of the input. The
        transformation includes a mean and a log-std parameters. With this architecture, when the base distribution
        is a diagonal Gaussian, the resulting push-forward will also be. See
         [Dinh et al., 2017](https://arxiv.org/abs/1605.08803) for reference.

        Parameters
        ----------
        dim: int
            Dimension of input and output of the invertible transformation.
        std_init_params: float
            Standard deviation of the random Gaussian initializing the parameters.
        """
        self.dim = dim
        self.std_init_params = std_init_params

        ADVI architecture. This consists of a simple component-wise linear transformation of the input. The
        transformation includes a mean and a log-std parameters. With this architecture, when the base distribution
        is a diagonal Gaussian, the resulting push-forward will also be. See
         [Dinh et al., 2017](https://arxiv.org/abs/1605.08803) for reference.

        Parameters
        ----------
        dim: int
            Dimension of input and output of the invertible transformation.
        std_init_params: float
            Standard deviation of the random Gaussian initializing the parameters.
        
fortuna/prob_model/posterior/normalizing_flow/advi/advi_architecture.py