コード例 #1
0
    def try_reload_model_from_internet(self, config_file=None):
        response = http_request(self.config.internet.get_latest_digest)
        if response is None:
            logger.error(f"无法连接到远程服务器!请检查网络连接,并重新打开客户端")
            return
        digest = response['data']['digest']

        if digest != self.agent_model.fetch_digest(
                self.config.resource.model_best_weight_path):
            logger.info(f"正在下载最新权重,请稍后...")
            if download_file(self.config.internet.download_url,
                             self.config.resource.model_best_weight_path):
                logger.info(f"权重下载完毕!开始训练...")
                try:
                    with self.agent_model.graph.as_default():
                        load_best_model_weight(self.agent_model)
                except ValueError as e:
                    logger.error(f"权重架构不匹配,自动重新加载 {e}")
                    self.try_reload_model(
                        config_file='model_192x10_config.json')
                except Exception as e:
                    logger.error(f"加载权重发生错误:{e},稍后重新下载")
                    os.remove(self.config.resource.model_best_weight_path)
                    self.try_reload_model_from_internet()
            else:
                logger.error(f"权重下载失败!请检查网络连接,并重新打开客户端")
        else:
            logger.info(f"检查完毕,权重未更新")
コード例 #2
0
ファイル: optimize.py プロジェクト: bynoud/ccguide
 def try_reload_model(self):
     logger.debug("check model")
     if need_to_reload_best_model_weight(self.model):
         with self.model.graph.as_default():
             load_best_model_weight(self.model)
         return True
     return False
コード例 #3
0
 def try_reload_model(self):
     logger.debug("check model")
     if need_to_reload_best_model_weight(self.model):
         with self.model.graph.as_default():
             load_best_model_weight(self.model)
         return True
     return False
コード例 #4
0
 def try_reload_model(self):
     try:
         logger.debug("check model")
         if need_to_reload_best_model_weight(self.agent_model):
             with self.agent_model.graph.as_default():
                 load_best_model_weight(self.agent_model)
     except Exception as e:
         logger.error(e)
コード例 #5
0
 def try_reload_model(self):
     try:
         if self.config.internet.distributed:
             self.try_reload_model_from_internet()
         else:
             if self.need_reload and need_to_reload_best_model_weight(self.agent_model):
                 with self.agent_model.graph.as_default():
                     load_best_model_weight(self.agent_model)
     except Exception as e:
         logger.error(e)
コード例 #6
0
ファイル: api.py プロジェクト: luweipeng/cchess_pytorch
 def try_reload_model(self, config_file=None):
     if config_file:
         config_path = os.path.join(self.config.resource.model_dir,
                                    config_file)
         shutil.copy(config_path, self.config.resource.model_best_path)
     try:
         if self.config.internet.distributed and not config_file:
             self.try_reload_model_from_internet()
         else:
             if self.need_reload and need_to_reload_best_model_weight(
                     self.agent_model):
                 # with self.agent_model.graph.as_default():
                 load_best_model_weight(self.agent_model)
     except Exception as e:
         logger.error(e)
コード例 #7
0
ファイル: self_play.py プロジェクト: xtxiatian200/cczero2
def load_model(config):
    model = CChessModel(config)
    if config.internet.distributed or config.opts.new or not load_best_model_weight(
            model):
        model.build()
        save_as_best_model(model)
    return model
コード例 #8
0
 def load_model(self):
     sess = set_session_config(per_process_gpu_memory_fraction=1,
                               allow_growth=True,
                               device_list=self.config.opts.device_list)
     self.model = CChessModel(self.config)
     if self.config.opts.new or not load_best_model_weight(self.model):
         self.model.build()
     self.model.sess = sess
コード例 #9
0
    def try_reload_model_from_internet(self):
        response = http_request(self.config.internet.get_latest_digest)
        if response is None:
            logger.error(f"Could not fetch remote digest!")
            return
        digest = response['data']['digest']

        if digest != self.agent_model.fetch_digest(self.config.resource.model_best_weight_path):
            logger.info("the best model is changed, start download remote model")
            if download_file(self.config.internet.download_url, self.config.resource.model_best_weight_path):
                logger.info(f"Download remote model finished!")
                with self.agent_model.graph.as_default():
                    load_best_model_weight(self.agent_model)
            else:
                logger.error(f"Download remote model failed!")
        else:
            logger.info(f'the best model is not changed')
コード例 #10
0
 def load_model(self):
     self.model = CChessModel(self.config)
     if self.config.opts.new or not load_best_model_weight(self.model):
         self.model.build()
コード例 #11
0
ファイル: optimize.py プロジェクト: bynoud/ccguide
 def load_model(self):
     model = CChessModel(self.config)
     if self.config.opts.new or not load_best_model_weight(model):
         model.build()
         save_as_best_model(model)
     return model
コード例 #12
0
 def load_model(self):
     self.model = CChessModel(self.config)
     if self.config.opts.new or not load_best_model_weight(self.model):
         self.model.build()
コード例 #13
0
def load_model(config):
    model = CChessModel(config)
    if config.internet.distributed or config.opts.new or not load_best_model_weight(model):
        model.build()
        save_as_best_model(model)
    return model
コード例 #14
0
 def load_model(self):
     model = CChessModel(self.config)
     if self.config.opts.new or not load_best_model_weight(model):
         model.build()
         save_as_best_model(model)
     return model