          for model in self.networks.values():
              model.network = Model.from_config(model.config)
              model.network.set_weights(model.weights)
  
          self.build_autoencoders()
          self.compile_predictors(initialize=False)
          logger.debug("Reset models")
  
      def compile_predictors(self, initialize=True):
          """ Compile the predictors """
 
</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         if not self.output_shape:
            self.set_output_shape(model)
 </s> add  </s> remove         inputs = [Input(shape=self.input_shape, name="face")]
        if self.config.get("mask_type", None):
            mask_shape = (self.input_shape[:2] + (1, ))
            inputs.append(Input(shape=mask_shape, name="mask"))

 </s> add  </s> remove         """ Add the original model weights """
 </s> add         """ Add the realface model weights """
        inputs = self.get_inputs()
        self.build_autoencoders(inputs)
          for model in self.networks.values():
              model.network = Model.from_config(model.config)
              model.network.set_weights(model.weights)
  
        inputs = self.get_inputs()
        self.build_autoencoders(inputs)
          self.compile_predictors(initialize=False)
          logger.debug("Reset models")
  
      def compile_predictors(self, initialize=True):
          """ Compile the predictors """
keep keep keep keep replace keep keep keep keep keep
 Model Structure Changes

Standardize inputs for AutoEncoders
Name outputs from AutoEncoders
Name layers in nn_blocks.py 
plugins/train/model/_base.py