def run_instance(param): # runs sim with given parameters for different controllers and different trials and writes to results directory # init environment if param.env_name in 'gridworld': env = GridWorld(param) elif param.env_name in 'citymap': env = CityMap(param) else: exit('env_name not recognized: ', param.env_name) # run sim for i_trial in range(param.n_trials): # init datasets if param.make_dataset_on: print(' making dataset...') train_dataset, test_dataset = datahandler.make_dataset(env) datahandler.write_dataset(env, train_dataset, test_dataset) print(' loading dataset...') datahandler.load_dataset(env) # initial condition s0 = env.get_s0() for controller_name in param.controller_names: controller = Controller(param,env,controller_name) # sim sim_result = sim(param,env,controller,s0) # write results case_count = len(glob.glob('../current_results/*')) + 1 results_dir = '../current_results/sim_result_{}'.format(case_count) datahandler.write_sim_result(sim_result, results_dir) return