1.st-gcn环境搭建
2.CIKM 2020ST-GRAT: A Novel Spatio-temporal Graph Atention Network for Traffic Forecasting
st-gcn环境搭建
搭建ST-GCN环境的码下步骤如下:
一、硬件与系统准备
推荐使用基于Ubuntu .的码下系统,可从浙大官网下载稳定版本的码下镜像。通过U盘启动制作Ubuntu系统盘,码下完成格式化后使用深度制作工具进行系统安装。码下在桌面计算机中使用磁盘管理工具创建Ubuntu分区,码下大贰源码一般GB空间足矣。码下通过BIOS设置将U盘设置为启动优先项,码下然后开始安装Ubuntu系统。码下
二、码下安装Python3
在Ubuntu系统中,码下将Python3设置为默认版本,码下使用pip进行包管理无需额外命令。码下在终端中通过快捷键或命令行操作完成Python3的码下std vector 源码安装。
三、码下软件源配置
使用国内服务器作为Ubuntu软件源,推荐使用阿里云提供的服务,无需额外配置。如果使用官方镜像,可能需要更新软件源以获取最新软件包。
四、安装显卡驱动
使用NVIDIA显卡的用户,需安装对应版本的驱动程序。通过三种方法之一:官方PPA源安装、下载并编译安装、添加官方PPA源后安装。
五、protobuf源码编译安装CUDA和cuDNN
检查NVIDIA显卡型号和系统内核版本,确保CUDA版本与驱动匹配。下载CUDA和cuDNN,按步骤安装,确保安装成功并验证。
六、安装Python3的pip虚拟环境
在Python3环境下安装pip,所有pip命令都将在Python3环境中执行。创建虚拟环境管理目录,将虚拟环境添加到环境变量中,并创建Python3虚拟环境。
七、安装torch和torchvision
使用国内源安装torch和torchvision,winfom图表源码可永久修改pip安装源。查看Python版本与对应torch版本的关系,确保兼容性。
八、安装cmake
使用cmake配置编译参数,安装cmake和cmake-gui,确保cmake操作顺利进行。
九、安装opencv
可以选择通过apt-get安装opencv-python或从源码构建。构建时注意解压、更新依赖、下载ippicv,确保opencv功能齐全。delphi 画图源码
十、安装caffe
从openpose提供的链接下载caffe源码,解压后修改Makefile配置参数,编译安装。
十一、安装openpose
在caffe目录下连接openpose,下载源码,配置编译参数,确保兼容性和接口接入,测试安装成功。
十二、安装ffmpeg
下载ffmpeg源码,安装依赖环境,配置并编译安装。推荐使用smplayer作为视频播放软件。
完成上述步骤后,环境搭建就已基本完成。评估官方模型,训练自己的模型,进行样本示例展示。安装视频播放软件,如smplayer,用于观看可视化效果。欢迎指出错误与建议,祝您搭建成功!
CIKM ST-GRAT: A Novel Spatio-temporal Graph Atention Network for Traffic Forecasting
本文提出了一种新颖的时空图注意力网络(ST-GRAT)用于交通预测。此模型采用了Transformer结构并结合了先验路网的归纳偏置,同时引入了sentinel对self-attention进行信息筛选。值得注意的是,ST-GRAT没有公开源码,作者自行实现后发现性能与文章中所述存在差距。在交通预测领域,如STGODE、DGCRN、StemGNN、HGCN等已有相关研究,本文重点探讨了使用self-attention进行交通预测的技术路径。
传统基于GCN的方法在计算路网关系时往往忽略了动态变化性和流量的方向性,GaAN虽然引入了动态计算空间关系的注意力机制,但未充分利用图结构信息,同时DCRNN等RNN模型在捕捉长距离时间依赖方面表现不佳。因此,ST-GRAT致力于解决这些局限性。
ST-GRAT的核心创新在于引入了捕捉空间依赖的Spatial Attention模块。输入经过Embedding Layer增强时空表达能力后,编码器通过时空注意力提取关键特征,解码器则使用Masked Temporal Attention进行预测,确保未来预测的因果关系,同时通过Encoder-Decoder Attention获取历史信息。
在Embedding Layer部分,为多变量预测任务设计了时间维度的positional embedding和带有空间结构信息的spatial embedding。LINE算法用于获取spatial embedding,作者还结合了positional embedding并进行映射以增强模型能力。代码实现中涉及了与Transformer不同的嵌入策略和网络架构细节。
Spatial Attention模块采用多头注意力机制,通过计算所有节点间的注意力系数,并引入先验结构知识和sentinel信息进行消息传递。sentinel概念用于控制信息流向,确保模型在预测过程中既能保留原有信息,也能吸收其他节点的影响。代码实现中包含了相关系数的归一化处理和sentinel的计算方法。
Temporal Attention模块与Spatial Attention相似,但去除了添加图结构先验和sentinel部分。实验结果显示,ST-GRAT在多个交通数据集(如METR-LA和PEMS-BAY)上取得了优秀的性能,在长短期预测任务中均优于或与GMAN持平。此外,ST-GRAT在不同时间段和速度变化较快的区间上也表现出色。
通过消融实验验证了各部分对模型的有效性,ST-GRAT的计算效率优于RNN和其他注意力模型,与使用卷积的生成模型Graph WaveNet相比,性能稍有差距。整体而言,ST-GRAT在交通预测领域展现出了创新性和实用性。