kddcup2021-citybrainchallenge-starter-kit's People
Forkers
caoyumin97 dedemii chenwuperth robinjobs jiaodaxiaozi wh-forker shliujing yinyingxiongbao xrosliang nntraveler shikovegor wangyu-ustc ericdoug-qi marshin j-hae1 y-claw breezexjc derekwtian zhelixiong megemini yixiaoke khangtran2503 hyyh28 simontwice howieeeeeeee totdream warmlightgs nicole-mm dawnywu cola1998 prakashgawas yuanzhi0515 wkkdhj wcwac zcchenvy unitian jxldm mingtang2018 zweivessaliuzkddcup2021-citybrainchallenge-starter-kit's Issues
How to judge whether a car is in the road network?
In info_step xxx.log file, if a car drived out of the roadnet, "step" will describe the moment it left. Without "step", we don't know the precise time the car left. In fact, agent.py indeed don't know the time. CBEngine passed in obs['info'] to agent.py but without "step"?
A car leaved the roadnet for a very long time, its obs['info']:
{'distance': [537.2222222222224], 'drivable': [374202.0], 'road': [3742.0], 'route': [3742.0], 'speed': [13.88888888888889], 'start_time': [0.0], 't_ff': [1638.1470000000002]}
By the information above, How to judge whether the car is in the road network?
interpretation of vehicle info
It happens frequently that multiple vehicles occupy the same network position: distance 0 with the same 'drivable'. What is the meaning of this?
question about the invalid phase and the empty road warning.
result = self.eng.set_ttl_phase(agent_id,phase) if(result == -1 and self.warning_enable): print('Warnning: at step {} , agent {} switch to phase {} . Maybe empty road'.format(self.now_step,agent_id,phase))
My question what situation will the cause result
to be -1?
Bacause each action/phase has two choices,such as the action 1 below, for the cars in the lane 1 or 7, they all can move.
Is the lane 16-18 don't exist or the lane 22-24 don't exist will the 'result=-1'?(at lease one of them)
Or only both the lane 16-18 and the lane 22-24 don't exist will the 'result=-1'?(both?)
Hope you can understand what I mean, thanks.
Please Publish New Tutorial Soon
We are waiting for the new tutorial for the final phase. Could you please publish the new version soon? When will it be published?
`_get_reward()` method in `CBEngine.py` may be wrong
Since the shortest lane length
is 30.0, and the minimum travel time calculated by length/speed_limit
is 1.62s, it is possible that between 10 seconds a vehicle drives through a short lane. However, _get_reward()
method only check the difference between two snapshots. It may be very inaccurate in the earlier stages.
429 rate limit error on pulling from DockerHub
Pulling the docker container from Docker Hub throws 429 Rate Limit error.
$ enroot import docker://citybrainchallenge/cbengine:0.1.1
[INFO] Querying registry for permission grant
[INFO] Authenticating with user: <anonymous>
[INFO] Authentication succeeded
[INFO] Fetching image manifest list
[INFO] Fetching image manifest
[ERROR] URL https://registry-1.docker.io/v2/citybrainchallenge/cbengine/manifests/0.1.1 returned error code: 429
Any way to resolve this?
how to make simulator more efficient expect for adding the number of threads
FYI
How much RAM the demo.py script needs to run?
I am trying to run the demo.py on MacOS Silicon system with the provided docker image, but it is always killed due to the memory limitation. Through the docker monitor I find it requires more than 12GB to run within 161 steps, is this memory usage normal?
I tried to change the parameter "max_time_epoch" to 120 in the cfg file then it can work, but only 4 vehicles are served.
submission failed but no error messgae return
can anyone help me? i follow the code format in start-kit to submit,and last time i succed, now i dont't change anything except the model will be load, it failed but Traceback (most recent call last): error message is None. I don't know how to do.Anyone others know the possible reasons.Thanks a lot.
question about action_interval
Dear author,
I notice that in the demo DQN example, there is a hyperparameter action_interval
, its default value is 2. If that, it will break up the assumption of Markov Decision Process (MDP), i.e., the next state
for each action is not the exact next state
.
Also, what's the suggested action_interval
will be good enough for the specific problem?
question about the observation
Dear author,
I notice that the observation contains two types of features: lane_speed and lane_vehicle_num for each agent. Each feature has 24 numerical values. The demo code of DQN extracts state using the following code:
def extract_state(obs_n, ob_length):
state = {}
for key, val in obs_n.items():
agent_id = int(key.split('_')[0]) # e.g., key=0_lane_speed
feature = key.split('_')[1] # todo
if agent_id not in state.keys():
state[agent_id] = {}
val = val[1:]
while len(val) < ob_length:
val.append(0)
state[agent_id][feature] = val
return state
I think there is a bug here. Specifically, only one type of features is used.
It seems the environment cannot make parallel running
I have tried different thread_num value, but it seems the environment runs as slow as only one thread running. And from the CBEngine, I cannot find how it works parallelly.
any interface to close the useless log
Dear authors, so many useless log are printed, such as
start_time_epoch = 0
max_time_epoch = 3600
report_log_rate = 10
warning_stop_time_log = 100
Is there any interface to close above useless log?
Questions about the road network
-
It is noted that only parts of the intersections can be controlled by the submitted agent.py. Hence, we would like to ask that, for the agents (intersections) that cannot be controlled, are they signalized or not? If signalized, what are their signal plans (fixed time?) If not signalized, what is the car-following strategy in the intersection?
-
At the second stage of the competition (after 5/1/2021), the agent will be evaluated in a city-scale network. Our question is that can we access the city-scale network and train the agent on that? Or we can just train the agent in a regional traffic.
Thank you very much.
Can you add ray lib to docker image?
Hello, Can you add ray lib https://docs.ray.io/en/master/index.html to your docker image?
How to random the env?
I found that with the same config roadnet and flow file, if I set each obs the same action, and run env.step(action), the results of the env are the same. Even if I use the code blow with the different seed:
seed = 2021 random.seed(seed) np.random.seed(seed) env.seed(sedd)
- So is there any method to random the env ?
Cannot run qualification example any longer
python3 evaluate.py --input_dir agent --output_dir out --sim_cfg cfg/simulator_round2.cfg
gives
Traceback (most recent call last):
File "evaluate.py", line 521, in <module>
flow_index = re.findall('[0-9]+',simulator_configs['vehicle_file_addr'])[1]
IndexError: list index out of range
because the flow file does not have a second integer in the name.
A possible fix is to replace the line by
flow_index = (re.findall('[0-9]+',simulator_configs['vehicle_file_addr']) + ["-1", "-1"])[1]
simulation step
In the following lines proposed in the demo:
`
for _ in range(args.action_interval):
# print(i)
i += 1
# Interacts with the environment and get the reward.
observations, rewards, dones, infos = env.step(actions_)`
According to the tutorial, the simulation proceeds 10 sec for each step. Then the loop with respect to the action interval (default is 40) here may indicate the action only will be changed every 10*40 sec. Is it right?
About dataset of local and evaluation
Hey, in docs, it says that ' We use exactly the same road network and traffic data for scoring your submissions'.
However, I found that it differences a lot when I run my algorithms in local use evaluate.py with service submissions result. I wonder it is my code bug or the datasets is different?
Thanks : )
The rules for the release of vehicles at intersections without traffic lights
Hi~I wonder how the vehicles move at intersections without traffic lights?
Inconsistent behavior between the document and the code
In the document, it says whenever an agent switches its phase there will be a 5 seconds 'all red' phase to prevent any traffic. Thus, I assume if we switch the phase with a period of less than 5, there will be no vehicles passing at all. However, if we change the green_sec
in the starter agent from 5 to 2, the delay_index
decreases, meaning there are still vehicles passing through. Did I miss something?
get_average_travel_time() does not return zero after reset the environment
i notice that env.eng.get_average_travel_time() only return 0 at episode 0 but from episode 1 and so on it return a value
digging into the CBEngine and looking at how the reset function works, shouldn't it return zero at each new episode ?
thanks
AttributeError: 'TsetAgent' object has no attribute 'act_'
there is not exist a function 'act_' in agent_DQN
Q: what the dones returned by env.step() means?
Hi, sir, I am confussed with some parameters.
Is that menas every intersections stop at different time?
Dose the env has a fixed running time for example stop at 3600 steps?
Dose max_time_epoch =3600, the env stop with 3600 steps?
how to access roadnet info in agent?
it seems that the "path" args associated with the roadnet file, only passed to the evaluate.py file, and the agent cannot acquire the "path" of roadnet.txt.
obviously, the roadnet info is so essential, just like the 8 phases of the intersection. i can not solve the problem without these information.
if you do not agree, convince me; if you agree, tell me how
Policy gradient method
DQN was provided as an example. Why was the policy gradient method not provided? Does it work on these problems?
Question About the Training Process in DQN example.
I am curious about the meaning of "done". Does it indicates that no flow will pass the intersection any more or the delay of the intersection beyonds the thershold(=1.6)?
I am also curious about the Bellman update equation. As Bellman update equation mentioned, the information about the end of a environment, or dones in gym module, is required for updating Q-network. However, it seems lacked in the shared code.
Could you offer some advice about this problem?
`delay_index` calculated by `evaluate.py` only consider the vehicles on the road net
process_delay_index
method only consider the output of environment, while the environment deletes all vehicles finished journey in the output.
It may be a critical issue, since the evaluation may be exploit by the following method: stuck all the vehicles with small delay index when it's going to evaluate delay, in order to decrease the mean of all vehicle in the road net.
unexpected keyword argument 'metric_period'
An error called unexpected keyword argument 'metric_period'
occurred while running the evaluate.py
INFO:evaluate.py:root_path=[agent, log, evaluate.py, run.sh, ui, train_dqn_example.py, demo.py, readme.md, data, .gitignore, cfg, out, eval.sh]
INFO:evaluate.py:input_dir=[agent_DQN.py, dqn_agent_99.h5, agent.py, __pycache__, gym_cfg.py]
INFO:evaluate.py:output_dir=[scores.json, .gitignore]
INFO:evaluate.py:submission_dir=[agent_DQN.py, dqn_agent_99.h5, agent.py, __pycache__, gym_cfg.py]
INFO:evaluate.py:scores_dir=[scores.json, .gitignore]
INFO:evaluate.py:files under submission dir:[agent_DQN.py, dqn_agent_99.h5, agent.py, __pycache__, gym_cfg.py]
INFO:evaluate.py:Loaded user agent instance={'test': <agent.TestAgent object at 0x7fe0dedd9790>}
INFO:evaluate.py:
INFO:evaluate.py:****************************************
Traceback (most recent call last):
File "evaluate.py", line 502, in <module>
scores = run_simulation(agent_spec, simulator_cfg_file, gym_cfg,metric_period,scores_dir,threshold)
File "evaluate.py", line 291, in run_simulation
metric_period = metric_period
File "/usr/local/lib/python3.7/dist-packages/gym/envs/registration.py", line 145, in make
return registry.make(id, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/gym/envs/registration.py", line 90, in make
env = spec.make(**kwargs)
File "/usr/local/lib/python3.7/dist-packages/gym/envs/registration.py", line 60, in make
env = cls(**_kwargs)
TypeError: __init__() got an unexpected keyword argument 'metric_period'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "evaluate.py", line 507, in <module>
raise AssertionError()
AssertionError
When I modified the code as follow, the evaluate.py can run correctly
def run_simulation(agent_spec, simulator_cfg_file, gym_cfg,metric_period,scores_dir,threshold):
logger.info("\n")
logger.info("*" * 40)
# get gym instance
gym_configs = gym_cfg.cfg
simulator_configs = read_config(simulator_cfg_file)
env = gym.make(
'CBEngine-v0',
simulator_cfg_file=simulator_cfg_file,
thread_num=1,
gym_dict = gym_configs,
# metric_period = metric_period
)
Question about the passable lanes of phases
Hello, from your doc: "For example, if an agent is at phase 1, lane_1 and lane_7 along with all right turning lanes are passable", does it mean that the right turning lanes are passable at every phase from 1 to 8?
Vehicles collision detected in `info` provided by `observations`
We assumed that, like CityFlow, vehicles have positive lengths. However, the following assertion failed when we ran the simulation:
for vid1, vinfo1 in info.items():
lane_id1 = int(vinfo1["drivable"][0])
dis1 = vinfo1['distance'][0]
for vid2, vinfo2 in info.items():
if vid1 == vid2:
continue
lane_id2 = int(vinfo2["drivable"][0])
dis2 = vinfo2['distance'][0]
if lane_id1 == lane_id2 and abs(dis1 - dis2) < 0.1:
print(vinfo1)
print(vinfo2)
assert False
and the output is
{'distance': [13.88888888888889], 'drivable': [252401.0], 'road': [2524.0], 'route': [2524.0, 4819.0, 4798.0, 4899.0, 5665.0, 3395.0, 3385.0, 1783.0, 1413.0, 1281.0, 1265.0, 1264.0, 606.0, 3515.0, 1213.0, 1216.0, 4910.0], 'speed': [13.88888888888889], 'start_time': [130.0], 't_ff': [456.08699999999993]}
{'distance': [13.88888888888889], 'drivable': [252401.0], 'road': [2524.0], 'route': [2524.0, 4819.0, 4798.0, 4898.0, 5668.0, 5022.0, 3398.0, 1783.0, 1413.0, 1281.0, 1265.0, 1264.0, 604.0, 956.0, 582.0, 882.0, 630.0, 228.0, 444.0, 2536.0, 2109.0, 3773.0, 3882.0, 3745.0], 'speed': [13.88888888888889], 'start_time': [160.0], 't_ff': [727.8990000000001]}
Traceback (most recent call last):
File "evaluate.py", line 506, in <module>
scores = run_simulation(agent_spec, simulator_cfg_file, gym_cfg,metric_period,scores_dir,threshold)
File "evaluate.py", line 332, in run_simulation
actions = agent.act(all_info)
File "agent/agent.py", line 241, in act
get_vehicles_per_lane()
File "agent/agent.py", line 133, in get_vehicles_per_lane
assert False
AssertionError
in which we can find two different vehicles shares the same position.
Is it a bug, or intended to be so? In the latter case, how can we understand it? We can't find any clues in docs.
Thank you in advance!
Again: delay index can’t be reproduced!!!
We found that results of the delay index are different when we use the same agent.py and evaluate.py.
We strongly suggest that "env.seed(SEED)" should be added to the evaluate.py to make the result stable.
Running Error
When running python3 demo.py
, it gives me error:
Traceback (most recent call last):
File "demo.py", line 13, in <module>
gym_dict=gym_cfg_instance.cfg
File "/usr/local/lib/python3.7/dist-packages/gym/envs/registration.py", line 145, in make
return registry.make(id, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/gym/envs/registration.py", line 90, in make
env = spec.make(**kwargs)
File "/usr/local/lib/python3.7/dist-packages/gym/envs/registration.py", line 60, in make
env = cls(**_kwargs)
File "/usr/local/lib/python3.7/dist-packages/CBEngine/envs/CBEngine.py", line 18, in __init__
self.eng = citypb.Engine(self.simulator_cfg_file,thread_num)
IndexError: basic_string::at: __n (which is 18446744073709551615) >= this->size() (which is 2)
how intersections connected
Hey,guys. I noticed there's a vehicle with the following route:
route [3182.0, 2770.0, 3115.0, 279.0, 278.0, 148.0, 366.0, 62.0, 54.0, 14.0, 587.0, 339.0, 991.0, 5001.0, 5275.0, 4919.0]
the related intersection data is listed below:
22376825101 3179 3182 2866 2863
12376825111 2772 2770 3181 -1
21688832114 3616 3115 2768 2769
and the related road information is:
21688832114 12376825111 402.0 16.666666666666668 3 3 2769 2770
1 0 0 0 1 0 0 0 1
1 0 0 0 1 0 0 0 1
12376825111 22376825101 355.0 16.666666666666668 3 3 3181 3182
1 0 0 0 1 0 0 0 1
1 0 0 0 1 0 0 0 1
According to the intersection configuration, 3182 is the eastern out going road of intersection 22376825101, but 3181 is southern out going road of intersection 12376825111.According to the road configuration, 3182 and 3181 are pairs.
This means the eastern leg of the one intersection is the southern leg of another intersection, how could that happen?
The Question about Speed Limit of Road
I find that the speed of veh could be larger than the speed limit of the road.
The console output:
veh:
{'distance': [14.666666666666668], 'drivable': [248000.0], 'road': [2480.0], 'route': [2480.0, 5388.0, 2249.0, 3059.0, 3597.0, 3562.0, 3131.0, 2537.0, 2701.0, 1301.0, 1415.0, 405.0, 735.0, 734.0, 216.0, 1290.0, 150.0, 1270.0, 2840.0], 'speed': [16.666666666666668], 'start_time': [1284.0], 't_ff': [526.956]}
road:
{'start_inter': 28326565261, 'end_inter': 48326565264, 'length': 352.0, 'speed_limit': 11.11111111111111, 'num_lanes': 3, 'inverse_road': 2479, 'lanes': {248000: [1, 0, 0], 248001: [0, 1, 0], 248002: [0, 0, 1]}}
We can find the speed of this veh in road 2480 is 16.67 while the speed limit of the road is 11.111.
Is it a Bug?
minimum requirements
What are the minimum requirements to be able to run with a linux machine during the whole contest?
Thank you in advance
Some questions about the final stage
Some questions about the final stage:
- The contest homepage claimed "large-scale cloud computing platform is provided" in the final stage. Will CBEngine be accelerated in the final stage? It spends about 10 minutes to run a whole episode on our own platform, and triple the time on the official platform. It is extremely important to know the speed of the final benchmark platform as it determines the complexity of algorithm we choose.
- We know that the online evaluation flow data is unknown in the final stage, but will the vehicle flow be deterministic or random? i.e. will two submissions of the same agent have exactly the same outcome, or will they only have statistically close outcomes?
- Will the data structure and definition of
actions, observations, rewards, infos, dones
change in the final stage? - Will the vehicles in next round have different type, like different speed limit/move strategies?
- According to the tutorial(API functions - Simulation Initialization), there is a
thread_num
parameter in the initialization of the engine. We've tested with this parameter, and either using the engine in the docker or outside the docker(see Enoch2090/city_brain_kit), this parameter just doesn't work. We are running the engine on AMD R7-5800X, so there's enough core to support multi-threading.htop
command further shows that the engine can't fully occupy more than 1 core at the same time, pls fix this. - If possible, please give a detailed list of what libraries you will provide in the next version of docker image,
pip freeze > requirements.txt
would be fine.
Some mistakes when loading my own flow txt data(ndexError: vector::_M_range_check: __n (which is 0) >= this->size() (which is 0))
When I set the flow_1x1.txt
only with the four lines data like what the image shows below:
Then the except from the CBEngine.py happend:
/CBEngine/envs/CBEngine.py", line 168, in step self.eng.next_step() IndexError: vector::_M_range_check: __n (which is 0) >= this->size() (which is 0)
The image road of the map is below:
The 1 2 1
just means the routes of the vehicle is from road 1 -->road 2 --> road 1
And when I set the flow_1x1.tx
only with the text image below:
It can run without all mistake, just add the 2 to 1 2 1 2
that means the routes of the vehicle is from road 1 -->road 2 --> road 1-->road2
What causes this except above?
And there is any suggestions or rules that I should obey when I want to generate my own flow data?
Bacause the mistake
/CBEngine/envs/CBEngine.py", line 168, in step self.eng.next_step() IndexError: vector::_M_range_check: __n (which is 0) >= this->size() (which is 0)
also happen when I load my own generating flow_round2.txt data.
yarn start can't demostrate the visualizaton
Road direction at intersection?
1.
From documentation: https://kddcup2021-citybrainchallenge.readthedocs.io/en/latest/cbengine.html#road-network-data
We can see that the following road net info translates into intersection 42167350405
having a western approach 105
.
42167350405 56 97 45 105
It means that for intersection 42167350405
, road segment 105
is the Road_8
or inroad3
, and 105
's lanes are lane10
,lane11
,lane12
or inroad3lane0
,inroad3lane1
,inroad3lane2
, with direction inbound
to the intersection.
However, the simulation engine gives different definition:
For vehicle at road 105
's lane 1,
{vehicle_id}, {road}, {lane}, {distance}, {speed}, {start_time}, {t_ff}
0, 105, 1, 12.0, 6.0, 26.0, 77.976
the simulator gives lane_vehicle_number as
{intersection_id}, {lane_vehicle_number}
22372852612 Environment vehicle number: [0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
42167350405 Environment vehicle number: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
which means that the vehicle is on intersection 42167350405
's lane23
or outroad3lane1
, with direction outbound
from the intersection, per documentation at https://kddcup2021-citybrainchallenge.readthedocs.io/en/latest/APIs.html#simulation-step.
The directions from simulation seem to be the exact opposite of the ones in documentation.
2.
In https://kddcup2021-citybrainchallenge.readthedocs.io/en/latest/cbengine.html#road-network-data , there are two directions, dir1 and dir2. Could the documentation clarify which direction (dir1 or dir2) indicates the direction from source intersection to destination intersection?
Why do we need '--metric period =200' for evaluation?
Hi can you guys explain the setting of --metric_period 200 for evaluation? Does it mean we don't care the delay or throughput of the network after 2000s? Why not using --metric_period 359 for the whole period?
how to install the system using conda rather than only docker
I have a question about the installation. I am wondering that could we install the system using conda rather than only the docker? I am trying to install it through conda, but I found that I missed the CBEngine simulator.
unclear road network description
Hello,
I'm trying to interpret the road network file and came across several issues:
-
As far as I can tell from https://kddcup2021-citybrainchallenge.readthedocs.io/en/latest/cbengine.html#road-network-data, the 'Road Dataset', specifies only the destination edge for every origin lane. How can the destination lane be identified?
-
The docs give the example road
28571560 4353988632 93.2000000000 20 3 3 1 2
and describe this as
Attribute Name | Example | Description |
---|---|---|
from_inter_id | 28571560 | upstream intersection ID w.r.t. dir1 |
to_inter_id | 4353988632 | downstream intersection ID w.r.t. dir2 |
From the examples it looks like they should read instead:
Attribute Name | Example | Description |
---|---|---|
from_inter_id | 28571560 | upstream intersection ID w.r.t. dir1 |
to_inter_id | 4353988632 | downstream intersection ID w.r.t. dir1 |
from_inter_id | 28571560 | downstream intersection ID w.r.t. dir2 |
to_inter_id | 4353988632 | upstream intersection ID w.r.t. dir2 |
Is that understanding correct?
- The documentation says
In general, there are two directions on each road segment (i.e., dir1 and dir2)
How are unidirectional roads represented int the network format (i.e. a motorway on-ramp that only goes in one direction)?
- In the example network
KDDCup2021-CityBrainChallenge-starter-kit/data/roadnet_warm_up.txt
Lines 39 to 41 in d14e2f4
We find that we find that road '1' has a right-turn connection from the rightmost lane. However, the network topology doesn't show a right target edge. Is that an error in the network data or is the problem with my understanding of it?
Likewise a straight connection is specified for road 3 without an corresponding target edge
KDDCup2021-CityBrainChallenge-starter-kit/data/roadnet_warm_up.txt
Lines 42 to 44 in d14e2f4
Sorry for the wall of text (-:
Thanks for your input.
Resource temporarily unavailable during training phase
Out team tried to train about 8 models in parallel. The command is:
python3 train.py --episodes 600 --metric_period 200 --steps 360 --thread 60
After about 30 episodes, an error occured in part of these processes:
----------------------------------------------------35/600
start_time_epoch = 0
max_time_epoch = 3600
report_log_rate = 10
warning_stop_time_log = 100
Traceback (most recent call last):
File "train.py", line 968, in <module>
scores_dir,
File "train.py", line 512, in train
observations, rewards, dones, infos = env.step(actions_)
File "/usr/local/lib/python3.7/dist-packages/CBEngine/envs/CBEngine.py", line 168, in step
self.eng.next_step()
RuntimeError: Resource temporarily unavailable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "train.py", line 981, in <module>
result["success"] = True
AssertionError
Before that, using --thread 360 produced the error. After switching to --thread 60, it still happens. Thanks a lot.
Are left-turn traffic permitted when the through direction has green?
Hi I'm wondering if the left-turn traffic permitted when the through direction has green? In other words, when we set traffic light to phase 1 (through for North-South), can those left-turn vehicles find gaps and pass the intersection?
Thanks.
Questions about the last segment of route
does it depends on any traffic lights signal for the last segment of each route of the vehicle?
does it matters wether the last end_intersection's traffic light for the corresponding lane is red or green?
how to judge the complishment for one single route? just need to get to the intersection or pass the intersection?
Confusing warnings about switching phase
Hi, I am a little confused about the warnings.
In the image, the system keeps telling me the agent 42381408549 is switching to phase 3, but the switching should not happen since it was already in phase 3. I wonder if it will lead to the 'all red' period in the simulation or it is just a bug of display?
If you need any package, please comment here.
If you need any package, please comment here.
ValueError: Node id is not unique
when i change the ./cfg/simulator.cfg to
#road_file_addr : ./data/roadnet_round2.txt
#vehicle_file_addr : ./data/flow_round2.txt
road_file_addr : ./data/flow_1x1.txt
vehicle_file_addr : ./data/roadnet_1x1.txt
and run evaluate, gym.make will get ValueError: Node id is not unique
if i use round2.txt, everything is ok. i don't change the 1x1.txt, what should I do? Thanks
evaluate agent get killed
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.