This is the implementation of EvolveGCNO-improved model defined in Misbehavior Detection with Spatio-Temporal Graph Neural Networks paper.
Please kindly cite the paper as
@article{yuce2024misbehavior,
title={Misbehavior detection with spatio-temporal graph neural networks},
author={Yuce, Mehmet Fatih and Erturk, Mehmet Ali and Aydin, Muhammed Ali},
journal={Computers and Electrical Engineering},
volume={116},
pages={109198},
year={2024},
publisher={Elsevier}
}
The model generation consists of three stages.
- Adding clustering information to BURST-Adma dataset's each timestep.
- Generating Graph Neural Networks (GNNs) dataset
- Hyperparameters search
- Model tries
Get cuda version
nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Jun__8_16:49:14_PDT_2022
Cuda compilation tools, release 11.7, V11.7.99
Build cuda_11.7.r11.7/compiler.31442593_0
From: https://docs.anaconda.com/miniconda/
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh
Do not forget to update .bashrc
conda env create --name egcnoi_env --file=export.yaml
conda activate egcnoi_envconda create --name egcnoi python=3.10.9 ipython
conda activate egcnoi
# conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
# conda install pyg -c pyg
pip install torch-scatter torch-sparse torch-cluster torch-spline-conv torch-geometric -f https://data.pyg.org/whl/torch-1.13.1+cu117.html
pip install torch-geometric-temporal
conda install -c anaconda pandas
conda install -c anaconda numpy
conda install -c conda-forge matplotlib
conda install -c anaconda seaborn
conda install -c conda-forge scikit-learn
conda install -c conda-forge tqdm
conda install -c anaconda ipywidgets
pip install hiddenlayer
pip install torchviz
conda install -c conda-forge ipympladd_clustering_information.ipynb
model_tries.py and model_tries.ipynb contains manual tests that can be conducted for experiemntations.


