This challenge aims to create a Network Digital Twin based on neural networks that can accurately estimate QoS performance metrics given the network state and the input traffic. More in detail, solutions must predict the resulting per-flow mean delay given: (i) a network topology (L2 and L3), (ii) a set of input flow packet traces, and (iii) a routing configuration. The following figure presents a schematic representation.
To use this code, you should follow the tutorial described below.
Considering that one has the Miniconda or the Anaconda virtual environment already installed in a Linux machine, to recreate the environment used in our solution, the below command should be used to create the environment:
conda env create -f environment.yml
After that, you can activate this environment using the next command:
conda activate gnn_2023_m0b1us
Considering the current directory is the m0b1us model, it is necessary to
execute the command below to perform the training. The below command will train the CBR+MB model considering the dataset at
datasets/data_cbr_mb_13
. Where the --ckpt-path
flag defines the weights directory name.
python3 std_train.py -ds CBR+MB --ckpt-path best_model
intended to create the predictions utilized in our best solution, the command below should be used.
This command considers the CBR+MB model, the best weight 150-15.7196
, the training and
testing datasets at datasets/data_cbr_mb_13
and dataset/data_test, respectively.
python3 std_predict.py -ds CBR+MB --ckpt-path weights/150-15.7196 \
--tr-path datasets/data_cbr_mb_13_cv/0/training/ \
--te-path datasets/data_test/
This project would not have been possible without the contribution of:
Cláudio Matheus Modesto - LASSE, Federal University of Pará
Rebecca Aben-Athar - LASSE, Federal University of Pará
Andrey Silva - Ericsson
Silvia Lins - Ericsson