          logger.debug("Initialized %s", self.__class__.__name__)
  
      def update_kwargs(self, kwargs):
          """ Update Kwargs for conv2D and Seperable conv2D layers.
              Set the default kernel initializer to conv_aware or he_uniform()
              if a specific initializer has not been passed in """
          if self.use_convaware_init:
 
</s> remove         if not self.output_shape:
            self.set_output_shape(model)
 </s> add  </s> remove     def set_output_shape(self, model):
        """ Set the output shape for use in training and convert """
        logger.debug("Setting output shape")
        out = [K.int_shape(tensor)[-3:] for tensor in model.outputs]
        if not out:
            raise ValueError("No outputs found! Check your model.")
        self.output_shape = tuple(out[0])
        logger.debug("Added output shape: %s", self.output_shape)

 </s> add  </s> remove     def build_autoencoders(self):
        """ Initialize Dfaker model """
        logger.debug("Initializing model")
        inputs = [Input(shape=self.input_shape, name="face")]
        if self.config.get("mask_type", None):
            mask_shape = (self.input_shape[0] * 2, self.input_shape[1] * 2, 1)
            inputs.append(Input(shape=mask_shape, name="mask"))

        for side in ("a", "b"):
            decoder = self.networks["decoder_{}".format(side)].network
            output = decoder(self.networks["encoder"].network(inputs[0]))
            autoencoder = KerasModel(inputs, output)
            self.add_predictor(side, autoencoder)
        logger.debug("Initialized model")

 </s> add  </s> remove         self.build_autoencoders()
 </s> add         inputs = self.get_inputs()
        self.build_autoencoders(inputs) </s> remove         inputs = [Input(shape=self.input_shape, name="face")]
        if self.config.get("mask_type", None):
            mask_shape = self.config["output_size"], self.config["output_size"], 1
            inputs.append(Input(shape=mask_shape, name="mask"))

 </s> add 
    def get_name(self, name):
        """ Return unique layer name for requested block """
        self.names[name] = self.names.setdefault(name, -1) + 1
        name = "{}_{}".format(name, self.names[name])
        logger.debug("Generating block name: %s", name)
        return name

          logger.debug("Initialized %s", self.__class__.__name__)
  
    def get_name(self, name):
        """ Return unique layer name for requested block """
        self.names[name] = self.names.setdefault(name, -1) + 1
        name = "{}_{}".format(name, self.names[name])
        logger.debug("Generating block name: %s", name)
        return name

      def update_kwargs(self, kwargs):
          """ Update Kwargs for conv2D and Seperable conv2D layers.
              Set the default kernel initializer to conv_aware or he_uniform()
              if a specific initializer has not been passed in """
          if self.use_convaware_init:
keep add keep keep keep keep keep
 Model Structure Changes

Standardize inputs for AutoEncoders
Name outputs from AutoEncoders
Name layers in nn_blocks.py 
lib/model/nn_blocks.py