安装和快速上手

安装LibCity

从源代码安装

LibCity目前可以从源代码安装。

请执行下列命令来获得源代码。

git clone https://github.com/LibCity/Bigscity-LibCity.git
cd Bigscity-LibCity

配置依赖

在获得了源代码后,我们可以配置环境。

我们的代码是基于Python 3.7版本和PyTorch 1.7.1版本。您可以点击这里来了解如何安装PyTorch。例如,您的CUDA版本是10.2,您可以使用下列指令安装PyTorch。

Pip:

pip install torch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2

Conda:

conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.2 -c pytorch

在安装PyTorch后,我们可以通过pip使用下列命令安装LibCity的所有依赖。

pip install -r requirements.txt

现在,我们就可以使用LibCity了,更多的细节可以看Quick Start一节。

快速上手

下载一个数据集

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