def timeit(call_func, desc=None): """ usage: timeit_v2(lambda: func(params)) :param call_func: :return: """ start_time = time.time() call_res = call_func() elapsed_time = time.time() - start_time logger.info('execute=[{}] finished in {} ms'.format(desc, int(elapsed_time * 1000))) return call_res
def switch_model(self, model_type, model_file=None): """ :param model_type: choices in [policy_dl, policy_rl, policy_rollout, value_net] :return: """ if model_type not in self.hosts: logger.error("not supported model type=%s" % model_type, to_exit=True) url = "%s/switch_model?model=%s" % (self.hosts[model_type], model_type) if model_file is not None: url = "%s&file=%s" % (url, model_file) result = rpc(url) if result["status"] != 0: logger.error("fail to switch model, type=%s, file=%s" % (model_type, model_file), to_exit=True) logger.info("success to switch model, type=%s, file=%s" % (model_type, model_file))