Skip to content

0913ktg/5G-Traffic-Generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 

Repository files navigation

5G Traffic Generation for Practical Simulations Using Open Datasets

Model Architecture

5GT-GAN

N-HiTS-5G

Generated Traffics

5GT-GAN

Generated Traffics by 5GT-GAN model

N-HiTS 5G

Generated Traffics by N-HiTS-5G model

Traffic generated by 5GT-GAN and N-HiTS-5G models.

Getting Started

Environment

  • Ubuntu 20.04 LTS
  • Docker
  • Pytorch & Pytorch Lightning

Prerequisites

  • Recommend install CUDA, CUDNN

Installing

5GT-GAN

cd 5GT-GAN
pip install -r requirements.txt

N-HiTS-5G

cd N-HiTS-5G
pip install -r requirements.txt

Running the tests

5GT-GAN

  1. Run main.py

    Options

    in config/model/GAN.yaml

    • seq_len: Enter the number of sequence length for input/output of model
    • latent_dim: Enter the number of random noise dimension for generator's input
    • cond_dim: Enter the number of data types in train dataset
    • hidden: Enter the number of output size of LSTM layer
    • n_layers: Enter the number of LSTM layers
    • sample_size: Enter the number of batch size of fixed_z if you want to use it
    • lr: Enter the value of learning rate

    in config/data/TrafficDataModule.yaml

    • seq_len: Enter the same number of seq_len in GAN.yaml file
    • data_path: Enter the path of data csv file
    • batch_size: Enter the number of batch size for train

    in config/config.yaml

    • VERSION: Enter the version of experiment
    • MODEL_NAME: Enter the model name for checkpoint file
  2. Run inference.py

    Options

    in config/checkpoint/inference.yaml

    • path: Enter the path of checkpoint file
    • version: Enter the version of experiment for output file
    • epoch: Enter the epoch of checkpoint for output file
    • batch_size: Enter the number of batch size for generate each data types

N-HiTS-5G

  1. Run model_train.py

    Options

    • dataset : Select one name for the dataset want to learn.
    • datatype : Select one name for the dataset type want to learn (ul or dl).
    • hyperopt_max_evals : Enter the maximum number of evaluations for hyperparameter tuning.
    • experiment_id : Enter a title for the current experiment.
    python3 model_train.py --dataset afreeca --datatype dl \
                           --hyperopt_max_evals 10 --experiment_id test_1
    
  2. Run inference.py

    Option

    • dataset : Select one name for the dataset want to learn.
    • datatype : Select one name for the dataset type want to learn (ul or dl).
    • experiment_id : Enter a title for the current experiment.
    • size : Enter the size of the traffic you want to generate (output length = horizon * size).
    python3 inference.py --dataset afreeca --datatype dl --experiment_id test_1 --size 10
    
  3. Run evaluation.py

    python3 evaluation.py
    

Built With

License

This project is licensed under the MIT License

Citations

@article{choi2023mlbased,
  title={ML-Based 5G Traffic Generation for Practical Simulations Using Open Datasets},
  author={Yong-Hoon Choi, Daegyeom Kim, Myeongjin Ko, Kyung-yul Cheon, Seungkeun Park, Yunbae Kim, Hyungoo Yoon},
  journal={IEEE Communications Magazine},
  year={2023},
  note={To appear}
}

Acknowledgments

  • Date of submission October 31, 2022.
  • This work was supported by the In-stitute for Information & communications Technology Promotion (IITP) grant funded by the Korea government (MSIT) (No. 2021-0-00092); and in part by the National Research Foundation of Korea (NRF) grant funded by the Korea government Ministry of Science and ICT (No. 2021R1F1A1064080).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages