def forward(self, x, y=None):
        """
        Runs a forward pass on a data point through the VAE model to provide its reconstruction and the parameters of
        the variational approximate distribution q.

        :param x: input data
        :return: reconstructed input
        """
        z, q_mu, q_log_var = self.encoder(x)
        self.kl_divergence = self._kld(z, (q_mu, q_log_var))
        rec = self.decoder(z)

        return rec

        Runs a forward pass on a data point through the VAE model to provide its reconstruction and the parameters of
        the variational approximate distribution q.

        :param x: input data
        :return: reconstructed input
        
adbench/baseline/DeepSAD/src/networks/vae.py