How to find mean and log variance from the encoder latent space?
I receive x = self.enc5(x) # torch.Size([75, 16, 101, 101]) from encoder
and i would like to get mu and logvar from x to pass it to:
    def reparameterize(self, mu, log_var):
        """
        :param mu: mean from the encoder's latent space
        :param log_var: log variance from the encoder's latent space
        """
        std = torch.exp(0.5 * log_var)  # standard deviation
        eps = torch.randn_like(std)  # `randn_like` as we need the same size
        sample = mu + (eps * std)  # sampling
        return sample

what is the right way to do so?
when I’m trying to do
        mu_logvar = x.view(x.shape[0], -1)
        mu = self.l1(mu_logvar)
        log_var = self.l2(mu_logvar)
        z = self.reparameterize(mu, log_var)

where
        self.l1 = nn.Linear(163216,500)
        self.l2 = nn.Linear(163216,500)

I get:
RuntimeError: Expected 4-dimensional input for 4-dimensional weight [16, 128, 4, 4], but got 2-dimensional input of size [75, 500] instead

on
x = F.relu(self.decoder1(z))