Example #1
0
def run_configuration(argv):
    params = ParameterServer()
    params["ML"]["BaseAgent"][
        "SummaryPath"] = "/home/mansoor/Study/Werkstudent/fortiss/code/bark-ml/summaries"
    params["ML"]["BaseAgent"][
        "CheckpointPath"] = "/home/mansoor/Study/Werkstudent/fortiss/code/bark-ml/checkpoints"

    env = gym.make(FLAGS.env, params=params)
    agent = FQFAgent(env=env, test_env=env, params=params)

    if FLAGS.load and params["ML"]["BaseAgent"]["CheckpointPath"]:
        agent.load_models(
            os.path.join(params["ML"]["BaseAgent"]["CheckpointPath"], "best"))

    if FLAGS.mode == "train":
        agent.train()

    elif FLAGS.mode == "visualize":
        agent.visualize()

    elif FLAGS.mode == "evaluate":
        # writes evaluaion data using summary writer in summary path
        agent.evaluate()

    else:
        raise Exception("Invalid argument for --mode")
Example #2
0
    def test_agents(self):
        params = ParameterServer()
        params["ML"]["BaseAgent"]["NumSteps"] = 2
        params["ML"]["BaseAgent"]["MaxEpisodeSteps"] = 2

        bp = DiscreteHighwayBlueprint(params,
                                      number_of_senarios=10,
                                      random_seed=0)
        env = SingleAgentRuntime(blueprint=bp, render=False)

        # IQN Agent
        # iqn_agent = IQNAgent(env=env, test_env=env, params=params)
        # env.ml_behavior = iqn_agent
        # self.assertEqual(env.ml_behavior.set_action_externally, False)
        # iqn_agent.run()
        # self.assertEqual(env.ml_behavior.set_action_externally, True)

        # FQF Agent
        fqf_agent = FQFAgent(env=env, params=params)
        env.ml_behavior = fqf_agent
        self.assertEqual(env.ml_behavior.set_action_externally, False)
        fqf_agent.train()
        self.assertEqual(env.ml_behavior.set_action_externally, True)