Skip to main content

rlib

Build Status

rlib is a small deep reinforcement learning library with implementations of popular deep RL algorithms. Each algorithm is highly modular and customizable, making this library a great choice for anyone who wants to test the performance of different algorithms in the same environment. rlib uses PyTorch as the library of choice for its initial version, but support for TensorFlow is on the roadmap.

Installation

pip install rlib

Usage

Using rlib is this simple:

from rlib.algorithms.dqn import DQNAgent
from rlib.environments.gym import GymEnvironment


e = gym.make('CartPole-v0')

observation_size = 4
action_size = 2

dqn = DQNAgent(observation_size, action_size)
env = GymEnvironment(e, dqn)
env.train()
env.test()

Advanced

TensorBoard and GIFRecorder

  1. Initialize Logger and/or GIFRecorder objects.
os.makedirs('your/log/dir', exist_ok=True)

logger = Logger(output_dir)
gifs_recorder = GIFRecorder(output_dir, duration=3.0)
  1. Initialize a new environment using these objects.
env = GymEnvironment(e, dqn, logger=logger, gifs_recorder=gifs_recorder)
  1. To check Tensorboard logs, run:
tensorboard --logdir=your/log/dir

Custom models

  1. Define your own custom model.
class NeuralNet(torch.nn.Module):
    def __init__(self):
        super(NeuralNet, self).__init__()
        self.fc1 = nn.Linear(4, 8) 
        self.relu = nn.ReLU()
        self.fc2 = nn.Linear(8, 2)  

    def forward(self, x):
        out = self.fc1(x)
        out = self.relu(out)
        out = self.fc2(out)
        return out
  1. Check the documentation for the algorithm you are using for the appropriate argument name. For DQN:
dqn = DQNAgent(
    observation_size, action_size,
    qnetwork_local=NeuralNet(),
    qnetwork_target=NeuralNet(),
)

Saving model weights

  1. Set the model_output_dir argument when creating a new instance of an algorithm to the directory where you want your model to be saved.

Testing

To run all tests:

python -m unittest discover test/

Contributing

Installation

Feel free to open issues with any bugs found or any feature requests. Pull requests are always welcome for new functionality.

virtualenv -p python3 venv
cd rlib/
source venv/bin/activate
pip install -r requirements.txt

To make sure your installation worked, run one of the algorithms in the test folder:

python test/algorithms/dqn_test.py

License

rlib is released under the MIT License.

Release files for rlib 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rlib 0.0.2
File Size Uploaded
rlib-0.0.2.tar.gz 21.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rlib 0.0.2
File Interpreter ABI Platform
rlib-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 58.4 kB

Release files / rlib-0.0.2.tar.gz

Download URL rlib-0.0.2.tar.gz
Size 21.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4715f8f91a80f70c481199b406ad16931324bae0bbe2509ec5f08102d4610704
BLAKE2b-256 checksum
How to use checksums
016816d21c4b9b5550d4549945e4cb21f11a3b87f04fcc898c3c8769efc16a09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.26.0 CPython/3.7.0

Release files / rlib-0.0.2-py3-none-any.whl

Download URL rlib-0.0.2-py3-none-any.whl
Size 37.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7dbe468fb6020e6980479bb9853d7cff999e96862a6013efe8a2b3a5d2477f67
BLAKE2b-256 checksum
How to use checksums
06e84d8ef94541cd7e81e4fd597ebc8843dc48e8b7085b1b077d22c6ebc68444
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.26.0 CPython/3.7.0

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page