  
          self.predict = predict
          self.model_dir = model_dir
          self.gpus = gpus
          self.blocks = NNBlocks(use_subpixel=self.config["subpixel_upscaling"],
                                 use_icnr_init=self.config["icnr_init"],
                                 use_reflect_padding=self.config["reflect_padding"])
          self.input_shape = input_shape
          self.output_shape = None  # set after model is compiled
          self.encoder_dim = encoder_dim
 
</s> remove         logger.debug("Initializing ModelBase (%s): (model_dir: '%s', gpus: %s, no_logs: %s"
                     "warp_to_landmarks: %s, augment_color: %s, no_flip: %s, training_image_size, "
                     "%s, alignments_paths: %s, preview_scale: %s, input_shape: %s, encoder_dim: "
                     "%s, trainer: %s, pingpong: %s, memory_saving_gradients: %s, predict: %s)",
                     self.__class__.__name__, model_dir, gpus, no_logs, warp_to_landmarks,
                     augment_color, no_flip, training_image_size, alignments_paths, preview_scale,
                     input_shape, encoder_dim, trainer, pingpong, memory_saving_gradients, predict)
 </s> add         logger.debug("Initializing ModelBase (%s): (model_dir: '%s', gpus: %s, configfile: %s, "
                     "no_logs: %s, warp_to_landmarks: %s, augment_color: %s, no_flip: %s, "
                     "training_image_size, %s, alignments_paths: %s, preview_scale: %s, "
                     "input_shape: %s, encoder_dim: %s, trainer: %s, pingpong: %s, "
                     "memory_saving_gradients: %s, predict: %s)",
                     self.__class__.__name__, model_dir, gpus, configfile, no_logs,
                     warp_to_landmarks, augment_color, no_flip, training_image_size,
                     alignments_paths, preview_scale, input_shape, encoder_dim, trainer, pingpong,
                     memory_saving_gradients, predict) </s> remove     def __init__(self, output_folder, total_count):
        super().__init__(output_folder)
 </s> add     def __init__(self, output_folder, total_count, **kwargs):
        super().__init__(output_folder, **kwargs) </s> remove     def __init__(self, output_folder, total_count, source_video):
        super().__init__(output_folder)
 </s> add     def __init__(self, output_folder, total_count, source_video, **kwargs):
        super().__init__(output_folder, **kwargs) </s> remove             _CONFIG = Config(model_name).config_dict
 </s> add             _CONFIG = Config(model_name, configfile=self.configfile).config_dict
        self.configfile = configfile
  
          self.predict = predict
          self.model_dir = model_dir
          self.gpus = gpus
        self.configfile = configfile
          self.blocks = NNBlocks(use_subpixel=self.config["subpixel_upscaling"],
                                 use_icnr_init=self.config["icnr_init"],
                                 use_reflect_padding=self.config["reflect_padding"])
          self.input_shape = input_shape
          self.output_shape = None  # set after model is compiled
          self.encoder_dim = encoder_dim
keep keep keep add keep keep keep keep keep keep
 Config Changes + Bugfixes

Bugfix: Fully disable keypress monitor for GUI
Bugfix: Preview - Handle missing alignments file
Config changes:
    - Separate plugin defaults into their own files
    - Move mask_type to global training config
    - Add ability to pass in custom config files 
plugins/train/model/_base.py