Ejemplo n.º 1
0
    def build_discriminator_trainer(self):
        """
        Build a Keras model for training image and mask discriminators.
        """
        # Mask Discriminator
        D_Mask = Discriminator(self.conf.input_shape,
                               output='2D',
                               downsample_blocks=3,
                               name='D_M')
        D_Mask.build()
        self.MaskDiscriminator = D_Mask.model

        real_M = Input(self.conf.input_shape)
        fake_M = Input(self.conf.input_shape)
        dis_real_M = self.MaskDiscriminator(real_M)
        dis_fake_M = self.MaskDiscriminator(fake_M)

        D_Image = Discriminator(self.conf.input_shape,
                                output='2D',
                                downsample_blocks=3,
                                name='D_X')
        D_Image.build()
        self.ImageDiscriminator = D_Image.model

        real_X = Input(self.conf.input_shape)
        fake_X = Input(self.conf.input_shape)
        dis_real_X = self.ImageDiscriminator(real_X)
        dis_fake_X = self.ImageDiscriminator(fake_X)

        self.D_model = Model(
            inputs=[real_M, fake_M, real_X, fake_X],
            outputs=[dis_real_M, dis_fake_M, dis_real_X, dis_fake_X])
        self.D_model.compile(Adam(lr=0.0001, beta_1=0.5), loss='mse')
        log.info('Discriminators Trainer')
        self.D_model.summary(print_fn=log.info)
Ejemplo n.º 2
0
    def build_mask_discriminator(self):
        # Build a discriminator for masks.
        D = Discriminator(self.conf.d_mask_params)
        D.build()
        log.info('Mask Discriminator D_M')
        D.model.summary(print_fn=log.info)
        self.D_Mask = D.model

        real_M = Input(self.conf.d_mask_params.input_shape)
        fake_M = Input(self.conf.d_mask_params.input_shape)
        real = self.D_Mask(real_M)
        fake = self.D_Mask(fake_M)

        self.D_Mask_trainer = Model([real_M, fake_M], [real, fake],
                                    name='D_Mask_trainer')
        self.D_Mask_trainer.compile(Adam(lr=self.conf.d_mask_params.lr),
                                    loss='mse')
        self.D_Mask_trainer.summary(print_fn=log.info)
Ejemplo n.º 3
0
    def build_image_discriminator2(self):
        """
        Build a discriminator for images
        """
        params2 = self.conf.d_image_params
        params2['name'] = 'D_Image2'
        D = Discriminator(params2)
        D.build()
        log.info('Image Discriminator D_I2')
        D.model.summary(print_fn=log.info)
        self.D_Image2 = D.model

        real_x = Input(self.conf.d_image_params.input_shape)
        fake_x = Input(self.conf.d_image_params.input_shape)
        real = self.D_Image2(real_x)
        fake = self.D_Image2(fake_x)

        self.D_Image2_trainer = Model([real_x, fake_x], [real, fake],
                                      name='D_Image2_trainer')
        self.D_Image2_trainer.compile(Adam(lr=self.conf.d_image_params.lr),
                                      loss='mse')
        self.D_Image2_trainer.summary(print_fn=log.info)