Exemple #1
0
    def __init__(self, params):
        super(GenerativeNetwork, self).__init__()
        self.params = params

        generative_layers = [
            nn.Linear(in_features=self.params.latent_dim,
                      out_features=self.params.hidden_dim),
            GELU(),
            UnFlatten(self.params.channels[3], self.params.hidden_height,
                      self.params.hidden_width),
            nn.ConvTranspose2d(in_channels=self.params.channels[3],
                               out_channels=self.params.channels[4],
                               kernel_size=(self.params.kernel_size[6],
                                            self.params.kernel_size[7]),
                               stride=self.params.stride[3]),
            nn.BatchNorm2d(self.params.channels[4]),
            GELU(),
            nn.ConvTranspose2d(in_channels=self.params.channels[4],
                               out_channels=self.params.channels[5],
                               kernel_size=(self.params.kernel_size[8],
                                            self.params.kernel_size[9]),
                               stride=self.params.stride[4]),
            nn.BatchNorm2d(self.params.channels[5]),
            GELU(),
            nn.ConvTranspose2d(in_channels=self.params.channels[5],
                               out_channels=self.params.channels[6],
                               kernel_size=(self.params.kernel_size[10],
                                            self.params.kernel_size[11]),
                               stride=self.params.stride[5]),
            nn.Sigmoid(),
        ]

        self.decoder = nn.Sequential(*generative_layers)

        initialize_weights(self)
    def __init__(self, params):
        super(InferenceNetwork, self).__init__()
        self.params = params

        inference_layers = [
            nn.Conv2d(in_channels=self.params.channels[0],
                      out_channels=self.params.channels[1],
                      kernel_size=self.params.kernel_size[0],
                      stride=self.params.stride[0],),
            GELU(),
            nn.BatchNorm2d(self.params.channels[1]),
            nn.Conv2d(in_channels=self.params.channels[1],
                      out_channels=self.params.channels[2],
                      kernel_size=self.params.kernel_size[1],
                      stride=self.params.stride[1]),
            GELU(),
            nn.BatchNorm2d(self.params.channels[2]),
            nn.Conv2d(in_channels=self.params.channels[2],
                      out_channels=self.params.channels[3],
                      kernel_size=self.params.kernel_size[2],
                      stride=self.params.stride[2]),
            GELU(),
            nn.BatchNorm2d(self.params.channels[3]),
            Flatten(),
        ]

        self.encoder = nn.Sequential(*inference_layers)

        self.activation_fn = GELU()
        self.fc_latent = nn.Linear(in_features=self.params.hidden_dim, out_features=self.params.latent_dim)

        initialize_weights(self)
Exemple #3
0
 def __init__(self, params):
     super(GenerativeNetwork, self).__init__()
     self.params = params
     self.fc1 = nn.Linear(in_features=self.params.latent_dim, out_features=self.params.hidden_dim)
     self.fc2 = nn.Linear(in_features=self.params.hidden_dim, out_features=self.params.input_dim)
     self.activation_fn = GELU()
     initialize_weights(self)
Exemple #4
0
 def __init__(self, params):
     super(InferenceNetwork, self).__init__()
     self.params = params
     self.fc = nn.Linear(in_features=self.params.input_dim, out_features=self.params.hidden_dim)
     self.fc_mu = nn.Linear(in_features=self.params.hidden_dim, out_features=self.params.latent_dim)
     self.fc_logvar = nn.Linear(in_features=self.params.hidden_dim, out_features=self.params.latent_dim)
     self.activation_fn = GELU()
     initialize_weights(self)