Skip to content

reparametrize

reparametrize

reparametrize

reparametrize(mu, logvar)

Reparametrization trick from Bayes by backprop: sample from N(mu, var) and still do backpropagation.

Parameters:

Name Type Description Default
mu Tensor

Mean of the latent distribution, shape (batch, latent_dim).

required
logvar Tensor

Log variance of the latent distribution, shape (batch, latent_dim).

required

Returns:

Type Description
Tensor

Sampled latent vector, shape (batch, latent_dim).

Source code in src/versatil/models/decoding/latent/reparametrize.py
def reparametrize(mu: torch.Tensor, logvar: torch.Tensor) -> torch.Tensor:
    """Reparametrization trick from Bayes by backprop: sample from N(mu, var) and still do backpropagation.

    Args:
        mu: Mean of the latent distribution, shape (batch, latent_dim).
        logvar: Log variance of the latent distribution, shape (batch, latent_dim).

    Returns:
        Sampled latent vector, shape (batch, latent_dim).
    """
    std = (logvar / 2).exp()
    eps = torch.randn_like(std)
    return mu + std * eps