Skip to content
/ gym Public

This gym leverages NS3 and WebRTC, which can be used by reinforcement learning or other methods to build a Bandwidth Controller for WebRTC

Notifications You must be signed in to change notification settings

OpenNetLab/gym

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gym

Build Status

This gym leverages NS3 and WebRTC, which can be used by reinforcement learning or other methods to build a Bandwidth Controller for WebRTC.

Usage

You can use this Gym by a Python interface that was defined in gym.py. Here is an example gym-example to use this Gym training a bandwidth estimator.

Setup Guide

Get Gym

git clone https://github.com/OpenNetLab/gym gym
cd gym

Install dependencies(Ubuntu 18.04 or Ubuntu 20.04)

sudo apt install libzmq5 python3 python3-pip
python3 -m pip install -r requirements.txt
# Install Docker
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker ${USER}

Download pre-compiled binary

If your OS is ubuntu18.04 or ubuntu20.04, we recommend you directly downloading pre-compiled binary, and please skip the step Build Gym binary

The pre-compiled binary can be found from the latest GithubRelease. Please download and uncompress it in the current folder.

wget https://github.com/OpenNetLab/gym/releases/latest/download/target.tar.gz
tar -xvzf target.tar.gz

Build Gym binary

make init
make sync
make gym # build_profile=debug

If you want to build the debug version, try make gym build_profile=debug

Verify gym

python3 -m pytest alphartc_gym

Inspiration

Thanks SoonyangZhang provides the inspiration for the gym

About

This gym leverages NS3 and WebRTC, which can be used by reinforcement learning or other methods to build a Bandwidth Controller for WebRTC

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 6