快速入门

下载一个数据集

LibCity中使用的数据集以一种名为原子文件的统一数据存储格式存储。

为了直接在LibCity中使用原始数据集,我们已经将所有这些数据集转换成了原子文件的格式,并提供了转换工具

您可以直接下载我们处理好的数据集。数据集链接是百度网盘(提取码:1231)或Google Drive

在运行LibCity的模型前,请确保您至少下载了一个数据集,并把它放在了Bigscity-LibCity/raw_data/dataset_name/*目录下。

例如,如果您下载了METR_LA数据集,目录结构如下所示:

  • Bigscity-LibCity/raw_data/METR_LA/METR_LA.geo

  • Bigscity-LibCity/raw_data/METR_LA/METR_LA.rel

  • Bigscity-LibCity/raw_data/METR_LA/METR_LA.dyna

  • Bigscity-LibCity/raw_data/METR_LA/config.json

运行模型流水线

用于训练和评测一个模型的脚本run_model.py位于项目根目录中,它提供了一系列命令行参数,使用户可以调整运行参数配置。

当运行run_model.py时,您必须声明以下三个参数,分别是taskdatasetmodel。例如:

python run_model.py --task traffic_state_pred --model GRU --dataset METR_LA

这个脚本会在默认参数配置下,在METR_LA数据集上运行GRU模型,执行交通状态预测任务。

目前我们已经在 文档 发布了数据集、模型和任务之间的对应关系表格供用户参考。

此外,这个脚本还支持输入下面的这些命令行参数,用于调整流水线的参数设置。

支持的参数有:

  • task:要执行的任务名,包括traffic_state_predtraj_loc_predetamap_matchingroad_representation。默认为traffic_state_pred

  • model:要执行的模型名。默认为GRU。(支持的模型

  • dataset:要执行的数据集。默认为METR_LA。(支持的数据集

  • config_file:用户自定义的配置文件名。默认为None。(了解更多

  • saved_model:是否保存训练好的模型。默认为True

  • train:如果模型已经预训练过了,是否要重新训练模型。默认为True

  • batch_size:训练集和验证集的批次大小。

  • train_rate:训练集在整个数据集中所占的比例。(划分的顺序是训练集、验证集、测试集)。

  • eval_rate:验证集在整个数据集中所占的比例。

  • learning_rate:学习率。默认值因模型而异。

  • max_epoch:最大的训练轮数。默认值因模型而异。

  • gpu:是否使用GPU。默认为True

  • gpu_id:使用的GPU的ID。默认为0

TensorBoard Visualization

在模型训练过程中,LibCity 会记录每个 epoch 的损失,并支持 tensorboard 可视化。

模型运行一次后,可以使用以下命令进行可视化:

tensorboard --logdir 'libcity/cache'
TensorFlow installation not found - running with reduced feature set.
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.4.1 at http://localhost:6006/ (Press CTRL+C to quit)

在浏览器中访问这个地址(http://localhost:6006/)可以看到可视化的结果。

../_images/tensorboard.png