RLlib: Scalable Reinforcement Learning ====================================== RLlib is an open-source library for reinforcement learning that offers both a collection of reference algorithms and scalable primitives for composing new ones. .. image:: rllib-stack.svg Learn more about RLlib's design by reading the `ICML paper `__. Installation ------------ RLlib has extra dependencies on top of ``ray``. First, you'll need to install either `PyTorch `__ or `TensorFlow `__. Then, install the Ray RLlib module: .. code-block:: bash pip install tensorflow # or tensorflow-gpu pip install ray[rllib] You might also want to clone the Ray repo for convenient access to RLlib helper scripts: .. code-block:: bash git clone https://github.com/ray-project/ray cd ray/python/ray/rllib Training APIs ------------- * `Command-line `__ * `Python API `__ * `REST API `__ Environments ------------ * `RLlib Environments Overview `__ * `OpenAI Gym `__ * `Vectorized `__ * `Multi-Agent `__ * `Serving (Agent driven) `__ * `Offline Data Ingest `__ * `Batch Asynchronous `__ Algorithms ---------- * `Ape-X Distributed Prioritized Experience Replay `__ * `Advantage Actor-Critic (A2C, A3C) `__ * `Deep Deterministic Policy Gradients (DDPG) `__ * `Deep Q Networks (DQN) `__ * `Evolution Strategies `__ * `Importance Weighted Actor-Learner Architecture (IMPALA) `__ * `Policy Gradients `__ * `Proximal Policy Optimization (PPO) `__ Models and Preprocessors ------------------------ * `RLlib Models and Preprocessors Overview `__ * `Built-in Models and Preprocessors `__ * `Custom Models `__ * `Custom Preprocessors `__ * `Customizing Policy Graphs `__ * `Model-Based Rollouts `__ RLlib Concepts -------------- * `Policy Graphs `__ * `Policy Evaluation `__ * `Policy Optimization `__ Package Reference ----------------- * `ray.rllib.agents `__ * `ray.rllib.env `__ * `ray.rllib.evaluation `__ * `ray.rllib.models `__ * `ray.rllib.optimizers `__ * `ray.rllib.utils `__ Troubleshooting --------------- If you encounter errors like `blas_thread_init: pthread_create: Resource temporarily unavailable` when using many workers, try setting ``OMP_NUM_THREADS=1``. Similarly, check configured system limits with `ulimit -a` for other resource limit errors.