Skip to content

Latest commit

 

History

History
192 lines (127 loc) · 15.5 KB

readme_zh.md

File metadata and controls

192 lines (127 loc) · 15.5 KB


ACM SIGSpatial Python Pytorch License star fork

LibCity(阡陌)

主页 | 文档 | 数据集 | 会议论文 | 长文论文 | 论文列表 | 实验工具 | EA&B论文 | 英文版

LibCity 是一个统一、全面、可扩展的代码库,为交通预测领域的研究人员提供了一个可靠的实验工具和便捷的开发框架。 我们的库基于 PyTorch 实现,并将与交通预测相关的所有必要步骤或组件包含到系统的流水线中,使研究人员能够进行全面的对比实验。 我们的库将有助于交通预测领域的标准化和可复现性。

LibCity 目前支持以下任务:

  • 交通状态预测
    • 交通流量预测
    • 交通速度预测
    • 交通需求预测
    • 起点-终点(OD)矩阵预测
    • 交通事故预测
  • 轨迹下一跳预测
  • 到达时间预测
  • 路网匹配
  • 路网表征学习

Features

  • 统一性:LibCity 构建了一个系统的流水线以在一个统一的平台上实现、使用和评估交通预测模型。 我们设计了统一的时空数据存储格式、统一的模型实例化接口和标准的模型评估程序。

  • 全面性:复现覆盖 9 个交通预测任务的 74 个模型,形成了全面的模型库。 同时,LibCity 收集了 52 个不同来源的常用数据集,并实现了一系列常用的性能评估指标和策略。

  • 可扩展性:LibCity 实现了不同组件的模块化设计,允许用户灵活地加入自定义组件。 因此,新的研究人员可以在 LibCity 的支持下轻松开发新模型。

LibCity News

new 04/12/2024: 我们推出了LibCity算法库的MindSpore版本—M-LibCity v0.1。目前版本已支持包括交通状态预测、轨迹下一跳预测及到达时间预测等9项关键的交通预测任务。除此之外,M-LibCity还支持在GPU/NPU等多种后端上利用多卡并行对训练和推理进行加速。详细信息和进一步资源,请访问此链接

new 11/04/2023: 我们基于LibCity提出的创意项目"纵横"荣获第九届中国研究生智慧城市技术与创意设计大赛一等奖! Weixin

new08/24/2023: 我们发表了题为 Unified Data Management and Comprehensive Performance Evaluation for Urban Spatial-Temporal Prediction [Experiment, Analysis & Benchmark] 的论文,包括(1)城市时空数据的统一存储格式,(2)城市时空预测模型的技术发展路线图,(3)使用 18 个模型和 20 个数据集进行的广泛实验和性能评估。[Paper].

new06/20/2023: 我们发布了2015年11月采集的北京轨迹数据集,包括1018312条轨迹。我们从OpenStreetMap获得了相应的路网数据,并对轨迹数据进行了预处理,得到了与路网相匹配的北京轨迹数据集,我们相信这个数据集可以促进城市轨迹挖掘任务的发展。请参考此链接获取数据,并保证此数据仅用于研究目的

new 06/04/2023: LibCity 荣获第三届中国科学开源软件创意大赛二等奖Weixin

new 04/27/2023: 我们发表了一篇题为 LibCity: A Unified Library Towards Efficient and Comprehensive Urban Spatial-Temporal Prediction的长文,其中提供了 LibCity 的更多详细信息。[Paper].

new 11/19/2022: 我们在LibCity上开发的基于自注意力机制的交通流预测模型PDFormerAAAI2023接受,详情请查看此链接

new 08/05/2022: 我们为LibCity开发了一个实验管理工具,允许用户在一个可视化的界面中完成实验。代码库的链接是这里。一些中文介绍:Weixin, Zhihu

04/27/2022: 我们发布了LibCity v0.3的第一个版本,最新版本支持9种时空预测任务,涵盖60多个预测模型和近40个城市时空数据集。

11/24/2021: 我们在知乎提供了一些LibCity的介绍性教程(中文), link1, link2, link3, link4, link5, link6....

