def build_watten_train_4_512_agent(self, agent_profile, native_multi_gpu_enabled=False): game = self.game_mapping[agent_profile.game] x, y = game.get_observation_size() nnet = WattenNNet4x512(x, y, 1, game.get_action_size()) agent_nnet = AgentNNet(nnet) if agent_profile == EnvironmentSelector.WATTEN_AGENT_4_512_TRAIN: print("Configuring build_watten_train_4_512_agent...") return AgentMCTS(agent_nnet, exp_rate=AgentMCTS.EXPLORATION_RATE_MEDIUM, numMCTSSims=100, max_predict_time=10, num_threads=16) elif agent_profile == EnvironmentSelector.WATTEN_AGENT_4_512_EVALUATE: print("Configuring build_watten_evaluate_4_512_agent...") return AgentMCTS(agent_nnet, exp_rate=AgentMCTS.EXPLORATION_RATE_MEDIUM, numMCTSSims=30, max_predict_time=10, num_threads=16, name="build_watten_evaluate_4_512_agent") elif agent_profile == EnvironmentSelector.WATTEN_AGENT_HUMAN: return WattenHumanAgent(game) elif agent_profile == EnvironmentSelector.WATTEN_AGENT_NNET: agent_nnet.load( os.path.abspath( "../games/watten/training/best-4-512-new-4.h5")) return agent_nnet return None
def build_watten_train_big_agent(self, agent_profile, native_multi_gpu_enabled=False): game = self.game_mapping[agent_profile.game] x, y = game.get_observation_size() nnet = WattenNNetFirstLayerBig(x, y, 1, game.get_action_size()) agent_nnet = AgentNNet(nnet) if agent_profile == EnvironmentSelector.WATTEN_AGENT_BIG_TRAIN: print("Configuring build_watten_train_big_agent...") return AgentMCTS(agent_nnet, exp_rate=AgentMCTS.EXPLORATION_RATE_MEDIUM, numMCTSSims=100, max_predict_time=10, num_threads=16) elif agent_profile == EnvironmentSelector.WATTEN_AGENT_BIG_EVALUATE: print("Configuring build_watten_evaluate_big_agent...") return AgentMCTS(agent_nnet, exp_rate=AgentMCTS.EXPLORATION_RATE_MEDIUM, numMCTSSims=2, max_predict_time=10, num_threads=16, name="build_watten_evaluate_big_agent") elif agent_profile == EnvironmentSelector.WATTEN_AGENT_HUMAN: return WattenHumanAgent(game) return None
def build_watten_agent(self, agent_profile, native_multi_gpu_enabled=False): game = self.game_mapping[agent_profile.game] if agent_profile == EnvironmentSelector.WATTEN_AGENT_RANDOM: return AgentRandom() elif agent_profile == EnvironmentSelector.WATTEN_AGENT_HUMAN: return WattenHumanAgent(game) return None