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"检查完毕,权重未更新")
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
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
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)
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)
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)
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
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
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')
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()
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
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()
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
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