This project predicts network congestion classes (Normal / Warning / Congested) on graph-structured time-series data using the 12-node Abilene US backbone topology. Three model variants were built and compared: a Vanilla GAT spatial baseline, GAT+LSTM for spatiotemporal modelling, and GAT+LSTM+Attention as the optimised best variant. The core contribution is a systematic bottleneck diagnosis — seven bugs across training, evaluation, and architecture were identified and fixed, yielding consistent improvements across all models.
architecture.drawio
Input: sliding window of 20 timesteps × 12 nodes × 5 features (RTT, queue depth, packet loss, jitter, throughput) from a synthetic AR(1) Abilene traffic generator.
GATEncoder: two-layer GATConv (hidden=64, out=64, heads=4) encodes spatial node relationships across each timestep.
Batched graph construction: precomputed edge-index offsets replace per-sample DataLoader loops — cached by batch size, eliminating the main training bottleneck.
TemporalLSTM: processes the full T=20 GAT-encoded sequence per node, returns all timestep outputs for the attention layer.
Multi-Head Self-Attention: query from final LSTM state, keys/values from full sequence; residual fusion (last_lstm + attn_context) + LayerNorm + Dropout(0.1).