def main(): args, params = parse_args_tmax(AgentTMAX.Params) env_id = args.env global key_to_action if 'dmlab' in env_id: from utils.envs.dmlab import play_dmlab key_to_action = play_dmlab.key_to_action elif 'atari' in env_id: key_to_action = atari_utils.key_to_action elif 'doom' in env_id: key_to_action = doom_utils.key_to_action else: raise Exception('Unknown env') # start keypress listener (to pause/resume execution or exit) def start_listener(): with Listener(on_press=on_press, on_release=on_release) as listener: listener.join() listener_thread = Thread(target=start_listener) listener_thread.start() status = build_graph(params, args.env) if not terminate: log.debug('Press ESC to exit...') listener_thread.join() return status
def main(): args, params = parse_args_tmax(AgentTMAX.Params) env_id = args.env global key_to_action if 'dmlab' in env_id: from utils.envs.dmlab import play_dmlab key_to_action = play_dmlab.key_to_action elif 'atari' in env_id: key_to_action = atari_utils.key_to_action elif 'doom' in env_id: key_to_action = doom_utils.key_to_action else: raise Exception('Unknown env') try: show_map = args.show_automap except AttributeError: show_map = False # start keypress listener (to pause/resume execution or exit) def start_listener(): with Listener(on_press=on_press, on_release=on_release) as listener: listener.join() listener_thread = Thread(target=start_listener) listener_thread.start() status = enjoy(params, args.env, show_automap=show_map) log.debug('Press ESC to exit...') listener_thread.join() return status
def tmax_train_run(self, env_name=None): test_dir_name = self.__class__.__name__ args, params = parse_args_tmax(AgentTMAX.Params, argv=[]) if env_name is not None: args.env = env_name params.experiments_root = test_dir_name params.num_envs = 16 params.train_for_steps = 60 params.initial_save_rate = 20 params.batch_size = 32 params.ppo_epochs = 2 params.distance_bootstrap = 10 params.stage_duration = 100 params.distance_encoder = 'resnet' params.locomotion_encoder = 'resnet' tmax_train_dir = join(experiments_dir(), params.experiments_root) ensure_dir_exists(tmax_train_dir) shutil.rmtree(tmax_train_dir) status = train(params, args.env) self.assertEqual(status, TrainStatus.SUCCESS) root_dir = params.experiment_dir() self.assertTrue(os.path.isdir(root_dir)) enjoy(params, args.env, max_num_episodes=1, max_num_frames=50) shutil.rmtree(tmax_train_dir) self.assertFalse(os.path.isdir(root_dir))
def test_locomotion(self): g = tf.Graph() env = make_doom_env(doom_env_by_name(TEST_ENV_NAME)) args, params = parse_args_tmax(AgentTMAX.Params, argv=[]) with g.as_default(): locomotion_net = LocomotionNetwork(env, params) obs = env.reset() with tf.Session(graph=g) as sess: sess.run(tf.global_variables_initializer()) action = locomotion_net.navigate(sess, [obs], [obs], [obs])[0] self.assertGreaterEqual(action, 0) self.assertLess(action, env.action_space.n) env.close() g.finalize()
def main(): args, params = parse_args_tmax(AgentTMAX.Params) status = train_distance(params, args.env) return status
def main(): args, params = parse_args_tmax(AgentTMAX.Params) status = train_locomotion(params, args.env) return status
def main(): """Script entry point.""" args, params = parse_args_tmax(AgentTMAX.Params) return train(params, args.env)
def main(): args, params = parse_args_tmax(AgentTMAX.Params) status = trajectory_to_map(params, args.env) return status