def _load_rddl_model(self, filename): with open(filename, 'r') as input_file: rddl = input_file.read() parser = RDDLParser() parser.build() # parse RDDL return parser.parse(rddl)
def parse_model(filename, verbose=False): rddl = read_model(filename) parser = RDDLParser(verbose=verbose) parser.build() model = parser.parse(rddl) model.build() return model
def setUpClass(cls): # initialize hyper-parameters cls.horizon = 40 cls.batch_size = 64 cls.epochs = 50 cls.learning_rate = 0.01 # parse RDDL file with open('rddl/deterministic/Navigation.rddl') as file: parser = RDDLParser() parser.build() rddl = parser.parse(file.read()) rddl.build() # initializer RDDL2TensorFlow compiler cls.rddl2tf = Compiler(rddl, batch_mode=True) # initialize open-loop policy cls.policy = OpenLoopPolicy(cls.rddl2tf, cls.batch_size, cls.horizon) cls.policy.build('test') # initialize ActionOptimizer cls.optimizer = ActionOptimizer(cls.rddl2tf, cls.policy) cls.optimizer.build(cls.learning_rate, cls.batch_size, cls.horizon)
def setUpClass(cls): # initialize hyper-parameters cls.horizon = 40 cls.batch_size = 64 # parse RDDL file with open('rddl/deterministic/Navigation.rddl') as file: parser = RDDLParser() parser.build() rddl = parser.parse(file.read()) rddl.build() # initializer RDDL2TensorFlow compiler cls.rddl2tf = Compiler(rddl, batch_mode=True) # initialize open-loop policy cls.policy = OpenLoopPolicy(cls.rddl2tf, cls.batch_size, cls.horizon) cls.policy.build('test') # execute policy for the given horizon and initial state with cls.rddl2tf.graph.as_default(): cls.state = cls.rddl2tf.compile_initial_state(cls.batch_size) cls.actions = [] for t in range(cls.horizon - 1, -1, -1): timestep = tf.constant(t, dtype=tf.float32, shape=(cls.batch_size, 1)) action = cls.policy(cls.state, timestep) cls.actions.append(action)
def setUpClass(cls): # initialize hyper-parameters cls.horizon = 40 cls.batch_size = 1 # parse RDDL file with open('rddl/deterministic/Navigation.rddl') as file: parser = RDDLParser() parser.build() rddl = parser.parse(file.read()) rddl.build() # initializer RDDL2TensorFlow compiler cls.rddl2tf = Compiler(rddl, batch_mode=True) # initialize open-loop policy cls.policy = OpenLoopPolicy(cls.rddl2tf, cls.batch_size, cls.horizon) cls.policy.build('test') # sample policy variables to initialize open-loop policy cls.policy_variables = [] for shape in cls.rddl2tf.rddl.action_size: size = [cls.horizon] + list(shape) cls.policy_variables.append( np.random.uniform(low=-1.0, high=1.0, size=size)) # initialize action evaluator cls.evaluator = ActionEvaluator(cls.rddl2tf, cls.policy)
def parse_model(filename, verbose=False): """Returns RDDL abstract syntax tree (AST).""" rddl = read_model(filename) parser = RDDLParser(verbose=verbose) parser.build() model = parser.parse(rddl) model.build() return model
def parse_rddl(rddl: str, verbose: bool) -> RDDL: """ Parses an RDDL string definition into a python object. :param str rddl: the RDDL definition. :param bool verbose: whether to print parse messages to the screen. :rtype: RDDL :return: the pyrddl python object created by parsing the given RDDL definition. """ # parse RDDL rddl_parser = RDDLParser(verbose=verbose) # rddl_parser.debugging = verbose rddl_parser.build() return rddl_parser.parse(rddl)
def setUpClass(cls): with open('rddl/Reservoir.rddl', mode='r') as file: RESERVOIR = file.read() with open('rddl/Mars_Rover.rddl', mode='r') as file: MARS_ROVER = file.read() parser = RDDLParser() parser.build() cls.rddl1 = parser.parse(RESERVOIR) cls.rddl1.build() cls.rddl2 = parser.parse(MARS_ROVER) cls.rddl2.build() cls.rddls = [cls.rddl1, cls.rddl2]