def __init__(self,args,netdata,log): self.t = 0 self.args = args self.sumo_cmd = set_sumo(args.gui, args.roadnet, args.max_steps, args.port) self.log = log print(self.sumo_cmd) self.save_path = set_save_path(args.roadnet,args.tsc) self.saver = Saver(self.save_path) self.max_steps = args.max_steps self.green_t = args.green_duration self.yellow_t = args.yellow_duration self.red_t = args.red_duration self.mode = args.mode self.scale = args.scale self.port = args.port self.netdata = netdata self.tl_ids = self.netdata['inter'].keys() self.sumo_process = subprocess.Popen(self.sumo_cmd) self.conn = traci.connect(self.port) self.netdata = self.update_netdata() self.vehiclegen = VehicleGen(self.netdata,self.conn,self.mode,self.scale,self.max_steps) self.Controllers = {str(id):None for id in self.tl_ids} self.create_controllers(self.args.tsc) if self.args.tsc == 'dqn' and self.args.tsc == 'test': self.load_model() self.v_start_times = {} self.v_travel_times = {} self.episode_performance = [] self.set_item_path()
""" from simulation import Simulation, TestSimulation from generator import TrafficGenerator from model import Model, TestModel from memory import Memory from visualization import Visualization from utils import import_train_configuration, set_sumo, set_test_path import matplotlib import matplotlib.pyplot as plt import numpy as np import os #%% if __name__ == "__main__": config = import_train_configuration(config_file="training_settings.ini") sumo_cmd = set_sumo(False, config['sumocfg_file_name'], config['max_steps']) TrafficGen = TrafficGenerator(config['max_steps'], config['n_cars_generated']) model = Model(config['num_layers'], config['width_layers'], config['num_states'], config['num_actions'], config['batch_size'], config['learning_rate']) memory = Memory(config['memory_size_max']) viz = Visualization(config['models_path_name'], dpi=96) sim = Simulation(TrafficGen, model, memory, config['gamma'], config['training_epochs'], sumo_cmd, config['max_steps'], config['green_duration'], config['yellow_duration'],
from __future__ import absolute_import from __future__ import print_function import os from shutil import copyfile from testing_simulation import Simulation from generator import TrafficGenerator from model import TestModel from visualization import Visualization from utils import import_test_configuration, set_sumo, set_test_path if __name__ == "__main__": config = import_test_configuration(config_file='testing_settings.ini') sumo_cmd = set_sumo(config['gui'], config['sumocfg_file_name'], config['max_steps']) model_path, plot_path = set_test_path(config['models_path_name'], config['model_to_test']) Model = TestModel(input_dim=config['num_states'], model_path=model_path) TrafficGen = TrafficGenerator(config['max_steps'], config['n_v_generated']) Visualization = Visualization(plot_path, dpi=96) Simulation = Simulation(Model, TrafficGen, sumo_cmd, sumo_cmd, config['max_steps'], config['green_duration'], config['yellow_duration'], config['num_states'], config['num_actions']) print('\n----- Test episode')
def waiting_times(self): return self._get_waiting_times() @property def fuel_episode(self): return self._fuel_episode @property def reward_episode(self): return self._reward_episode if __name__ == "__main__": config = import_test_configuration( config_file='settings/testing_settings.ini') sumo_cmd = set_sumo(config['gui'], config['simulation_folder'], config['sumocfg_file_name'], config['max_steps']) model_path, plot_path = set_test_path(config['models_path_name'], config['model_to_test']) Model = TestModel(input_dim=config['num_states'], model_path=model_path) Traffic_Generator = Traffic_Generator(config["flow_file"], config["route_file"], config["n_cars_generated"], config["simulation_time"]) Visualization = Visualization(plot_path, dpi=96) Map = Map(config['map']) Test = Test(Model, Map, Traffic_Generator, sumo_cmd, config['max_steps'],