Git Product home page Git Product logo

rrm-slice-rl's Introduction

rrm-slice-rl

Code containing RRM simulation using RL in a scenario with RAN slicing.

Install

  • Install pipenv
  • Install dependencies using pipenv: pipenv install
  • To access the virtual environment created, run pipenv shell, now all commands which you run will be performed into virtual enviroment created
  • (In case you want to contribute with this repo, if not you can skip this step) Activate pre-commit hooks to use black formatter, flake8 lint and Isort references. Run pre-commit install. Now every time you make a commit, black formatter, flake8 and isort will make tests to verify if your code is following the patterns (you can adapt your IDE or text editor to follow this patterns, e.g. vs code)

Hyperparameters optimization using Optuna

Run the script optimize.py using pipenv running pipenv run python optimize.py. It would take a long time to Optuna generate the optimized hyperparameters for each scenario, so you can use the hyperparameters that it were already generated into hyperparameter_opt folder and skip this step.

Training and testing ML model

Run the command pipenv run python run.py to start the simulation for all scenarios. You can watch the training performance using tensorboard. After the training finish, the RL models will be saved into agents folder, the VecNormalize parameters into vecnormalize_models folder, the evaluations made along with the trainign into evaluations folder, and the test results into hist folder.

Generating figures with the results

To generate the figures with results obtained in the paper, you can run pipenv run python plot_results.py and the figures should be available into the folder `results" as soon as the script finish.

Citing this project

To cite this repository in publications:

@ARTICLE{nahum2023rrs,
  author={Nahum, Cleverson V. and Lopes, Victor Hugo and Dreifuerst, Ryan M. and Batista, Pedro and Correa, Ilan and Cardoso, Kleber V. and Klautau, Aldebaro and Heath, Robert W.},
  journal={IEEE Transactions on Wireless Communications}, 
  title={Intent-aware Radio Resource Scheduling in a RAN Slicing Scenario using Reinforcement Learning}, 
  year={2023},
  volume={},
  number={},
  pages={1-1},
  doi={10.1109/TWC.2023.3297014}}

rrm-slice-rl's People

Contributors

cleversonahum avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.