      def __init__(self, *args, **kwargs):
          logger.debug("Initializing %s: (args: %s, kwargs: %s",
                       self.__class__.__name__, args, kwargs)
  
          if "input_shape" not in kwargs:
              kwargs["input_shape"] = (64, 64, 3)
          if "encoder_dim" not in kwargs:
              kwargs["encoder_dim"] = 512 if self.config["lowmem"] else 1024
  
 
</s> remove     def __init__(self, config=None):
        logger.debug("Initializing %s: (config: %s)", self.__class__.__name__, config)
        self.config = self.set_config(config)
 </s> add     def __init__(self, configfile=None, config=None):
        logger.debug("Initializing %s: (configfile: %s, config: %s)",
                     self.__class__.__name__, configfile, config)
        self.config = self.set_config(configfile, config)
        self.configfile = kwargs.get("configfile", None)

      def __init__(self, *args, **kwargs):
          logger.debug("Initializing %s: (args: %s, kwargs: %s",
                       self.__class__.__name__, args, kwargs)
  
        self.configfile = kwargs.get("configfile", None)
          if "input_shape" not in kwargs:
              kwargs["input_shape"] = (64, 64, 3)
          if "encoder_dim" not in kwargs:
              kwargs["encoder_dim"] = 512 if self.config["lowmem"] else 1024
  
keep keep keep add 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/original.py