From cb171a91ea7a5ee0b66bde836157f200db372524 Mon Sep 17 00:00:00 2001 From: Ashish Gaurav <agaurav77@yahoo.com> Date: Wed, 6 Feb 2019 12:18:57 -0500 Subject: [PATCH] MCTS Fixes * Reimplemented UCT MCTS * Fixed softmax * Merged multiple branches into this branch, all of which should now be in master * Added reuse of tree functionality * Added the ability to expand nodes based on q values rather than at random * Refactored everything, deleted non necessary MCTS classes and files, and mcts.py can evaluate newer MCTS --- backends/__init__.py | 2 +- backends/kerasrl_learner.py | 30 +- backends/mcts_controller.py | 107 +++ backends/mcts_learner.py | 652 ++++++++++-------- backends/online_mcts_controller.py | 73 -- .../highlevel/highlevel_weights.h5f | Bin 74800 -> 126760 bytes .../wait/wait_weights_actor.h5f | Bin 0 -> 38208 bytes .../wait/wait_weights_critic.h5f | Bin 0 -> 60480 bytes high_level_policy_main.py | 1 + mcts.py | 314 ++------- mcts_config.json | 10 +- options/options_loader.py | 15 +- options/simple_intersection/maneuver_base.py | 2 +- options/simple_intersection/maneuvers.py | 103 ++- options/simple_intersection/mcts_maneuvers.py | 315 --------- 15 files changed, 644 insertions(+), 980 deletions(-) create mode 100644 backends/mcts_controller.py delete mode 100644 backends/online_mcts_controller.py create mode 100644 backends/trained_policies/wait/wait_weights_actor.h5f create mode 100644 backends/trained_policies/wait/wait_weights_critic.h5f delete mode 100644 options/simple_intersection/mcts_maneuvers.py diff --git a/backends/__init__.py b/backends/__init__.py index 7293f55..7bf38e0 100644 --- a/backends/__init__.py +++ b/backends/__init__.py @@ -2,4 +2,4 @@ from .manual_policy import ManualPolicy from .mcts_learner import MCTSLearner from .rl_controller import RLController from .kerasrl_learner import DDPGLearner, DQNLearner -from .online_mcts_controller import OnlineMCTSController \ No newline at end of file +from .mcts_controller import MCTSController \ No newline at end of file diff --git a/backends/kerasrl_learner.py b/backends/kerasrl_learner.py index 83755da..e594dfa 100644 --- a/backends/kerasrl_learner.py +++ b/backends/kerasrl_learner.py @@ -13,7 +13,7 @@ from rl.policy import GreedyQPolicy, EpsGreedyQPolicy, MaxBoltzmannQPolicy from rl.callbacks import ModelIntervalCheckpoint import numpy as np - +import copy class DDPGLearner(LearnerBase): def __init__(self, @@ -270,17 +270,17 @@ class DQNLearner(LearnerBase): Returns: Keras Model object of actor """ + model = Sequential() model.add(Flatten(input_shape=(1, ) + self.input_shape)) - model.add(Dense(64)) - model.add(Activation('relu')) - model.add(Dense(64)) - model.add(Activation('relu')) - model.add(Dense(64)) - model.add(Activation('relu')) + model.add(Dense(64, activation='relu')) + model.add(Dense(64, activation='relu')) + model.add(Dense(64, activation='relu')) + model.add(Dense(64, activation='relu')) + model.add(Dense(64, activation='relu')) + model.add(Dense(64, activation='tanh')) model.add(Dense(self.nb_actions)) - model.add(Activation('linear')) - # print(model.summary()) + print(model.summary()) return model @@ -416,9 +416,14 @@ class DQNLearner(LearnerBase): action_num = self.agent_model.low_level_policy_aliases.index( option_alias) q_values = self.agent_model.get_modified_q_values(observation) - max_q_value = np.abs(np.max(q_values)) - q_values = [np.exp(q_value / max_q_value) for q_value in q_values] + # print('softq q_values are %s' % dict(zip(self.agent_model.low_level_policy_aliases, q_values))) + # oq_values = copy.copy(q_values) + if q_values[action_num] == -np.inf: + return 0 + max_q_value = np.max(q_values) + q_values = [np.exp(q_value - max_q_value) for q_value in q_values] relevant = q_values[action_num] / np.sum(q_values) + # print('softq: %s -> %s' % (oq_values, relevant)) return relevant @@ -543,6 +548,7 @@ class DQNAgentOverOptions(DQNAgent): self.recent_observation = observation self.recent_action = action + # print('forward gives %s from %s' % (action, dict(zip(self.low_level_policy_aliases, q_values)))) return action def get_modified_q_values(self, observation): @@ -555,4 +561,4 @@ class DQNAgentOverOptions(DQNAgent): for node_index in invalid_node_indices: q_values[node_index] = -np.inf - return q_values \ No newline at end of file + return q_values diff --git a/backends/mcts_controller.py b/backends/mcts_controller.py new file mode 100644 index 0000000..619a226 --- /dev/null +++ b/backends/mcts_controller.py @@ -0,0 +1,107 @@ +from .controller_base import ControllerBase +from .mcts_learner import MCTSLearner +import tqdm +import numpy as np + +class MCTSController(ControllerBase): + """MCTS Controller.""" + + def __init__(self, env, low_level_policies, start_node_alias): + """Constructor for manual policy execution. + + Args: + env: env instance + low_level_policies: low level policies dictionary + """ + super(MCTSController, self).__init__(env, low_level_policies, + start_node_alias) + self.curr_node_alias = start_node_alias + self.controller_args_defaults = { + "predictor": None, + "max_depth": 10, # MCTS depth + "nb_traversals": 100, # MCTS traversals before decision + "debug": False, + } + + def set_current_node(self, node_alias): + self.current_node = self.low_level_policies[node_alias] + self.curr_node_alias = node_alias + self.current_node.reset_maneuver() + self.env.set_ego_info_text(node_alias) + + def change_low_level_references(self, env_copy): + """Change references in low level policies by updating the environment + with the copy of the environment. + + Args: + env_copy: reference to copy of the environment + """ + + self.env = env_copy + for policy in self.low_level_policies.values(): + policy.env = env_copy + + def check_env(self, x): + """Prints the object id of the environment. Debugging function.""" + print('%s: self.env is %s' % (x, str(id(self.env)))) + + def can_transition(self): + return not self.env.is_terminal() + + def do_transition(self): + # Require a predictor function + if self.predictor is None: + raise Exception(self.__class__.__name__ + \ + "predictor is not set. Use set_controller_args().") + # Store the env at this point + orig_env = self.env + # self.check_env('i') + np.random.seed() + # Change low level references before init MCTSLearner instance + env_before_mcts = orig_env.copy() + self.change_low_level_references(env_before_mcts) + # self.check_env('b4') + # print('Current Node: %s' % self.curr_node_alias) + if not hasattr(self, 'mcts'): + if self.debug: + print('Creating MCTS Tree: max depth {}'.format(self.max_depth)) + self.mcts = MCTSLearner(self.env, self.low_level_policies, max_depth=self.max_depth, debug=self.debug) + self.mcts.set_controller_args(predictor=self.predictor) + if self.debug: + print('') + # Do nb_traversals number of traversals, reset env to this point every time + # print('Doing MCTS with params: max_depth = %d, nb_traversals = %d' % (self.max_depth, self.nb_traversals)) + num_epoch = 0 + if not self.debug: + progress = tqdm.tqdm(total=self.nb_traversals-self.mcts.tree.root.N) + while num_epoch < self.nb_traversals: # tqdm + if self.mcts.tree.root.N >= self.nb_traversals: + break + env_begin_epoch = env_before_mcts.copy() + self.change_low_level_references(env_begin_epoch) + # self.check_env('e%d' % num_epoch) + init_obs = self.env.get_features_tuple() + self.mcts.env = env_begin_epoch + if self.debug: + print('Search %d: ' % num_epoch, end=' ') + success = self.mcts.search(init_obs) + num_epoch += 1 + if not self.debug: + progress.update(1) + if not self.debug: + progress.close() + self.change_low_level_references(orig_env) + # self.check_env('p') + # Find the nodes from the root node + # print('%s' % mcts._to_discrete(self.env.get_features_tuple())) + node_after_transition = self.mcts.best_action(self.mcts.tree.root, 0) + if self.debug: + print('MCTS suggested next option: %s' % node_after_transition) + p = {'overall': self.mcts.tree.root.Q * 1.0 / self.mcts.tree.root.N} + for edge in self.mcts.tree.root.edges.keys(): + next_node = self.mcts.tree.nodes[self.mcts.tree.root.edges[edge]] + p[edge] = next_node.Q * 1.0 / next_node.N + if self.debug: + print('Btw: %s' % str(p)) + self.mcts.tree.reconstruct(node_after_transition) + self.set_current_node(node_after_transition) \ No newline at end of file diff --git a/backends/mcts_learner.py b/backends/mcts_learner.py index f9bd759..0248d6a 100644 --- a/backends/mcts_learner.py +++ b/backends/mcts_learner.py @@ -2,116 +2,196 @@ from .controller_base import ControllerBase import numpy as np import pickle +# TODO: Clean up debug comments -class MCTSLearner(ControllerBase): - """Monte Carlo Tree Search implementation using the UCB1 and progressive - widening approach as explained in Paxton et al (2017).""" - - _ucb_vals = set() +class Node: + """Represents a node in a tree.""" - def __init__(self, env, low_level_policies, start_node_alias, - max_depth=10): - """Constructor for MCTSLearner. + def __init__(self, node_num): + """Initialize a node. Args: - env: env instance - low_level_policies: low level policies dictionary - start_node: starting node - predictor: P(s, o) learner class; forward pass should - return the entire value from state s and option o - max_depth: max depth of the MCTS tree; default 10 levels + node_num: the unique number of a node in the tree """ - super(MCTSLearner, self).__init__(env, low_level_policies, - start_node_alias) + self.num = node_num + self.state = '' + self.cstate = None + self.edges = {} + self.parent_num = None + self.N = 0 + self.Q = 0 + self.depth = None + + def is_terminal(self): + """Check whether this node is a leaf node or not.""" + + return self.edges == {} + +class Tree: + """Tree representation used for MCTS.""" + + def __init__(self, max_depth): + """Constructor for Tree. + + Args: + max_depth: max possible distance between the root node + and any leaf node. + """ - self.controller_args_defaults = { - "predictor": - None #P(s, o) learner class; forward pass should return the entire value from state s and option o - } - self.max_depth = max_depth - #: store current node alias - self.curr_node_alias = start_node_alias - #: store current node's id - self.curr_node_num = 0 - #: when a new node is created, it has this id; - # afterwards this number is updated - self.new_node_num = 0 - #: visitation count of discrete observations - self.N = {} - #: visitation count of discrete observation with option - self.M = {} - #: total reward from given discrete observation with option - self.TR = {} - #: node properties self.nodes = {} - #: adjacency list - self.adj = {} - # populate root node - root_node_num, root_node_info = self._create_node(self.curr_node_alias) - self.nodes[root_node_num] = root_node_info - self.adj[root_node_num] = set() # no children - - def save_model(self, file_name="mcts.pickle"): - to_backup = { - 'N': self.N, - 'M': self.M, - 'TR': self.TR, - 'nodes': self.nodes, - 'adj': self.adj, - 'new_node_num': self.new_node_num - } - with open(file_name, 'wb') as handle: - pickle.dump(to_backup, handle, protocol=pickle.HIGHEST_PROTOCOL) - - def load_model(self, file_name='mcts.pickle'): - with open(file_name, 'rb') as handle: - to_restore = pickle.load(handle) - self.N = to_restore['N'] - self.M = to_restore['M'] - self.TR = to_restore['TR'] - self.nodes = to_restore['nodes'] - self.adj = to_restore['adj'] - self.new_node_num = to_restore['new_node_num'] - - def _create_node(self, low_level_policy): - """Create the node associated with curr_node_num, using the given low - level policy. + self.new_node_num = 0 + self.root = self._create_node() + self.root_node_num = 0 + self.root.depth = 0 + self.curr_node_num = 0 + self.max_depth = max_depth + self.latest_obs = None + self.latest_dis_obs = None + + def _create_node(self): + """Internal function to create a node, without edges.""" + + created_node = Node(self.new_node_num) + self.nodes[self.new_node_num] = created_node + self.new_node_num += 1 + return created_node + + def new_node(self, option_alias): + """Creates a new node that is a child of the current node. + The new node can be reached by the option_alias edge from + the current node. Args: - low_level_policy: the option's alias + option_alias: the edge between current node and new node + """ + + created_node = self._create_node() + self.nodes[self.curr_node_num].edges[option_alias] = created_node.num + created_node.parent_num = self.curr_node_num + created_node.depth = self.nodes[self.curr_node_num].depth+1 - Returns new node id, and dict with all the node properties of - the created node. + def move(self, option_alias): + """Use the edge option_alias and move from current node to + a next node. + + Args: + option_alias: edge to move along """ - # print('Creating new node %d:%s' % (self.new_node_num, low_level_policy)) - created_node_num = self.new_node_num - self.new_node_num += 1 - return created_node_num, {"policy": low_level_policy} + possible_edges = self.nodes[self.curr_node_num].edges + assert(option_alias in possible_edges.keys()) + self.curr_node_num = possible_edges[option_alias] + + def add_state(self, obs, dis_obs): + """Associates observation and discrete observation to the current + node. Useful to keep track of the last known observation(s). + + Args: + obs: observation to save to current node's cstate + dis_obs: observation to save to current node's state + """ + + if self.nodes[self.curr_node_num].state == '': + self.nodes[self.curr_node_num].state = dis_obs + self.nodes[self.curr_node_num].cstate = obs + # assert(self.nodes[self.curr_node_num].state == dis_obs) + # assert on the continuous obs? + self.latest_obs = obs + self.latest_dis_obs = dis_obs + + def reconstruct(self, option_alias): + """Use the option_alias from the root node and reposition the tree + such that the new root node is the node reached by following option_alias + from the current root node. + + Args: + option_alias: edge to follow from the root node + """ + new_root_num = self.nodes[self.root_node_num].edges[option_alias] + self.root_node_num = new_root_num + self.root = self.nodes[self.root_node_num] + self.curr_node_num = self.root_node_num + +class MCTSLearner(ControllerBase): + """MCTS Logic.""" + + def __init__(self, env, low_level_policies, max_depth=10, debug=False): + """Constructor for MCTSLearner. + + Args: + env: environment + low_level_policies: given low level maneuvers + max_depth: the tree's max depth + debug: whether or not to print debug statements + """ + + self.env = env # super? + self.low_level_policies = low_level_policies # super? + self.controller_args_defaults = {"predictor": None} + self.tree = Tree(max_depth=max_depth) + self.debug = debug + + def reset(self): + """Resets maneuvers and sets current node to root.""" + + all_options = set(self.low_level_policies.keys()) + for option_alias in all_options: + self.low_level_policies[option_alias].reset_maneuver() + self.tree.curr_node_num = self.tree.root_node_num + + def _get_possible_options(self): + """Return all option_alias whose init condition is satisfied from + the current node.""" + + all_options = set(self.low_level_policies.keys()) + filtered_options = set() + for option_alias in all_options: + self.low_level_policies[option_alias].reset_maneuver() + if self.low_level_policies[option_alias].initiation_condition: + filtered_options.add(option_alias) + return filtered_options + + def _get_sorted_possible_options(self, node): + """Return all option_alias whose init condition is satisfied from + the given node. The options are returned in decreasing order of + preference, which is determined from the q values given by the + predictor. + + Args: + node: the node from which the possible options are to be found + """ + + possible_options = self._get_possible_options() + q_values = {} + for option_alias in possible_options: + q_values[option_alias] = self.predictor(node.cstate, option_alias) + # print('to sort %s' % q_values) + sorted_list = sorted(possible_options, key=lambda z: q_values[z]) + # print('sorted: %s' % sorted_list) + return sorted_list[::-1] def _to_discrete(self, observation): - """Converts observation to a discrete observation tuple. Also append - (a) whether we are following a vehicle, and (b) whether there is a - vehicle in the opposite lane in the approximately the same x position. - These values will be useful for Follow and ChangeLane maneuvers. + """Converts a given observation to discrete form. Since the + discrete features don't capture all the information in the + environment, two additional features are added. Args: - observation: observation tuple from the environment + observation: observation to discretize - Returns the discrete observation + Returns a string of 0s and 1s """ + dis_observation = '' for item in observation[12:20]: if type(item) == bool: dis_observation += '1' if item is True else '0' if type(item) == int and item in [0, 1]: dis_observation += str(item) - - env = self.current_node.env + assert(len(dis_observation) == 8) # Are we following a vehicle? - target_veh_i, V2V_dist = env.get_V2V_distance() + target_veh_i, V2V_dist = self.env.get_V2V_distance() if target_veh_i is not None and V2V_dist <= 30: dis_observation += '1' else: @@ -120,9 +200,9 @@ class MCTSLearner(ControllerBase): # Is there a vehicle in the opposite lane in approximately the # same x position? delta_x = 15 - ego = env.vehs[0] + ego = self.env.vehs[0] possible_collision = '0' - for veh in env.vehs[1:]: + for veh in self.env.vehs[1:]: abs_delta_x = abs(ego.x - veh.x) opp_lane = ego.APs['lane'] != veh.APs['lane'] is_horizontal = veh.APs['on_route'] @@ -133,251 +213,219 @@ class MCTSLearner(ControllerBase): return dis_observation - def _get_visitation_count(self, observation, option=None): - """Finds the visitation count of the discrete form of the observation. - If discrete observation not found, then inserted into self.N with value - 0. Auto converts the observation into discrete form. If option is not - None, then this uses self.M instead of self.N. + def move(self, option_alias): + """Move in the MCTS tree. This means moving in the tree, updating + state information and stepping through option_alias. Args: - observation: observation tuple from the environment - option: option alias - - Returns N(discrete form of the observation) or N(observation, option) - depending on usage + option_alias: edge or option to execute to reach a next node """ - dis_observation = self._to_discrete(observation) - if option is None: - if dis_observation not in self.N: - self.N[dis_observation] = 0 - return self.N[dis_observation] - else: - if (dis_observation, option) not in self.M: - self.M[(dis_observation, option)] = 0 - return self.M[(dis_observation, option)] - - def _get_q_star(self, observation, option): - """Compute average value of discrete observation - option pair. + # take the edge option_alias and move to a new node + self.set_current_node(option_alias) + pre_x = self.env.vehs[0].x + next_obs, eps_R = self.option_step() + post_x = self.env.vehs[0].x + dis_obs = self._to_discrete(next_obs) + self.tree.move(option_alias) + self.tree.add_state(next_obs, dis_obs) + # print('moved %s: %f-> %f' % (option_alias, pre_x, post_x)) + if eps_R == None: + return 0 + return eps_R + + def search(self, obs): + """Perform a traversal from the root node. Args: - observation: observation tuple from the environment - option: option alias - - Returns Q_star(discrete form of the observation, option) + obs: current observation """ - dis_observation = self._to_discrete(observation) - if (dis_observation, option) not in self.TR: - self.TR[(dis_observation, option)] = 0 - return self.TR[(dis_observation, option)] / ( - 1 + self._get_visitation_count(observation, option)) - - def _get_possible_options(self): - """Returns a set of options that can be taken from the current node. - - Goes through adjacency set of current node and finds which next - nodes' initiation condition is met. - """ - - all_options = set(self.low_level_policies.keys()) - - # Filter nodes whose initiation condition are true - filtered_options = set() - for option_alias in all_options: - self.low_level_policies[option_alias].reset_maneuver() - if self.low_level_policies[option_alias].initiation_condition: - filtered_options.add(option_alias) - - return filtered_options - - def _get_already_visited_options(self, node_num): - """Returns a set of options that have already been tried at least once - from the given node. + success = 0 + self.reset() # reset tree and get to root + dis_obs = self._to_discrete(obs) + self.tree.add_state(obs, dis_obs) + reached_leaf = self.tree_policy() # until we reach a leaf + # print('Reached depth %d' % self.tree.nodes[self.tree.curr_node_num].depth, end=' ') + # print('at node: %d, reached leaf: %s, terminated: %s' % (self.tree.curr_node_num, reached_leaf, self.env.is_terminal())) + if reached_leaf: + rollout_reward = self.def_policy() # from leaf node + if rollout_reward > 0: + self.backup(1.0) # from leaf node + success = 1 + elif rollout_reward < -150: + self.backup(-1.0) + else: + self.backup(0) + else: + # violation happened or we terminated before reaching a leaf (weird) + if self.current_node.env.goal_achieved: + self.backup(1.0) + else: + self.backup(-1.0) + # p = {'overall': self.tree.root.Q * 1.0 / self.tree.root.N} + # for edge in self.tree.root.edges.keys(): + # next_node = self.tree.nodes[self.tree.root.edges[edge]] + # p[edge] = next_node.Q * 1.0 / next_node.N + # return self.best_action(self.tree.root, 0), success, p + return success + + def tree_policy(self): + """Policy that determines how to move through the MCTS tree. + Terminates either when environment reaches a terminal state, or we + reach a leaf node.""" + + while not self.env.is_terminal(): + + node = self.tree.nodes[self.tree.curr_node_num] + # Implementation IDEA: Choose the option which has the highest q first + possible_options = self._get_sorted_possible_options(node) + # possible_options = self._get_possible_options() + # print('at node: %d' % node.num) + already_visited = set(node.edges.keys()) + not_visited = [] + for item in possible_options: + if item not in already_visited: + not_visited.append(item) + # print('not visited %s' % not_visited) + if len(not_visited) > 0 and node.depth+1-self.tree.root.depth < self.tree.max_depth and np.power(node.N, 0.5) >= len(already_visited): + self.expand(node, not_visited) + return True + elif node.depth+1-self.tree.root.depth >= self.tree.max_depth: + return True # cant go beyond, just do a rollout + else: + option_alias = self.best_action(node, 1) + if self.debug: + print("%s" % option_alias[:2], end=',') + eps_R = self.move(option_alias) + if eps_R < -150: # violation + return False + + return False + + def expand(self, node, not_visited): + """Create a new node from the given node. Chooses an option from the + not_visited list. Also moves to the newly created node. Args: - node_num: node number of the node from which the return set has to - be computed - - Returns a set of aliases of already visited options from node_num + node: node to expand from + not_visited: new possible edges or options """ - visited_aliases = set() - for already_existing_node_num in self.adj[node_num]: - already_existing_node = self.nodes[already_existing_node_num] - node_alias = already_existing_node["policy"] - visited_aliases.add(node_alias) - return visited_aliases + # Implementation IDEA: Choose the option which has the highest q first + random_option_alias = list(not_visited)[0] # np.random.choice(list(not_visited)) + if self.debug: + print("expand(%s)"%random_option_alias[:2], end=',') + self.tree.new_node(random_option_alias) + self.move(random_option_alias) - def _ucb_adjusted_q(self, observation, C=1): - """Computes Q_star(observation, option_i) plus the UCB term, which is - C*[predictor(observation, option_i)]/[1+N(observation, option_i)], for - all option_i in the adjacency set of the current node. + def best_action(self, node, C): + """Find the best option to execute from a given node. The constant + C determines the coefficient of the uncertainty estimate. Args: - observation: observation tuple from the environment - C: UCB constant, experimentally defined + node: node from which the best action needs to be found + C: coefficient of uncertainty term - Returns Q values for next nodes + Returns the best possible option alias from given node. """ - Q = {} - Q1, Q2 = {}, {} # debug - dis_observation = self._to_discrete(observation) - next_option_nums = self.adj[self.curr_node_num] - for next_option_num in next_option_nums: - next_option = self.nodes[next_option_num]["policy"] - Q1[next_option] = ( - self._get_q_star(observation, next_option) + 200) / 400 - Q[(dis_observation, next_option)] = \ - Q1[next_option] - Q2[next_option] = C * \ - (self.predictor(observation, next_option)) / \ - (1 + self._get_visitation_count(observation, next_option)) - self._ucb_vals.add(Q2[next_option]) - Q[(dis_observation, next_option)] += \ - Q2[next_option] - return Q, Q1, Q2 - - def _value(self, observation): - """Computes the value function v(s) by computing sum of all - TR[dis_observation, option_i] divided by N[dis_observation] + next_options = list(node.edges.keys()) + Q_UCB = {} + for option_alias in next_options: + next_node_num = node.edges[option_alias] + next_node = self.tree.nodes[next_node_num] + Q_UCB[option_alias] = 0 + Q_UCB[option_alias] += next_node.Q / (next_node.N + 1) + obs = self.tree.latest_obs + pred = self.predictor(obs, option_alias) + if not np.isnan(pred): + Q_UCB[option_alias] += C * pred / (next_node.N + 1) + # print('%s => Q:%f, N+1:%f, pr: %f' % (option_alias, next_node.Q, next_node.N+1, self.predictor(obs, option_alias))) + k, v = list(Q_UCB.keys()), list(Q_UCB.values()) + # print('Q_UCB: %s' % str(Q_UCB)) + # print('') + return k[np.argmax(v)] + + def def_policy(self): + """Default policy, used for rollouts.""" + + rollout_reward = 0 + obs = self.tree.latest_obs + it = 0 + while not self.env.is_terminal(): + it += 1 + possible_options = self._get_possible_options() + # print('possible is %s' % possible_options) + Q_HL = {} + for option_alias in possible_options: + Q_HL[option_alias] = self.predictor(obs, option_alias) + # print(Q_HL) + k, v = list(Q_HL.keys()), list(Q_HL.values()) + chosen = k[np.argmax(v)] + # print('chosen is %s from %s' % (chosen, Q_HL)) + # hlk = list(self.low_level_policies.keys()) + # iii = self.debug_agent.predict(obs) + # assert(chosen == hlk[iii]) + if self.debug: + print("D(%s)" % (chosen[:2]), end=",") + # print() + self.set_current_node(chosen) + next_obs, eps_R = self.option_step() + obs = next_obs + if eps_R != None: + rollout_reward += eps_R + # print('Rollout steps = %d' % it) + if self.debug: + print(' <<%g>>' % rollout_reward, end=' ') + return rollout_reward + + def backup(self, rollout_reward): + """Reward backup strategy. Args: - observation: observation tuple from the environment - - Returns v(s) + rollout_reward: reward to back up """ - dis_observation = self._to_discrete(observation) - relevant_rewards = [value for key, value in self.TR.items() \ - if key[0] == dis_observation] - sum_rewards = np.sum(relevant_rewards) - return sum_rewards / (1 + self._get_visitation_count(observation)) - - def _select(self, observation, depth=0, visualize=False): - """MCTS selection function. For representation, we only use the - discrete part of the observation. + # print('Backing up %d' % rollout_reward) + if self.debug: + print(' === %s' % rollout_reward) + curr_node = self.tree.nodes[self.tree.curr_node_num] + while (curr_node is not None) and (curr_node.num != self.tree.root.parent_num): + curr_node.N += 1 + curr_node.Q += rollout_reward + if curr_node.parent_num is not None: + curr_node = self.tree.nodes[curr_node.parent_num] + else: + curr_node = None + + def set_current_node(self, node_alias): + """Set current node so that option_step can execute it later. Args: - observation: observation tuple from the environment - depth: current depth, starts from root node, hence 0 by default - visualize: whether or not to visualize low level steps - - Returns the sum of values from the given observation. + node_alias: option alias to execute next """ + self.current_node = self.low_level_policies[node_alias] + self.current_node.reset_maneuver() + self.env.set_ego_info_text(node_alias) + # print('set to %s' % node_alias) - # First compute whether the observation is terminal or not - env = self.current_node.env - is_terminal = env.is_terminal() - max_depth_reached = depth >= self.max_depth - dis_observation = self._to_discrete(observation) - # print('Depth %d:\t %s' % (depth, dis_observation)) - - if is_terminal or max_depth_reached: - # print('MCTS went %d nodes deep' % depth) - return self._value( - observation), 0 # TODO: replace with final goal reward - - Ns = self._get_visitation_count(observation) - Nchildren = len(self.adj[self.curr_node_num]) - - if Ns == 0 or Nchildren < np.sqrt(Ns): - # Add new edge - new_options = self._get_possible_options() - # Randomly choose option - new_option = np.random.choice(list(new_options)) - # Does the chosen option already exist? - already_visted_options = self._get_already_visited_options(\ - self.curr_node_num) - already_chosen_once = new_option in already_visted_options - # If not visited, create it - if not already_chosen_once: - new_node_num, new_node_info = self._create_node(new_option) - self.nodes[new_node_num] = new_node_info - self.adj[new_node_num] = set() - self.adj[self.curr_node_num].add(new_node_num) - - # Find o_star and do a transition, i.e. update curr_node - # Simulate / lookup; first change next - next_observation, episode_R, o_star = self.do_transition( - observation, visualize=visualize) - - # Recursively select next node - remaining_v, all_ep_R = self._select( - next_observation, depth + 1, visualize=visualize) - - # Update values - self.N[dis_observation] += 1 - self.M[(dis_observation, o_star)] += 1 - self.TR[(dis_observation, o_star)] += (episode_R + remaining_v) - - return self._value(observation), all_ep_R + episode_R - - def traverse(self, observation, visualize=False): - """Do a complete traversal from root to leaf. Assumes the environment - is reset and we are at the root node. - - Args: - observation: observation from the environment - visualize: whether or not to visualize low level steps - - Returns value of root node - """ + def option_step(self): + """Step through the current option_alias.""" - return self._select(observation, visualize=visualize) + total_reward = 0 + node_terminal_state_reached = False + while not node_terminal_state_reached: - def do_transition(self, observation, visualize=False): - """Do a transition using UCB metric, with the latest observation from - the episodic step. + u_ego = self.current_node.low_level_policy( + self.current_node.get_reduced_features_tuple()) + feature, R, terminal, info = self.current_node.step(u_ego) + node_terminal_state_reached = terminal + observation = self.env.get_features_tuple() + total_reward += R - Args: - observation: final observation from episodic step - visualize: whether or not to visualize low level steps + total_reward += self.current_node.high_level_extra_reward - Returns o_star using UCB metric - """ + # TODO for info + return observation, total_reward - # Choose an option to expand using UCB metric - Q, Q1, Q2 = self._ucb_adjusted_q(observation, C=1) - # Compute o_star = argmax_o Q(s, o) - next_keys, next_values = list(Q.keys()), list(Q.values()) - _, o_star = next_keys[np.argmax(next_values)] - # print('Current state: %s' % self._to_discrete(observation)) - # print('Choosing %s: %f, %f, sum:%f' % (o_star, Q1[o_star], Q2[o_star], np.max(next_values))) - # Change current_option to reflect this o_star - self.set_current_node(o_star) - next_obs, eps_R, _, _ = self.step_current_node(\ - visualize_low_level_steps=visualize) - return next_obs, eps_R, o_star - - def set_current_node(self, new_node_alias): - next_option_nums = self.adj[self.curr_node_num] - found_next_node = False - for next_option_num in next_option_nums: - next_option = self.nodes[next_option_num]["policy"] - if next_option == new_node_alias: - # print('Currently at %d:%s, switching to %d:%s' % (self.curr_node_num, self.curr_node_alias, next_option_num, new_node_alias)) - self.curr_node_num = next_option_num - found_next_node = True - break - if self.curr_node_num != 0: - assert found_next_node, "Couldn't transition to next node (%s) "\ - "from current_node (%s)" % (new_node_alias, self.curr_node_alias) - self.curr_node_alias = new_node_alias - self.current_node = self.low_level_policies[self.curr_node_alias] - self.current_node.reset_maneuver() - self.env.set_ego_info_text(self.curr_node_alias) - - def get_best_node(self, observation, use_ucb=False): - # Return node alias for best node from current node - Q, Q1, Q2 = self._ucb_adjusted_q(observation, C=1) - if use_ucb: - next_keys, next_values = list(Q.keys()), list(Q.values()) - _, o_star = next_keys[np.argmax(next_values)] - print(Q) - else: - next_keys, next_values = list(Q1.keys()), list(Q1.values()) - o_star = next_keys[np.argmax(next_values)] - print(Q1) - return o_star diff --git a/backends/online_mcts_controller.py b/backends/online_mcts_controller.py deleted file mode 100644 index a53d83b..0000000 --- a/backends/online_mcts_controller.py +++ /dev/null @@ -1,73 +0,0 @@ -from .controller_base import ControllerBase -from .mcts_learner import MCTSLearner -import tqdm -import numpy as np - - -class OnlineMCTSController(ControllerBase): - """Online MCTS.""" - - def __init__(self, env, low_level_policies, start_node_alias): - """Constructor for manual policy execution. - - Args: - env: env instance - low_level_policies: low level policies dictionary - """ - super(OnlineMCTSController, self).__init__(env, low_level_policies, - start_node_alias) - self.curr_node_alias = start_node_alias - self.controller_args_defaults = { - "predictor": None, - "max_depth": 5, # MCTS depth - "nb_traversals": 30, # MCTS traversals before decision - } - - def set_current_node(self, node_alias): - self.current_node = self.low_level_policies[node_alias] - self.curr_node_alias = node_alias - self.current_node.reset_maneuver() - self.env.set_ego_info_text(node_alias) - - def change_low_level_references(self, env_copy): - # Create a copy of the environment and change references in low level policies. - self.env = env_copy - for policy in self.low_level_policies.values(): - policy.env = env_copy - - def can_transition(self): - return not self.env.is_terminal() - - def do_transition(self): - # Require a predictor function - if self.predictor is None: - raise Exception(self.__class__.__name__ + \ - "predictor is not set. Use set_controller_args().") - # Store the env at this point - orig_env = self.env - np.random.seed() - # Change low level references before init MCTSLearner instance - env_before_mcts = orig_env.copy() - self.change_low_level_references(env_before_mcts) - print('Current Node: %s' % self.curr_node_alias) - mcts = MCTSLearner(self.env, self.low_level_policies, - self.curr_node_alias) - mcts.max_depth = self.max_depth - mcts.set_controller_args(predictor=self.predictor) - # Do nb_traversals number of traversals, reset env to this point every time - # print('Doing MCTS with params: max_depth = %d, nb_traversals = %d' % (self.max_depth, self.nb_traversals)) - for num_epoch in range( - self.nb_traversals): # tqdm.tqdm(range(self.nb_traversals)): - mcts.curr_node_num = 0 - env_begin_epoch = env_before_mcts.copy() - self.change_low_level_references(env_begin_epoch) - init_obs = self.env.get_features_tuple() - v, all_ep_R = mcts.traverse(init_obs) - self.change_low_level_references(orig_env) - # Find the nodes from the root node - mcts.curr_node_num = 0 - print('%s' % mcts._to_discrete(self.env.get_features_tuple())) - node_after_transition = mcts.get_best_node( - self.env.get_features_tuple(), use_ucb=False) - print('MCTS suggested next option: %s' % node_after_transition) - self.set_current_node(node_after_transition) diff --git a/backends/trained_policies/highlevel/highlevel_weights.h5f b/backends/trained_policies/highlevel/highlevel_weights.h5f index 758edd04dfb997f8bc019986abdc55c291294497..8ab94a7177909c5f71d6701e016a99002ac55aa5 100644 GIT binary patch literal 126760 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ϸ&tsk?3r-)_Df_-tHJilBt|1= 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 Rf7k!VU)BHd_W$<o{{rOGbyENU literal 74800 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 X_YdpD?XA&&w0+AT*QNhi_AUPlbC+Uv diff --git a/backends/trained_policies/wait/wait_weights_actor.h5f b/backends/trained_policies/wait/wait_weights_actor.h5f new file mode 100644 index 0000000000000000000000000000000000000000..df6c51f2e9a39202430b13bf31428b9d88f261c8 GIT binary patch literal 38208 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 literal 0 HcmV?d00001 diff --git a/backends/trained_policies/wait/wait_weights_critic.h5f b/backends/trained_policies/wait/wait_weights_critic.h5f new file mode 100644 index 0000000000000000000000000000000000000000..93b370ddc75f75f14acd0a708e8200c36cc1f550 GIT binary patch literal 60480 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 ARsaA1 literal 0 HcmV?d00001 diff --git a/high_level_policy_main.py b/high_level_policy_main.py index 8204c7e..5d74544 100644 --- a/high_level_policy_main.py +++ b/high_level_policy_main.py @@ -48,6 +48,7 @@ def high_level_policy_training(nb_steps=25000, target_model_update=1e-3, delta_clip=100, low_level_policies=options.maneuvers) + #gamma=1) if load_weights: agent.load_model(save_path) diff --git a/mcts.py b/mcts.py index e68356b..2020834 100644 --- a/mcts.py +++ b/mcts.py @@ -4,7 +4,7 @@ from backends import DDPGLearner, DQNLearner, MCTSLearner import numpy as np import tqdm import argparse - +import time, datetime import sys @@ -28,310 +28,132 @@ class Logger(object): sys.stdout = Logger() -# TODO: make a separate file for this function. -def mcts_training(nb_traversals, - save_every=20, - visualize=False, - load_saved=False, - save_file="mcts.pickle"): - """Do RL of the low-level policy of the given maneuver and test it. - - Args: - nb_traversals: number of MCTS traversals - save_every: save at every these many traversals - visualize: visualization / rendering - """ - - # initialize the numpy random number generator - np.random.seed() - - # load options graph - options = OptionsGraph("mcts_config.json", SimpleIntersectionEnv) - options.load_trained_low_level_policies() - - agent = DQNLearner( - input_shape=(50, ), - nb_actions=options.get_number_of_nodes(), - low_level_policies=options.maneuvers) - - agent.load_model( - "backends/trained_policies/highlevel/highlevel_weights.h5f") - options.set_controller_args( - predictor=agent.get_softq_value_using_option_alias) - options.controller.max_depth = 20 - - if load_saved: - options.controller.load_model(save_file) - - total_epochs = nb_traversals // save_every - trav_num = 1 - print('Total number of epochs = %d' % total_epochs) - for num_epoch in range(total_epochs): - last_rewards = [] - beg_trav_num = trav_num - for num_traversal in tqdm.tqdm(range(save_every)): - options.controller.curr_node_num = 0 - init_obs = options.reset() - v, all_ep_R = options.controller.traverse( - init_obs, visualize=visualize) - - last_rewards += [all_ep_R] - trav_num += 1 - options.controller.save_model(save_file) - success = lambda x: x > 50 - success_rate = np.sum(list(map( - success, last_rewards))) / (len(last_rewards) * 1.0) - print('success rate: %f' % success_rate) - print('Average Reward (%d-%d): %f\n' % (beg_trav_num, trav_num - 1, - np.mean(last_rewards))) - - -def mcts_evaluation(nb_traversals, - num_trials=5, +def mcts_evaluation(depth, + nb_traversals, + nb_episodes, + nb_trials, visualize=False, - save_file="mcts.pickle", - pretrained=False): + debug=False): """Do RL of the low-level policy of the given maneuver and test it. Args: - nb_traversals: number of MCTS traversals - save_every: save at every these many traversals + depth: depth of each tree search + nb_traversals: number of MCTS traversals per episodes + nb_episodes: number of episodes per trial + nb_trials: number of trials visualize: visualization / rendering + debug: whether or not to show debug information """ # initialize the numpy random number generator np.random.seed() - # load options graph - options = OptionsGraph("mcts_config.json", SimpleIntersectionEnv) + # load config and maneuvers + options = OptionsGraph("mcts_config.json", SimpleIntersectionEnv, + randomize_special_scenarios=True) options.load_trained_low_level_policies() + # load high level policy for UCT prediction agent = DQNLearner( input_shape=(50, ), nb_actions=options.get_number_of_nodes(), low_level_policies=options.maneuvers) - agent.load_model( "backends/trained_policies/highlevel/highlevel_weights.h5f") - options.set_controller_args( - predictor=agent.get_softq_value_using_option_alias) - options.controller.max_depth = 20 - - if pretrained: - save_file = "backends/trained_policies/mcts/" + save_file - - success_list = [] - print('Total number of trials = %d' % num_trials) - for trial in range(num_trials): - num_successes = 0 - options.controller.load_model(save_file) - for num_traversal in tqdm.tqdm(range(nb_traversals)): - options.controller.curr_node_num = 0 - init_obs = options.reset() - v, all_ep_R = options.controller.traverse( - init_obs, visualize=visualize) - if all_ep_R > 50: - num_successes += 1 - print("\nTrial {}: success: {}".format(trial + 1, num_successes)) - success_list.append(num_successes) - - print("\nSuccess: Avg: {}, Std: {}".format( - np.mean(success_list), np.std(success_list))) - - -def online_mcts(nb_episodes=10): - # MCTS visualization is off - - # initialize the numpy random number generator - np.random.seed() - - # load options graph - options = OptionsGraph("mcts_config.json", SimpleIntersectionEnv) - options.load_trained_low_level_policies() - - agent = DQNLearner( - input_shape=(50, ), - nb_actions=options.get_number_of_nodes(), - low_level_policies=options.maneuvers) - agent.load_model( - "backends/trained_policies/highlevel/highlevel_weights_772.h5f") + # set predictor options.set_controller_args( - predictor=agent.get_softq_value_using_option_alias) - - # Loop - num_successes = 0 - for num_ep in range(nb_episodes): - init_obs = options.reset() - episode_reward = 0 - first_time = True - while not options.env.is_terminal(): - if first_time: - first_time = False - else: - print('Stepping through ...') - features, R, terminal, info = options.controller.\ - step_current_node(visualize_low_level_steps=True) - episode_reward += R - print('Intermediate Reward: %f (ego x = %f)' % - (R, options.env.vehs[0].x)) - print('') - if options.controller.can_transition(): - options.controller.do_transition() - print('') - print('EPISODE %d: Reward = %f' % (num_ep, episode_reward)) - print('') - print('') - if episode_reward > 50: num_successes += 1 - - print("Policy succeeded {} times!".format(num_successes)) - - -def evaluate_online_mcts(nb_episodes=20, nb_trials=5): - # MCTS visualization is off - - # initialize the numpy random number generator - np.random.seed() - - # load options graph - options = OptionsGraph("mcts_config.json", SimpleIntersectionEnv) - options.load_trained_low_level_policies() - - agent = DQNLearner( - input_shape=(50, ), - nb_actions=options.get_number_of_nodes(), - low_level_policies=options.maneuvers) - - agent.load_model( - "backends/trained_policies/highlevel/highlevel_weights_772.h5f") - options.set_controller_args( - predictor=agent.get_softq_value_using_option_alias) + predictor=agent.get_softq_value_using_option_alias, + max_depth=depth, + nb_traversals=nb_traversals, + debug=debug) + # Evaluate + success_list = [] print("\nConducting {} trials of {} episodes each".format( nb_trials, nb_episodes)) - success_list = [] - termination_reason_list = {} - for trial in range(nb_trials): - # Loop + overall_reward_list = [] + overall_success_accuracy = [] + for num_tr in range(nb_trials): num_successes = 0 - termination_reason_counter = {} + reward_list = [] for num_ep in range(nb_episodes): init_obs = options.reset() episode_reward = 0 first_time = True + start_time = time.time() while not options.env.is_terminal(): if first_time: first_time = False else: - print('Stepping through ...') + # print('Stepping through ...') features, R, terminal, info = options.controller.\ - step_current_node(visualize_low_level_steps=True) + step_current_node(visualize_low_level_steps=visualize) episode_reward += R - print('Intermediate Reward: %f (ego x = %f)' % - (R, options.env.vehs[0].x)) - print('') - if terminal: - if 'episode_termination_reason' in info: - termination_reason = info[ - 'episode_termination_reason'] - if termination_reason in termination_reason_counter: - termination_reason_counter[ - termination_reason] += 1 - else: - termination_reason_counter[ - termination_reason] = 1 + # print('Intermediate Reward: %f (ego x = %f)' % + # (R, options.env.vehs[0].x)) + # print('') if options.controller.can_transition(): options.controller.do_transition() - print('') - print('EPISODE %d: Reward = %f' % (num_ep, episode_reward)) - print('') - print('') - if episode_reward > 50: num_successes += 1 - - print("\nTrial {}: success: {}".format(trial + 1, num_successes)) - success_list.append(num_successes) - for reason, count in termination_reason_counter.items(): - if reason in termination_reason_list: - termination_reason_list[reason].append(count) - else: - termination_reason_list[reason] = [count] - - success_list = np.array(success_list) - print("\nSuccess: Avg: {}, Std: {}".format( - np.mean(success_list), np.std(success_list))) - print("Termination reason(s):") - for reason, count_list in termination_reason_list.items(): - count_list = np.array(count_list) - print("{}: Avg: {}, Std: {}".format(reason, np.mean(count_list), - np.std(count_list))) - + end_time = time.time() + total_time = int(end_time-start_time) + if options.env.goal_achieved: + num_successes += 1 + print('Episode {}: Reward = {} ({})'.format(num_ep, episode_reward, + datetime.timedelta(seconds=total_time))) + reward_list += [episode_reward] + print("Trial {}: Reward = (Avg: {}, Std: {}), Successes: {}/{}".\ + format(num_tr, np.mean(reward_list), np.std(reward_list), \ + num_successes, nb_episodes)) + overall_reward_list += reward_list + overall_success_accuracy += [num_successes * 1.0 / nb_episodes] + print('Overall: Reward = (Avg: {}, Std: {}), Success = (Avg: {}, Std: {})'.\ + format(np.mean(overall_reward_list), np.std(overall_reward_list), + np.mean(overall_success_accuracy), np.std(overall_success_accuracy))) if __name__ == "__main__": parser = argparse.ArgumentParser() - parser.add_argument( - "--train", - help= - "Train an offline mcts with default settings. Always saved in root folder.", - action="store_true") parser.add_argument( "--evaluate", - help="Evaluate over n trials. " - "Uses backends/trained_policies/mcts/mcts.pickle by default", - action="store_true") - parser.add_argument( - "--saved_policy_in_root", - help= - "Use saved policies in root of project rather than backends/trained_policies/mcts/", - action="store_true") - parser.add_argument( - "--load_saved", - help="Load a saved policy from root folder first before training", + help="Evaluate over n trials, no visualization by default.", action="store_true") parser.add_argument( "--visualize", help= - "Visualize the training. Testing is always visualized. Evaluation is not visualized by default", + "Visualize the training.", action="store_true") parser.add_argument( - "--nb_traversals", - help="Number of traversals to perform. Default is 1000", - default=1000, + "--depth", + help="Max depth of tree per episode. Default is 10", + default=10, type=int) parser.add_argument( - "--save_every", - help= - "Saves every n traversals. Saves in root by default. Default is 500", - default=500, + "--nb_traversals", + help="Number of traversals to perform per episode. Default is 100", + default=100, type=int) parser.add_argument( - "--nb_traversals_for_test", - help="Number of episodes to evaluate. Default is 100", - default=100, + "--nb_episodes", + help="Number of episodes per trial to evaluate. Default is 10", + default=10, type=int) parser.add_argument( "--nb_trials", - help="Number of trials to evaluate. Default is 10", - default=10, + help="Number of trials to evaluate. Default is 1", + default=1, type=int) parser.add_argument( - "--save_file", - help= - "filename to save/load the trained policy. Location is as specified by --saved_policy_in_root. Default name is mcts.pickle", - default="mcts.pickle") + "--debug", + help="Show debug output. Default is false", + action="store_true") args = parser.parse_args() - if args.train: - mcts_training( - nb_traversals=args.nb_traversals, - save_every=args.save_every, - visualize=args.visualize, - load_saved=args.load_saved, - save_file=args.save_file) if args.evaluate: mcts_evaluation( - nb_traversals=args.nb_traversals_for_test, - num_trials=args.nb_trials, + depth=args.depth, + nb_traversals=args.nb_traversals, + nb_episodes=args.nb_episodes, + nb_trials=args.nb_trials, visualize=args.visualize, - pretrained=not args.saved_policy_in_root, - save_file=args.save_file) + debug=args.debug) diff --git a/mcts_config.json b/mcts_config.json index 859f0fc..30b815d 100644 --- a/mcts_config.json +++ b/mcts_config.json @@ -1,10 +1,10 @@ { "nodes": { - "wait": "MCTSWait", - "follow": "MCTSFollow", - "stop": "MCTSStop", - "changelane": "MCTSChangeLane", - "keeplane": "MCTSKeepLane" + "wait": "Wait", + "follow": "Follow", + "stop": "Stop", + "changelane": "ChangeLane", + "keeplane": "KeepLane" }, "edges": { diff --git a/options/options_loader.py b/options/options_loader.py index f4f7386..1d2121b 100644 --- a/options/options_loader.py +++ b/options/options_loader.py @@ -1,9 +1,7 @@ import json import os # for the use of os.path.isfile from .simple_intersection.maneuvers import * -from .simple_intersection.mcts_maneuvers import * -from backends import RLController, DDPGLearner, MCTSLearner, OnlineMCTSController, ManualPolicy - +from backends import RLController, DDPGLearner, MCTSController, ManualPolicy class OptionsGraph: """Represent the options graph as a graph like structure. The configuration @@ -67,11 +65,8 @@ class OptionsGraph: self.controller = ManualPolicy(self.env, self.maneuvers, self.adj, self.start_node_alias) elif self.config["method"] == "mcts": - self.controller = MCTSLearner(self.env, self.maneuvers, - self.start_node_alias) - elif self.config["method"] == "online_mcts": - self.controller = OnlineMCTSController(self.env, self.maneuvers, - self.start_node_alias) + self.controller = MCTSController(self.env, self.maneuvers, + self.start_node_alias) else: raise Exception(self.__class__.__name__ + \ "Controller to be used not specified") @@ -156,6 +151,7 @@ class OptionsGraph: # TODO: error handling def load_trained_low_level_policies(self): for key, maneuver in self.maneuvers.items(): + # TODO: Ensure that for manual policies, nothing is loaded trained_policy_path = "backends/trained_policies/" + key + "/" critic_file_exists = os.path.isfile(trained_policy_path + key + "_weights_critic.h5f") actor_file_exists = os.path.isfile(trained_policy_path + key + "_weights_actor.h5f") @@ -180,9 +176,6 @@ class OptionsGraph: print("\n Warning: the trained low-level policy of \"" + key + "\" does not exists; the manual policy will be used.\n") - if self.config["method"] == "mcts": - maneuver.timeout = np.inf - def get_number_of_nodes(self): return len(self.maneuvers) diff --git a/options/simple_intersection/maneuver_base.py b/options/simple_intersection/maneuver_base.py index 01e210d..c680f33 100644 --- a/options/simple_intersection/maneuver_base.py +++ b/options/simple_intersection/maneuver_base.py @@ -31,7 +31,7 @@ class ManeuverBase(EpisodicEnvBase): # with subtraction. # TODO: remove or to provide additional functionality, keep _cost_weights in ManeuverBase here (see other TODOs in simple_intersection_env regarding _cost_weights). _cost_weights = (10.0 * 1e-3, 10.0 * 1e-3, 0.25 * 1e-3, 1.0 * 1e-3, - 100.0 * 1e-3, 0.1 * 1e-3, 0.05 * 1e-3, 0.1 * 1e-3) + 100.0 * 1e-3, 0.1 * 1e-3, 0.05 * 1e-3, 0.1 * 1e-3) _extra_r_terminal = None _extra_r_on_timeout = None diff --git a/options/simple_intersection/maneuvers.py b/options/simple_intersection/maneuvers.py index 3a99a45..e995a19 100644 --- a/options/simple_intersection/maneuvers.py +++ b/options/simple_intersection/maneuvers.py @@ -50,13 +50,16 @@ class KeepLane(ManeuverBase): @staticmethod def _features_dim_reduction(features_tuple): - return extract_ego_features(features_tuple, 'v', 'v_ref', 'e_y', 'psi', 'v tan(psi/L)', 'theta', 'lane', 'acc', 'psi_dot') + return extract_ego_features(features_tuple, 'v', 'v_ref', 'e_y', + 'psi', 'v tan(psi/L)', 'theta', 'lane', + 'acc', 'psi_dot') @property def initiation_condition(self): """a virtual function (property) from ManeuverBase. - As KeepLane is a default maneuver, it has to be activated to be chosen at any time, state, and condition - (refer to initiation_condition of ManeuverBase for the usual case. + As KeepLane is a default maneuver, it has to be activated to be + chosen at any time, state, and condition (refer to + initiation_condition of ManeuverBase for the usual case). :returns True. """ @@ -243,35 +246,107 @@ class Wait(ManeuverBase): def _init_LTL_preconditions(self): self._LTL_preconditions.append( - LTLProperty("G ( (in_stop_region and stopped_now) and not (highest_priority and intersection_is_clear))", + LTLProperty("G ( (in_stop_region and stopped_now) U (highest_priority and intersection_is_clear))", None, not self._enable_low_level_training_properties)) # not available in low-level training... self._LTL_preconditions.append( - LTLProperty("G ( not (in_intersection and highest_priority) )", + LTLProperty("G ( not (in_intersection and highest_priority and intersection_is_clear) )", self._penalty(self._reward_in_goal))) self._LTL_preconditions.append( LTLProperty( - "G ( in_stop_region U (highest_priority and intersection_is_clear) )", 150, self._enable_low_level_training_properties)) + "G ( in_stop_region U (highest_priority and intersection_is_clear) )", 150, + self._enable_low_level_training_properties)) self._LTL_preconditions.append( LTLProperty( "G ( (lane and target_lane) or (not lane and not target_lane) )", - 100, self._enable_low_level_training_properties)) + 150, self._enable_low_level_training_properties)) def _init_param(self): - self._v_ref = 0 #if self._enable_low_level_training_properties else rd.speed_limit + self._update_param() + self._target_lane = self.env.ego.APs['lane'] + + def _update_param(self): + if self.env.ego.APs['highest_priority'] and self.env.ego.APs['intersection_is_clear']: + self._v_ref = rd.speed_limit + else: + self._v_ref = 0 + + def generate_learning_scenario(self): + n_others = 0 if np.random.rand() <= 0 else np.random.randint(1, 4) + self.generate_scenario( + n_others_range=(n_others, n_others), + ego_pos_range=rd.hlanes.stop_region, + n_others_stopped_in_stop_region=n_others, + ego_v_upper_lim=0, + ego_perturb_lim=(rd.hlanes.width / 4, np.pi / 6), + ego_heading_towards_lane_centre=True) + + max_waited_count = 0 + min_waited_count = 1 + for veh in self.env.vehs[1:]: + max_waited_count = max(max_waited_count, veh.waited_count) + min_waited_count = min(min_waited_count, veh.waited_count) + + min_waited_count = min(min_waited_count, max_waited_count) + self._extra_action_weights_flag = False + + if np.random.rand() <= 0.5: + self.env.ego.waited_count = np.random.randint(0, min_waited_count+1) + else: + self.env.ego.waited_count = np.random.randint(min_waited_count, max_waited_count + 21) + + self.env.init_APs(False) + self._reward_in_goal = 200 + self._enable_low_level_training_properties = True + self._extra_action_weights_flag = True + + @property + def extra_termination_condition(self): + if self._enable_low_level_training_properties: # activated only for the low-level training. + if self.env.ego.APs['highest_priority'] and self.env.ego.APs['intersection_is_clear'] \ + and np.random.rand() <= 0.1 and self.env.ego.v <= self._v_ref / 10 \ + and self.env.ego.acc < 0: + self._extra_r_terminal = - 100 + return True + else: + self._extra_r_terminal = None + return False + + return False + + @staticmethod + def _features_dim_reduction(features_tuple): + return extract_ego_features( + features_tuple, 'v', 'v_ref', 'e_y', 'psi', 'v tan(psi/L)', 'theta', 'lane', 'acc', 'psi_dot', + 'pos_stop_region', 'intersection_is_clear', 'highest_priority') + + +class ManualWait(ManeuverBase): + _reward_in_goal = None + _terminate_in_goal = True + + def _init_LTL_preconditions(self): + self._LTL_preconditions.append( + LTLProperty("G ( (in_stop_region and stopped_now) and not (highest_priority and intersection_is_clear))", + None, not self._enable_low_level_training_properties)) # not available in low-level training... + + self._LTL_preconditions.append( + LTLProperty("G ( in_stop_region U (highest_priority and intersection_is_clear) )", + 150, self._enable_low_level_training_properties)) + + self._LTL_preconditions.append( + LTLProperty("G ( (lane and target_lane) or (not lane and not target_lane) )", + 100, self._enable_low_level_training_properties)) + + def _init_param(self): + self._v_ref = 0 self._target_lane = self.env.ego.APs['lane'] def _low_level_manual_policy(self): return (0, 0) # Do nothing during "Wait" but just wait until the highest priority is given. -# @staticmethod -# def _features_dim_reduction(features_tuple): -# return extract_ego_features( -# features_tuple, 'v', 'v_ref', 'e_y', 'psi', 'v tan(psi/L)', 'theta', 'lane', 'acc', 'psi_dot', -# 'pos_stop_region', 'intersection_is_clear', 'highest_priority') - class Left(ManeuverBase): diff --git a/options/simple_intersection/mcts_maneuvers.py b/options/simple_intersection/mcts_maneuvers.py deleted file mode 100644 index 60c7876..0000000 --- a/options/simple_intersection/mcts_maneuvers.py +++ /dev/null @@ -1,315 +0,0 @@ -from .maneuver_base import ManeuverBase -from env.simple_intersection.constants import * -import env.simple_intersection.road_geokinemetry as rd -from env.simple_intersection.features import extract_ego_features, extract_other_veh_features -from model_checker.simple_intersection import LTLProperty - -import numpy as np - -# TODO: separate out into different files?? is it really needed? - - -class MCTSKeepLane(ManeuverBase): - def _init_param(self): - self._v_ref = rd.speed_limit - self._target_lane = self.env.ego.APs['lane'] - self._extra_action_weights_flag = True - - @property - def extra_initiation_condition(self): - return not self.env.ego.APs['veh_ahead'] - - def generate_learning_scenario(self): - self.generate_scenario( - enable_LTL_preconditions=False, - ego_pos_range=(rd.intersection_width_w_offset / 2, - rd.hlanes.end_pos), - ego_perturb_lim=(rd.hlanes.width / 4, np.pi / 12), - ego_heading_towards_lane_centre=True) - self.env._terminate_in_goal = True - self.env._reward_in_goal = 200 - - def generate_validation_scenario(self): - self.generate_scenario( - enable_LTL_preconditions=False, - timeout=10, - ego_perturb_lim=(0, 0), - ego_heading_towards_lane_centre=True) - self.env._terminate_in_goal = True - self.env._reward_in_goal = 200 - - @staticmethod - def _features_dim_reduction(features_tuple): - return features_tuple[0:5] + features_tuple[6:7] + features_tuple[9:11] - - -class MCTSStop(ManeuverBase): - - _terminate_in_goal = True - _reward_in_goal = None - - def _init_param(self): - self._set_v_ref() - self._target_lane = self.env.ego.APs['lane'] - self._extra_action_weights_flag = True - - def _update_param(self): - self._set_v_ref() - - def _set_v_ref(self): - self._v_ref = rd.speed_limit - x = self.env.ego.x - if x <= rd.hlanes.near_stop_region: - self._v_ref = rd.speed_limit - elif x <= rd.hlanes.stop_region_centre: - self._v_ref = -(rd.speed_limit / abs(rd.hlanes.near_stop_region) - ) * (x - rd.hlanes.stop_region_centre) - else: - self._v_ref = 0 - - @property - def goal_achieved(self): - APs = self.env.ego.APs - return APs['stopped_now'] and APs['in_stop_region'] - - @property - def extra_initiation_condition(self): - APs = self.env.ego.APs - return not APs['has_stopped_in_stop_region'] and \ - (APs['before_but_close_to_stop_region'] or - APs['in_stop_region']) - - def generate_learning_scenario(self): - self.generate_scenario( - ego_pos_range=(rd.hlanes.start_pos, - -rd.intersection_width_w_offset / 2), - ego_perturb_lim=(rd.hlanes.width / 4, np.pi / 6), - ego_heading_towards_lane_centre=True) - - self._reward_in_goal = 200 - - def _low_level_manual_policy(self): - return self.env.aggressive_driving_policy(EGO_INDEX) - - @staticmethod - def _features_dim_reduction(features_tuple): - return features_tuple[0: - 5] + features_tuple[6: - 7] + features_tuple[9: - 11] + features_tuple[12: - 13] - - -class MCTSWait(ManeuverBase): - - _penalty_in_violation = 200 - - _terminate_in_goal = True - _reward_in_goal = None - - def _init_param(self): - ego = self.env.ego - self._v_ref = 0.0 - self._target_lane = ego.APs['lane'] - - #self._LTL_preconditions.append( - # LTLProperty("G ( has_stopped_in_stop_region => (in_stop_region or in_intersection))", - # self._penalty_in_violation)) - - self._n_others_with_higher_priority = 0 - for veh in self.env.vehs[1:]: - if veh.waited_count > ego.waited_count: - self._n_others_with_higher_priority += 1 - - def _update_param(self): - if self.env.ego.APs['highest_priority']: - self._v_ref = rd.speed_limit - - def generate_learning_scenario(self): - n_others = np.random.randint(0, 3) - self.generate_scenario( - enable_LTL_preconditions=True, - timeout=62, - n_others_range=(n_others, n_others), - ego_pos_range=rd.hlanes.stop_region, - n_others_stopped_in_stop_region=n_others, - ego_v_upper_lim=0, - ego_perturb_lim=(rd.hlanes.width / 4, np.pi / 6), - ego_heading_towards_lane_centre=True) - - max_waited_count = 0 - for veh in self.env.vehs[1:]: - max_waited_count = max(max_waited_count, veh.waited_count) - - self.env.ego.waited_count = np.random.randint(0, max_waited_count + 21) - self.env.init_APs(False) - - self._reward_in_goal = 200 - - def _low_level_manual_policy(self): - return self.env.aggressive_driving_policy(EGO_INDEX) - - @property - def goal_achieved(self): - APs = self.env.ego.APs - return APs['in_intersection'] and APs['highest_priority'] - - @property - def extra_initiation_condition(self): - APs = self.env.ego.APs - return (APs['stopped_now'] and APs['in_stop_region']) - - @property - def extra_termination_condition(self): - APs = self.env.ego.APs - cond = (APs['in_intersection'] and not APs['highest_priority']) \ - or APs['over_speed_limit'] - if cond: - self._extra_r_terminal = -200 - else: - self._extra_r_terminal = None - return cond - - @staticmethod - def _features_dim_reduction(features_tuple): - return tuple(features_tuple[i] for i in \ - [1, 2, 4, 6, 9, 10, 11, 18, 19]) - - -class MCTSChangeLane(ManeuverBase): - - max_goal_distance = 21 - min_y_distance = rd.hlanes.width * 0.8 - - _terminate_in_goal = True - _reward_in_goal = None - - def _init_param(self): - self._init_x = self.env.ego.x - self._init_y = self.env.ego.y - self._v_ref = rd.speed_limit - self._target_lane = not self.env.ego.APs['lane'] - - self._terminate_in_goal = True - - @property - def goal_achieved(self): - APs = self.env.ego.APs - on_other_lane = APs['lane'] == self._target_lane - within_goal_distance = abs(self.env.ego.x - - self._init_x) <= self.max_goal_distance - achieved_y_displacement = abs(self.env.ego.y - - self._init_y) >= self.min_y_distance - return on_other_lane and APs['on_route'] and achieved_y_displacement and \ - APs['parallel_to_lane'] and within_goal_distance - - @property - def extra_initiation_condition(self): - return not self.env.ego.APs['in_intersection'] and not self.env.ego.APs['in_stop_region'] - - @property - def extra_termination_condition(self): - APs = self.env.ego.APs - cond1 = not APs['on_route'] or APs['over_speed_limit'] - cond2 = APs['in_stop_region'] or APs['in_intersection'] - if cond1 or cond2: - self._extra_r_terminal = -200 - else: - self._extra_r_terminal = None - return cond1 or cond2 - - def _low_level_manual_policy(self): - return self.env.aggressive_driving_policy(EGO_INDEX) - - def generate_learning_scenario(self): - before_intersection = ( - rd.hlanes.start_pos, - rd.hlanes.stop_region[0] - self.max_goal_distance) - after_intersection = (rd.intersection_width_w_offset / 2, - rd.hlanes.end_pos - self.max_goal_distance) - random_placement_index = np.random.choice([0, 1]) - random_h_pos = before_intersection if random_placement_index == 0 else after_intersection - self.generate_scenario( - enable_LTL_preconditions=False, - timeout=15, - ego_pos_range=random_h_pos, - ego_lane=np.random.choice([0, 1]), - ego_perturb_lim=(rd.hlanes.width / 5, np.pi / 6)) - # print('our range was %s, %s, ego at %s' % (before_intersection, after_intersection, self.env.ego.x)) - self._reward_in_goal = 200 - - # TODO: It is not a good idea to specify features by numbers, as the list - # of features is ever changing. We should specify them by strings. - @staticmethod - def _features_dim_reduction(features_tuple): - return tuple(features_tuple[i] for i in \ - [1, 2, 3, 4, 5, 6, 7, 9, 10]) - - -class MCTSFollow(ManeuverBase): - - __veh_ahead_buffer = 0.5 - - _penalty_for_out_of_follow_range = None - - def _init_param(self): - self._update_param() - self._terminate_in_goal = True - - if self._target_veh_i is None: - pass # print("\nWarning: initially, no vehicle is ahead of the ego in Follow maneuver.") - - def _update_param(self): - self._target_veh_i, self._V2V_dist = self.env.get_V2V_distance() - - def generate_learning_scenario(self): - self.generate_scenario( - enable_LTL_preconditions=False, - n_others_range=(1, 1), - ego_perturb_lim=(rd.hlanes.width / 2, np.pi / 4), - veh_ahead_scenario=True) - _penalty_for_out_of_follow_range = 100 - - def generate_validation_scenario(self): - self.generate_scenario( - enable_LTL_preconditions=False, - n_others_range=(1, 1), - ego_perturb_lim=(0, 0), - veh_ahead_scenario=True) - _penalty_for_out_of_follow_range = 100 - - def _low_level_manual_policy(self): - return self.env.aggressive_driving_policy(EGO_INDEX) - - @property - def extra_initiation_condition(self): - return self.env.ego.APs['veh_ahead'] - - @property - def extra_termination_condition(self): - condition1 = self._target_veh_i is None - - condition2 = self.env.ego.APs['lane'] != self._target_lane - - condition3 = self._V2V_dist > self.env.veh_ahead_max + self.__veh_ahead_buffer or \ - self._V2V_dist < self.env.veh_ahead_min - self.__veh_ahead_buffer - - if condition1 or condition2 or condition3: - if self._penalty_for_out_of_follow_range is not None: - self._extra_r_terminal = -self._penalty_for_out_of_follow_range - else: - self._extra_r_terminal = None - return True - else: - self._extra_r_terminal = None - return False - - def _features_dim_reduction(self, features_tuple): - # TODO: Remove magic number 19 and 5 using features.py - if self._target_veh_i is not None: - start_of_veh_feature = 20 + ((self._target_veh_i - 1) * 5) - return features_tuple[1:11] + features_tuple[start_of_veh_feature: - start_of_veh_feature + - 4] - else: - return features_tuple[1:11] + (0.0, 0.0, 0.0, 0.0) -- GitLab