Tensorforce: a TensorFlow library for applied reinforcement learning¶
Tensorforce is an open-source deep reinforcement learning framework, with an emphasis on modularized flexible library design and straightforward usability for applications in research and practice. Tensorforce is built on top of Google’s TensorFlow framework version 2.0 (!) and compatible with Python 3 (Python 2 support was dropped with version 0.5).
Tensorforce follows a set of high-level design choices which differentiate it from other similar libraries:
- Modular component-based design: Feature implementations, above all, strive to be as generally applicable and configurable as possible, potentially at some cost of faithfully resembling details of the introducing paper.
- Separation of RL algorithm and application: Algorithms are agnostic to the type and structure of inputs (states/observations) and outputs (actions/decisions), as well as the interaction with the application environment.
- Full-on TensorFlow models: The entire reinforcement learning logic, including control flow, is implemented in TensorFlow, to enable portable computation graphs independent of application programming language, and to facilitate the deployment of models.
- Getting started
- Agent specification
- States and actions specification
- How to specify modules
- Static vs dynamic hyperparameters
- run.py – Runner
- tune.py – Hyperparameter tuner
- Agent interface
- Constant Agent
- Random Agent
- Tensorforce Agent
- Deep Q-Network
- Dueling DQN
- Vanilla Policy Gradient
- Advantage Actor-Critic
- Deterministic Policy Gradient
- Proximal Policy Optimization
- Trust-Region Policy Optimization