def __init__(self, input_dim=100, output_dim=1, input_size=32): super(G, self).__init__() self.input_dim = input_dim self.output_dim = output_dim self.input_size = input_size self.fc = nn.Sequential( nn.Linear(self.input_dim, 1024), nn.BatchNorm1d(1024), nn.ReLU(), nn.Linear(1024, 128 * (self.input_size // 4) * (self.input_size // 4)), nn.BatchNorm1d(128 * (self.input_size // 4) * (self.input_size // 4)), nn.ReLU(), ) self.deconv = nn.Sequential( nn.ConvTranspose2d(128, 64, 4, 2, 1), nn.BatchNorm2d(64), nn.ReLU(), nn.ConvTranspose2d(64, self.output_dim, 4, 2, 1), nn.Tanh(), ) initialize_weights(self)
def __init__(self, input_dim=1, output_dim=1, input_size=32): super(D, self).__init__() self.input_dim = input_dim self.output_dim = output_dim self.input_size = input_size self.conv = nn.Sequential(nn.Conv2d(self.input_dim, 64, 4, 2, 1), nn.LeakyReLU(0.2), nn.Conv2d(64, 128, 4, 2, 1), nn.BatchNorm2d(128), nn.LeakyReLU(0.2)) # no sigmoid self.fc = nn.Sequential( nn.Linear(128 * (self.input_size // 4) * (self.input_size // 4), 1024), nn.BatchNorm1d(1024), nn.LeakyReLU(0.2), nn.Linear(1024, self.output_dim), ) initialize_weights(self)