Home

Awesome

Graph-structured neural networks for road network data

This repository contains research code for neural networks for graph-structured data.

This code is still being actively developed and will be updated. The most up-to-date version can always be found at https://github.com/mawright/trafficgraphnn.

The most useful items for general graph data problems are the Keras layers (see below).

Requirements

The traffic simulator SUMO (http://sumo.dlr.de/) is required. For installation info, see http://sumo.dlr.de/wiki/Installing.

SUMO comes with a large number of Python scripts in its "tools" directory. This code depends on many of them. After installing SUMO, set the environmental variable SUMO_HOME to your SUMO installation directory (e.g., usr/local/sumo/) so that the Python interpreter can find them.

Learning on SUMO networks

The library provides functions to generate road networks and random traffic simulations for learning. The script demo_gen_data.py shows an example of how to generate the SUMO road network, generate simulation configurations, and run the simulations to generate data.

The file demo_train_script.py shows a very rough example of building a Keras model for the road network and learning on road network data.

Keras layers

Of potential interest are the Keras layers we have developed. They are located in the module trafficgraphnn.layers. Some completed and tested layers are:

More layers are still in development.