🏆 Accepted at ACM CIKM ’25 (Resource Track) — November 10–14, 2025, Seoul. Read the paper
This is the official "code-free" version of STM-Graph python library, suitable for users who prefer a graphical interface to interact with the library's features. The GUI is designed to simplify the process of working with urban datasets, from data generation to model training, without requiring extensive programming knowledge.
On this page, you can find the installation instructions, a brief overview of the features, and how to use the GUI.
-
Interactive Visualization: Easily visualize urban datasets with interactive graphs and maps. Users can zoom, navigate images and save in PNG, SVG and PDF formats.
-
Complete Data Generation Pipeline: A sequence of steps to generate graph data from raw datasets. Users can load raw data, preprocess it, map it to spatial features, and generate graph data for training phase. Each step is modular and can be customized based on user requirements.
-
Model Training: Train various state-of-the-art networks on generated temporal graph datasets. The GUI provides options to select different models, configure both training's and model's hyperparameters.
-
Logging: The GUI provides options for users to track their training with Weights & Biases (W&B) or via local log print.
Once you have launched the GUI, you will see a user-friendly interface with two main tabs: Data and Training, structured as follows:
├── STM-Graph GUI
│ ├── Data
│ │ ├── Input # Load raw data, preview data, choose time and graphical information
│ │ ├── Config # Configure general parameters for data processing and graph generation
│ │ ├── Data_VIS # Visualize the processed data (interactively)
│ │ ├── Mapping # Configure mapping methods and parameters
│ │ ├── Mapping_VIS # Visualize mapping results before generating graph data (interactively)
│ │ └── Graph_Data_VIS # Visualize the generated graph data with various plot types (interactively)
│ └── Training
│ ├── Model # Load graphed data, configure training and model parameters
│ └── Training_and_Logging # Set up log tracking and start training (near real-time logging on local)
conda create -n stmgraph-gui python=3.8.20
conda activate stmgraph-gui
pip install stm-gnn
Choose one of the following commands based on your system configuration.
-
CUDA with GPU support
pip install torch==2.4.0 --extra-index-url https://download.pytorch.org/whl/cu118
-
CPU only
pip install torch==2.4.0+cpu --index-url https://download.pytorch.org/whl/cpu
pip install stm-gnn[torch-extensions]
pip install pyqt6 pyMuPDF
There are two ways to run the GUI.
-
Clone the repository or download the source code in a zip file.
git clone https://github.com/tuminguyen/stm_graph_gui.git
-
Navigate to the directory where you have download the GUI code.
-
Run the following command:
python main.py
If you prefer not to run the source code, you can download the pre-built executable files for your system. In current release version, we provide executables for Linux-based system only (recommend Ubuntu 22.04 for best compatibility).
-
Go to the releases page
-
Download the appropriate version for your system architecture.
-
You can choose between the
CPU
or theCUDA
version:-
If you choose the
CPU
:-
Download the
linux_86_64_cpu.zip
-
Extract the
.zip
file and run the executable file directly (in terminal or double-click) without any installation.
-
-
If you choose the
CUDA
:-
Download all 3 parts of the executable file, named
STM-Graph-part-1
,STM-Graph-part-2
,STM-Graph-part-3
-
Combine them into a single executable file using the following command on your terminal:
cat STM-Graph-part-* > STM-Graph
-
Make the file executable:
chmod +x STM-Graph
-
Run the executable in the terminal with
./STM-Graph
or simply double-click on the file to launch the GUI.
-
-
N.B. You may need to run chmod +x [execution_file]
if you face permission issues on your Linux system.
If you find this GUI useful, please consider citing our original paper work - TBU