Skip to main content

YAAF: Yet Another Agents Framework

Project description

YAAF: Yet Another Agents Framework

A minimalistic reinforcement learning framework.

Installation

  $ pip install yaaf                               # Install YAAF
  $ pip install gym[atari]                         # Install OpenAI Gym's Atari environments
  $ git clone https://github.com/jmribeiro/yaaf    # Clone the repo for the examples and tutorials
  $ cd yaaf/examples                               
  $ python 0_space_invaders_random_agent.py        # Run example
  • Rapid Prototyping: Setting up an agent on an environment can easily be done with a few lines of code:

    # Setup the Environment
    environment = OpenAIGymEnvironment(name="SpaceInvaders-v0", render=True)
    
    # Setup the Agent
    agent = RandomAgent(environment.action_space)
    
    # Run the agent on the environment for 5 episodes
    runner = EpisodeRunners(agent, environment, episodes=5)
    runner.run()
    environment.close()
    
  • Simplicity

    States: Tensors/Numpy arrays with a given shape;

    Actions: Integers if a discrete action space, Floats if a continuous action space;

    Timesteps: Named tuples in shape of (state, action, reward, next_, is_terminal, info)

    Agents: Objects capable of execution actions when given a state. If trainable, capable of learning when given a timestep

    Environments: Objects which evolve over time, where agents can execute actions;

    Runners: Objects that interact an actor (agent or policy) on an environment, notifying a list of observers at every timestep;

    Metrics: Objects that evaluate an agent's or policy's performance on a given run. Passed as observables to the Runners.

    Presenters (TODO): Objects that display an agent's performance on a given run. Used to make plots and compare agents.

  • Result Reproducibility:

    After creating and evaluating an agent on a given environment, it is possible to persistently save the agent to disk, allowing programmers to load up pre-trained agents and compare them in different scenarios.

    Implemented Agents:

    Planned Agents:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for yaaf, version 0.0.2
Filename, size File type Python version Upload date Hashes
Filename, size yaaf-0.0.2-py3-none-any.whl (25.1 kB) File type Wheel Python version py3 Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page