11/10/2021: 我们提供一份文件,详细描述了LibCity所定义的原子文件的格式。你可以在此下载英文版中文版,了解详情。

11/07/2021: 我们在ACM SIGSPATIAL 2021 Local Track上做了一个演讲,介绍LibCity。你可以在这里下载LibCity演讲幻灯片(中文)LibCity基础教程幻灯片(中文)

11/07/2021: 我们在ACM SIGSPATIAL 2021 Main Track上做了一个演讲,介绍LibCity。以下是演讲视频(英文)演讲幻灯片(英文)

Overall Framework

  • Configuration Module: 负责管理框架中涉及的所有参数。
  • Data Module: 负责加载数据集和数据预处理操作。
  • Model Module: 负责初始化基线模型或自定义模型。
  • Evaluation Module: 负责通过多个指标评估模型预测结果。
  • Execution Module: 负责模型训练和预测。

Installation

LibCity 只能从源代码安装。

请执行以下命令获取源代码。

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

有关环境配置的更多详细信息,请参见 文档.

Quick-Start

在 LibCity 中运行模型之前,请确保您至少下载了一个数据集并将其放在目录 ./raw_data/ 中。 数据集链接是 BaiduDisk with code 1231Google Drive 。LibCity 中所用的数据集需要被处理成原子文件的格式。

脚本 run_model.py 用于在 LibCity 中训练和评估单个模型。 运行run_model.py时,必须指定以下三个参数,即task、dataset和model。例如:

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

该脚本将在默认配置下,在 METR_LA 数据集上运行 GRU 模型,以进行交通状态预测任务。**目前我们已经在 文档 发布了数据集、模型和任务之间的对应关系表格供用户参考。**更多细节请访问 文档

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/) 可以看到可视化的结果。

Reproduced Model List

LibCity 中所复现的全部模型列表见文档,在这里你可以看到模型的简称和对应的论文及引用文献。

Tutorial

为了方便用户使用 LibCity,我们为用户提供了一些入门教程:

Contribution

LibCity 主要由北航智慧城市兴趣小组 (BIGSCITY) 开发和维护。 该库的核心开发人员是 @aptx1231@WenMellors

若干共同开发者也参与了模型的复现,其贡献列表在 贡献者列表

如果您遇到错误或有任何建议,请通过 提交issue 的方式与我们联系。您也可以通过发送邮件的方式联系我们,邮箱为[email protected]

Cite

该工作已被ACM SIGSPATIAL 2021接收。如果您认为LibCity对您的科研工作有帮助,请引用我们的论文

@inproceedings{10.1145/3474717.3483923,
  author = {Wang, Jingyuan and Jiang, Jiawei and Jiang, Wenjun and Li, Chao and Zhao, Wayne Xin},
  title = {LibCity: An Open Library for Traffic Prediction},
  year = {2021},
  isbn = {9781450386647},
  publisher = {Association for Computing Machinery},
  address = {New York, NY, USA},
  url = {https://doi.org/10.1145/3474717.3483923},
  doi = {10.1145/3474717.3483923},
  booktitle = {Proceedings of the 29th International Conference on Advances in Geographic Information Systems},
  pages = {145–148},
  numpages = {4},
  keywords = {Spatial-temporal System, Reproducibility, Traffic Prediction},
  location = {Beijing, China},
  series = {SIGSPATIAL '21}
}

对于新发布的长文,请这样引用:

@article{libcitylong,
  title={LibCity: A Unified Library Towards Efficient and Comprehensive Urban Spatial-Temporal Prediction}, 
  author={Jiang, Jiawei and Han, Chengkai and Jiang, Wenjun and Zhao, Wayne Xin and Wang, Jingyuan},
  journal={arXiv preprint arXiv:2304.14343},
  year={2023}
}

License

LibCity 遵循 Apache License 2.0 协议。

Stargazers

Stargazers repo roster for @LibCity/Bigscity-LibCity

Forkers

Forkers repo roster for @LibCity/Bigscity-LibCity