rlib
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
- Initialize
Loggerand/orGIFRecorderobjects.
os.makedirs('your/log/dir', exist_ok=True)
logger = Logger(output_dir)
gifs_recorder = GIFRecorder(output_dir, duration=3.0)
- Initialize a new environment using these objects.
env = GymEnvironment(e, dqn, logger=logger, gifs_recorder=gifs_recorder)
- To check Tensorboard logs, run:
tensorboard --logdir=your/log/dir
Custom models
- 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
- 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
- Set the
model_output_dirargument 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.
Metadata
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)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| rlib-0.0.2.tar.gz | 21.1 kB | Without provenance | Details for rlib-0.0.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| rlib-0.0.2-py3-none-any.whl | Python 3 | none | any | Details for rlib-0.0.2-py3-none-any.whl |
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
|
Security for rlib 0.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.