lmlaaron / rlmeta

RLMeta is a light-weight flexible framework for Distributed Reinforcement Learning Research.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RLMeta

rlmeta - a flexible lightweight research framework for Distributed Reinforcement Learning based on PyTorch and moolib

Installation

To build from source, please install PyTorch first, and then run the commands below.

$ git clone https://github.com/facebookresearch/rlmeta
$ cd rlmeta
$ git submodule sync && git submodule update --init --recursive
$ pip install -e .

Run an Example

To run the example for Atari Pong game with PPO algorithm:

$ cd examples/atari/ppo
$ python atari_ppo.py env="PongNoFrameskip-v4" num_epochs=20

We are using hydra to define configs for trainining jobs. The configs are defined in

./conf/conf_ppo.yaml

The logs and checkpoints will be automatically saved to

./outputs/{YYYY-mm-dd}/{HH:MM:SS}/

After training, we can draw the training curve by run

$ python ../../plot.py --log_file=./outputs/{YYYY-mm-dd}/{HH:MM:SS}/atari_ppo.log --fig_file=./atari_ppo.png --xkey=time

One example of the training curve is shown below.

atari_ppo

License

rlmeta is licensed under the MIT License. See LICENSE for details.

About

RLMeta is a light-weight flexible framework for Distributed Reinforcement Learning Research.

License:MIT License


Languages

Language:Python 77.4%Language:C++ 21.6%Language:CMake 1.0%