Model = TrainModel(config['num_layers'], config['width_layers'], config['batch_size'], config['learning_rate'], input_dim=config['num_states'], output_dim=config['num_actions']) Memory = Memory(config['memory_size_max'], config['memory_size_min']) TrafficGen = TrafficGenerator(config['max_steps'], config['n_v_generated']) Visualization = Visualization(path, dpi=96) Simulation = Simulation(Model, Memory, TrafficGen, sumo_cmd, config['gamma'], config['max_steps'], config['green_duration'], config['yellow_duration'], config['num_states'], config['num_actions'], config['training_epochs']) episode = 0 timestamp_start = datetime.datetime.now() gui_episodes = config['gui_episodes'] while episode < config['total_episodes']: print('\n----- Episode', str(episode + 1), 'of', str(config['total_episodes'])) epsilon = 1.0 - ( episode / config['total_episodes'] ) # set the epsilon for this episode according to epsilon-greedy policy simulation_time, training_time = Simulation.run( episode, epsilon, episode in gui_episodes) # run the simulation
#EW traffic generator TrafficGen_3 = TrafficGenerator(config['max_steps'], config['n_cars_generated_ew'], 'EW') #NS traffic generator TrafficGen_4 = TrafficGenerator(config['max_steps'], config['n_cars_generated_ns'], 'NS') #Same visualization Visualization = Visualization(path, dpi=96) #Simulation with High traffic Sim = Simulation(TrafficGen, sumo_cmd, config['gamma'], config['max_steps'], config['green_duration'], config['yellow_duration'], config['num_cells'], config['num_states'], config['num_actions'], config['training_epochs']) #Simulation with Low traffic Simulation_2 = Simulation(TrafficGen_2, sumo_cmd, config['gamma'], config['max_steps'], config['green_duration'], config['yellow_duration'], config['num_cells'], config['num_states'], config['num_actions'], config['training_epochs']) #Simulation with EW traffic Simulation_3 = Simulation(TrafficGen_3, sumo_cmd, config['gamma'], config['max_steps'], config['green_duration'], config['yellow_duration'], config['num_cells'], config['num_states'], config['num_actions'],