A Universal Deep Reinforcement Learning Framework
Fruit API (http://fruitlab.org/) is a universal deep reinforcement learning framework, which is designed meticulously to provide a friendly user interface, a fast algorithm prototyping tool, and a multi-purpose framework for RL research community. Specifically, Fruit API has the following noticeable contributions:
Config
, a Learner
, and plug them into the framework. We
also provides a lot of sample Config
s and Learner
s in a hierarchical structure
so that users can inherit a suitable one.Portability: The framework can work properly in different operating systems including Windows, Linux, and Mac OS.
Interoperability: We keep in mind that Fruit API should work with any deep learning libraries such as PyTorch, Tensorflow, Keras, etc. Researchers would define the neural network architecture in the config file by using their favourite libraries. Instead of implementing a lot of deep RL algorithms, we provide a flexible way to integrate existing deep RL libraries by introducing plugins. Plugins extract learners from other deep RL libraries and plug into FruitAPI.
Generality: The framework supports different disciplines in reinforement learning such as multiple objectives, multiple agents, and human-agent interaction.
We also implemented a set of deep RL baselines in different RL disciplines as follows.
RL baselines
Value-based deep RL baselines:
Policy-based deep RL baselines:
Multi-agent deep RL:
Multi-objective RL/deep RL:
Human-agent interaction
Plugins
Built-in environments
External environments can be integrated into the framework easily by plugging into
FruitEnvironment
. Finally, we developed 5 extra environments as a testbed to examine different
disciplines in deep RL:
Video demonstrations can be found here (click on the images):
Please visit our official website here for more updates, tutorials, sample codes, etc.
ReinforcePy is a great repository that we referenced during the development of Fruit API.