def reset(self): self.done = False _reward_e, state_e, _done_e = self.env_space.aeb_space.init_data_s( ENV_DATA_NAMES, e=self.e) for (a, b), body in util.ndenumerate_nonan(self.body_e): state = self.u_env.reset() state_e[(a, b)] = state # TODO internalize render code if not self.train_mode: self.u_env.render() non_nan_cnt = util.count_nonan(state_e.flatten()) assert non_nan_cnt == 1, 'OpenAI Gym supports only single body' return _reward_e, state_e, _done_e
def reset(self): self.done = False _reward_e, state_e, done_e = self.env_space.aeb_space.init_data_s(ENV_DATA_NAMES, e=self.e) for (a, b), body in util.ndenumerate_nonan(self.body_e): state = self.u_env.reset() state_e[(a, b)] = state done_e[(a, b)] = self.done # TODO internalize render code if util.get_lab_mode() == 'dev': self.u_env.render() non_nan_cnt = util.count_nonan(state_e.flatten()) assert non_nan_cnt == 1, 'OpenAI Gym supports only single body' return _reward_e, state_e, done_e
def reset(self): self.done = False _reward_e, state_e, done_e = self.env_space.aeb_space.init_data_s( ENV_DATA_NAMES, e=self.e) for (a, b), body in util.ndenumerate_nonan(self.body_e): state = self.u_env.reset() state_e[(a, b)] = state done_e[(a, b)] = self.done if util.get_lab_mode() == 'dev': self.u_env.render() non_nan_cnt = util.count_nonan(state_e.flatten()) assert non_nan_cnt == 1, 'OpenAI Gym supports only single body' logger.debug( f'Env {self.e} reset reward_e: {_reward_e}, state_e: {state_e}, done_e: {done_e}' ) return _reward_e, state_e, done_e
def check_u_agent_to_body(self, env_info_a, a): '''Check the size match between unity agent and body''' u_agent_num = len(env_info_a.agents) body_num = util.count_nonan(self.body_e[a]) assert u_agent_num == body_num, f'There must be a Unity agent for each body; a:{a}, e:{self.e}, agent_num: {u_agent_num} != body_num: {body_num}.'
def test_count_nonan(arr, arr_len): assert util.count_nonan(np.array(arr)) == arr_len
def test_count_nonan(arr, arr_len): assert util.count_nonan(np.array(arr)) == arr_len
def check_u_agent_to_body(self, env_info_a, a): '''Check the size match between unity agent and body''' u_agent_num = len(env_info_a.agents) body_num = util.count_nonan(self.body_e[a]) assert u_agent_num == body_num, f'There must be a Unity agent for each body; a:{a}, e:{self.e}, agent_num: {u_agent_num} != body_num: {body_num}.'