def encode(self, x): x = F.elu(self.conv1(x)) x = F.avg_pool2d(x, kernel_size=2, stride=2) x = F.elu(self.conv2(x)) x = F.avg_pool2d(x, kernel_size=2, stride=2) x = F.elu(self.conv3(x)) x = x.reshape(-1, 256) x = self.fc_log_sigma(x) return x[:, :latent_dimension], x[:, latent_dimension:]
def forward(self, x): out = self.conv1(x) out = self.layer1(out) out = self.layer2(out) out = self.layer3(out) out = self.layer4(out) out = F.avg_pool2d(out, 4) out = out.view(out.size(0), -1) out = self.fc(out) return out