          """ Increment total and session iterations """
          self.iterations += 1
          self.sessions[self.session_id]["iterations"] += 1
  
      def load(self):
          """ Load state file """
          logger.debug("Loading State")
          try:
              with open(self.filename, "rb") as inp:
                  state = self.serializer.unmarshal(inp.read().decode("utf-8"))
 
</s> remove                                          "choices": choices}
 </s> add                                          "choices": choices,
                                         "fixed": fixed}

    @staticmethod
    def expand_helptext(helptext, choices, default, datatype, min_max, fixed):
        """ Add extra helptext info from parameters """
        if not fixed:
            helptext += "\nThis option can be updated for existing models."
        if choices:
            helptext += "\nChoose from: {}".format(choices)
        elif datatype == bool:
            helptext += "\nChoose from: True, False"
        elif datatype == int:
            cmin, cmax = min_max
            helptext += "\nSelect an integer between {} and {}".format(cmin, cmax)
        elif datatype == float:
            cmin, cmax = min_max
            helptext += "\nSelect a decimal number between {} and {}".format(cmin, cmax)
        helptext += "\n[Default: {}]".format(default)
        return helptext </s> remove     def replace_config(self):
        """ Replace the loaded config with the one contained within the state file """
 </s> add     def replace_config(self, config_changeable_items):
        """ Replace the loaded config with the one contained within the state file
            Check for any fixed=False parameters changes and log info changes
        """ </s> remove     def __init__(self, model_dir, model_name, no_logs, pingpong, training_image_size):
        logger.debug("Initializing %s: (model_dir: '%s', model_name: '%s', no_logs: %s, "
                     "pingpong: %s, training_image_size: '%s'", self.__class__.__name__, model_dir,
                     model_name, no_logs, pingpong, training_image_size)
 </s> add     def __init__(self, model_dir, model_name, config_changeable_items,
                 no_logs, pingpong, training_image_size):
        logger.debug("Initializing %s: (model_dir: '%s', model_name: '%s', "
                     "config_changeable_items: '%s', no_logs: %s, pingpong: %s, "
                     "training_image_size: '%s'", self.__class__.__name__, model_dir, model_name,
                     config_changeable_items, no_logs, pingpong, training_image_size) </s> remove             model_name = ".".join(self.__module__.split(".")[-2:])
 </s> add             model_name = self.config_section </s> remove                 self.replace_config()
 </s> add                 self.replace_config(config_changeable_items)
    def load(self, config_changeable_items):
          """ Increment total and session iterations """
          self.iterations += 1
          self.sessions[self.session_id]["iterations"] += 1
  
    def load(self, config_changeable_items):
          """ Load state file """
          logger.debug("Loading State")
          try:
              with open(self.filename, "rb") as inp:
                  state = self.serializer.unmarshal(inp.read().decode("utf-8"))
keep keep keep keep replace keep keep keep keep keep
 Allow 'unfixed' parameters for model config 
plugins/train/model/_base.py