https://github.com/didi/heteta
HetETA: Heterogeneous Information Network Embedding for Estimating Time of Arrival
https://github.com/didi/heteta
estimated-time-of-arrival graph-neural-networks traffic-prediction
Last synced: 4 months ago
JSON representation
HetETA: Heterogeneous Information Network Embedding for Estimating Time of Arrival
- Host: GitHub
- URL: https://github.com/didi/heteta
- Owner: didi
- License: apache-2.0
- Created: 2020-06-17T08:28:11.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-06-29T02:21:03.000Z (over 5 years ago)
- Last Synced: 2024-04-14T13:44:08.272Z (over 1 year ago)
- Topics: estimated-time-of-arrival, graph-neural-networks, traffic-prediction
- Language: Python
- Homepage:
- Size: 25.5 MB
- Stars: 101
- Watchers: 8
- Forks: 43
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
HetETA: Heterogeneous Information Network Embedding for Estimating Time of Arrival
---------------This is basic implementation of our KDD'20 Applied Data Science Track (Oral) paper:
Huiting Hong, Yucheng Lin, Xiaoqing Yang, Zang Li, Kung Fu, Zheng Wang, Xiaohu Qie, Jieping Ye. 2020. HetETA: Heterogeneous Information Network Embedding for Estimating Time of Arrival.
The source code is based on [STGCN](https://github.com/VeritasYin/STGCN_IJCAI-18)
HetETA framework
:-------------------------:
Dependencies
------------
The script has been tested running under Python 2.7.5, with the following packages installed (along with their dependencies):- `argparse==1.1`
- `numpy==1.16.5`
- `scipy==1.2.2`
- `networkx==2.2`
- `tensorflow-gpu==1.13.1`
- `yaml==5.1.2`Overview
--------------
Here we provide the implementation of HetETA and a toy dataset.The folder is organised as follows:
- `dataset/` contains:
- `make_sample.py` randomly generates the `toy_sample` dataset to help readers to figure out the input format;
- `toy_sample/` contains:
* `adj_gap_top5.mat` is the vehicle-trajectories based network;
* `adj.mat` is the multi-relational road network;
* `link_info.npz` is the static attributes of each road segment;
* `dynamic_fes.npz` is the dynamic feature (speed) of each road segment over time periods;
* `eta_label.npz` contains the time it takes for a vehicle to travel through a path starting form period t.
- `codes/` contains:
- `data/`:
* `model/` is used to save the trained model;
* `config_*.yaml` configures the path and paramenter settings.
- `model/` contains the implementation of the HetETA network;
- `utils/` contains some tools for loading dataset;
- `train.py` is used to execute a full training run on the dataset.How to run
---------------```shell
cd codes
python -u train.py --config data/config_HetETA_toy.yaml --model_dir data/model/HetETA_toy --dataset_dir ../dataset/toy_sample >> multi-HetETA_toy.log
```Please note that the `toy_sample` dataset is not a real dataset, which is only used to provide examples of data formats, not to train models.
License
----------
Didi Chuxing, Beijing, China.