安装和快速上手¶
安装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
时,您必须声明三个参数,分别是task
、dataset
和model
。例如:
python run_model.py --task traffic_state_pred --model GRU --dataset METR_LA
这个脚本会在默认参数配置下,在METR_LA数据集上运行GRU模型,执行交通状态预测任务。
此外,这个脚本还支持输入下面的这些命令行参数,用于调整流水线的参数设置。
支持的参数有:
task
:要执行的任务名,包括traffic_state_pred
,traj_loc_pred
,eta
,map_matching
,road_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
。