Esempio n. 1
0
 def load_model(self):
     from chess_zero.agent.model_chess import ChessModel
     model = ChessModel(self.config)
     if self.config.opts.new or not load_best_model_weight(model):
         model.build()
         save_as_best_model(model)
     return model
    def load_model(self):
        """
        Loads the next generation model from the appropriate directory. If not found, loads
        the best known model.
        """
        model = ChessModel(self.config)
        rc = self.config.resource

        dirs = get_next_generation_model_dirs(rc)
        if not dirs:
            logger.debug("loading best model")
            if self.config.opts.new and not load_best_model_weight(model):
                model.build()
                save_as_best_model(model)
            elif not load_best_model_weight(model):
                raise RuntimeError("Best model can not loaded!")
        else:
            latest_dir = dirs[-1]
            logger.debug("loading latest model")
            config_path = os.path.join(
                latest_dir, rc.next_generation_model_config_filename)
            weight_path = os.path.join(
                latest_dir, rc.next_generation_model_weight_filename)
            model.load(config_path, weight_path)
        return model
Esempio n. 3
0
 def load_model(self):
     """
     Load the current best model
     :return ChessModel: current best model
     """
     model = ChessModel(self.config)
     if self.config.opts.new or not load_best_model_weight(model):
         model.build()
         save_as_best_model(model)
     return model
Esempio n. 4
0
 def start(self):
     while True:
         ng_model, model_dir = self.load_next_generation_model()
         logger.debug(f"start evaluate model {model_dir}")
         ng_is_great = self.evaluate_model(ng_model)
         if ng_is_great:
             logger.debug(f"New Model become best model: {model_dir}")
             save_as_best_model(ng_model)
             self.current_model = ng_model
         self.move_model(model_dir)  # i lost my models because of this :(
Esempio n. 5
0
 def start(self):
     while True:
         model_dir, config_path, weight_path = self.load_next_generation_model(
         )
         logger.debug("start evaluate model %s" % (model_dir))
         ng_is_great = self.evaluate_model()
         if ng_is_great:
             logger.debug("New Model become best model: %s" % (model_dir))
             save_as_best_model(self.ng_model)
             self.current_model.load(config_path, weight_path)
         else:
             logger.debug("No need to renew the Model.")
Esempio n. 6
0
    def start(self):
        self.best_model = self.load_best_model()

        while True:
            ng_model, model_dir = self.load_next_generation_model()
            logger.debug(f"start evaluate model {model_dir}")
            ng_is_great = self.evaluate_model(ng_model)
            if ng_is_great:
                logger.debug(f"New Model become best model: {model_dir}")
                save_as_best_model(ng_model)
                self.best_model = ng_model
            self.remove_model(model_dir)
Esempio n. 7
0
 def start(self):
     """
     Start evaluation, endlessly loading the latest models from the directory which stores them and
     checking if they do better than the current model, saving the result in self.current_model
     """
     while True:
         ng_model, model_dir = self.load_next_generation_model()
         logger.debug(f"start evaluate model {model_dir}")
         ng_is_great = self.evaluate_model(ng_model)
         if ng_is_great:
             logger.debug(f"New Model become best model: {model_dir}")
             save_as_best_model(ng_model)
             self.current_model = ng_model
         self.move_model(model_dir)
Esempio n. 8
0
 def start(self):
     """
     Start evaluation, endlessly loading the latest models from the directory which stores them and
     checking if they do better than the current model, saving the result in self.current_model
     """
     while True:
         ng_model, model_dir = self.load_next_generation_model()
         logger.debug(f"start evaluate model {model_dir}")
         ng_is_great = self.evaluate_model(ng_model)
         if ng_is_great:
             logger.debug(f"New Model become best model: {model_dir}")
             save_as_best_model(ng_model)
             self.current_model = ng_model
         self.move_model(model_dir)
Esempio n. 9
0
 def start(self):
     ng_model = None
     model_dir = None
     ng_model, model_dir = self.load_next_generation_model()
     save_as_best_model(ng_model)
     self.remove_model(model_dir)
Esempio n. 10
0
 def load_model(self):
     model = ChessModel(self.config)
     if self.config.opts.new or not load_best_model_weight(model):
         model.build()
         save_as_best_model(model)
     return model