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.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

yaaf-0.0.1-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

File details

Details for the file yaaf-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: yaaf-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 25.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.8

File hashes

Hashes for yaaf-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7c66c7ae1e6992635dbd3eb181f63eddea30f954cb732e8fa50aca405f7af395
MD5 d6140c146b2ae12e4efc00c9c582605a
BLAKE2b-256 14236062d61a260a214709bb230ccc873153ee4dfde5ff40b3cc7901459e2f88

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page