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))
```