The output of reparameterize seems to be a 2D tensor in the shape [75, 500], while self.decoder expects a 4D input and is most likely using a (transposed) conv layer.
If that’s the case, unsqueeze the spatial dimensions and it might work:
 x = F.relu(self.decoder1(z[:, :, None, None]))