Open Radio Access Networks (O-RAN) significantly reduces operating costs, increases flexibility for network operators, and allow for more intelligent cellular networks. In the context of Ultra Dense Networks (UDNs), energy efficiency (EE) is a critical problem, especially due to the dense placement of Radio Units (O-RUs), which drives up energy costs for providers. O-RU sleep switching, where underutilized O-RUs are placed into sleep modes to conserve energy, is a practical and attractive solution. Hard-coded methods such as MILP solvers and heuristics struggle with the dynamic and asymmetrical traffic associated with UDNs. We propose GREEN-GCN: a deep reinforcement learning (DRL) approach to O-RU sleep switching, which leverages a graph convolutional network for intelligent advanced sleep mode (ASM) management of O-RUs. To train the model, we utilized Ape-X distributed prioritized experience replay, ensuring generalization of the model to different network scenarios, and reducing the training time required for convergence of the model.
First clone the repo
git clone https://github.com/grayzing/rasmo.git
cd rasmoThen install dependencies (after setting up whatever venv)
pip install -r requirements.txtChange your hyperparameters in hyperparameters.yaml, then run
cd src
python3 distributed.pyunfortunately you can't read training logs in /logs in real-time, since they are .h5. To stop your training and read the training logs (which really only record mean loss per training pass), do a KeyboardInterrupt on the distributed.py training (usually Ctrl + C on UNIX-like systems), and then
cd ../logs
python3 plot_training.pyIf you've been running the training for long enough, the updated Q model should've been saved anyway. So you can just spin the distributed.py back up as normal.
"CRITICAL ERROR in Learner Loop: high - low range exceeds valid bounds" This means that there is an NaN TD-error that was generated. If you were messing with the reward/state functions, that is why. Revert the reward/state functions and try again.