TrajDL - 基于深度学习的轨迹序列算法包

TrajDL - 基于深度学习的轨迹序列算法包#


Attention

在1.0.0版本发布前,当前文档的内容可能会发生变化。

English documentation will be provided in subsequent versions.

TrajDL提供了轨迹数据挖掘领域中的多个SOTA深度学习模型的实现,为研究人员、工程师提供易用、高效、可靠的开发工具,可以快速开展实验和应用开发。

基于Arrow,Pytorch和Lightning

TrajDL的数据部分构建在Arrow之上,模型部分构建在Pytorch之上,训练与验证流程构建在Lightning之上,充分结合各个框架工具的优势。

高效的工具

TrajDL提供了高效的工具,比如高效的DatasetTokenizerGridSystem。出色的零拷贝特性可以显著降低数据的处理时间,节省内存使用。高效的TokenizerGridSystem可以随时转换数据,无需预先处理数据。

可扩展性

TrajDL高度模块化,不会约束用户的代码,用户可以随时从TrajDL里面取出自己需要使用的工具。TrajDL还打通了与PolarsPandasPyArrow等工具的接口,用户使用常用的科学计算工具处理后的数据可以轻松导入到TrajDL的数据体系。另外TrajDL同时支持API与配置文件两种方式开展实验与开发,尽可能提升用户体验。

SOTA模型的实验复现脚本

TrajDL提供了SOTA模型的复现脚本,用户可以通过脚本重现论文内的实验结果,部分场景下TrajDL具备比论文场景更优的效果。


高效的数据管理

TrajDL提供了公开数据集的管理工具,用户可以轻松下载公开数据集开展自己的实验,内置的缓存功能可以显著加快实验速度。

同时TrajDL还提供了基于Arrow高效数据管理工具,可以帮助用户从不同粒度实现序列数据的管理,其出色的扩展性支持用户直接导入PolarsPandasPyArrow处理后的数据,训练过程中也不会因为多进程导致数据的拷贝复制,显著节省内存

Data
易用的Tokenizer与网格系统

TrajDL提供了高效的Tokenizer与网格系统GridSystemTokenizer可以快速完成Vocabulary的构建Special Tokens的管理快速的位置映射GridSystem可以将区域划分成网格,将经纬度转换成位置id。TokenizerGridSystem都有多种类型可以选择。

Tools
高效简单的训练验证pipeline

基于Lightning构建的TrajDL可以快速开展轨迹序列数据上深度学习的实验,Lightning TrainerLightning Fabric两种方式用户可以自行选择,通过API控制模型的训练与评估。LightningCLI让训练验证通过配置文件快速启动。TrajDL提供了封装好的DataModule和SOTA模型,用户只要几行代码就可以快速拉起实验。

Training