Reinforcement Learning for Practitioners.
Status: under active development, breaking changes may occur. Release notes.
EasyAgents is a high level reinforcement learning api focusing on ease of use and simplicity. Written in Python and running on top of established reinforcement learning libraries like tf-Agents, tensorforce or keras-rl. Environments are implemented in OpenAI gym. For an example of an industrial application of reinforcement learning see here.
In collaboration with Oliver Zeigermann.
from easyagents.agents import PpoAgent
from easyagents.callbacks import plot
ppoAgent = PpoAgent('CartPole-v0')
ppoAgent.train([plot.State(), plot.Loss(), plot.Rewards()])
from easyagents.agents import PpoAgent
from easyagents.callbacks import plot
ppoAgent = PpoAgent( 'Orso-v1',fc_layers=(500,500,500))
ppoAgent.train([plot.State(), plot.Loss(), plot.Rewards(), plot.Actions(),
plot.StepRewards(), plot.Steps(), plot.ToMovie()],
learning_rate = 0.0001, num_iterations = 500, max_steps_per_episode=50 )
algorithm | tf-Agents | tensorforce | keras-rl (suspended) | easyagents class name |
---|---|---|---|---|
CEM | not available |
not available |
yes |
CemAgent |
Dqn | yes |
yes |
yes |
DqnAgent |
Double Dqn | open |
not available |
yes |
DoubleDqnAgent |
Dueling Dqn | not available |
yes |
yes |
DuelingDqnAgent |
Ppo | yes |
yes |
not available |
PpoAgent |
Random | yes |
yes |
not available |
RandomAgent |
REINFORCE | yes |
yes |
not available |
ReinforceAgent |
SAC | preview |
not available |
not available |
SacAgent |
[191001]
Geberit - a sanitary technology company with > 12'000 employees - produces in particular pipes and other parts to get rain-water of flat roofs - so called syphonic roof drainage systems. They warrant that large buildings like stadiums, airports or shopping malls do not collapse during heavy rainfalls. However it is surprisingly difficult to find the right dimensions for the pipes. It is actually so difficult, that as of today no feasable, deterministic algorithm is known. Thus traditional heuristics and classic machine learning were used to support the users in finding a suitable solution.
Using reinforcement learning the failrate of the previous solution was reduced by 70%, resulting in an end-to-end success-rate of > 98%.
For more details take a look at this talk.
Install from pypi using pip:
pip install easyagents
for release notes & class diagram, for agents & api.