Skip to main content

A collection of Reinforcement Learning algorithms to train autonomous agents in different environments.

Project description

EnvQuest

Train and evaluate your autonomous agents in different environments using a collection of RL algorithms.

Installation

To install the EnvQuest library, use pip install envquest.

Usage

Run a simple gym environment

from envquest import envs, agents

# Instantiate an environment
env = envs.gym.make_env("LunarLander-v3")

# Instantiate an agent
agent = agents.simple.RandomAgent(env.observation_space, env.action_space)

# Execute an MDP
timestep = env.reset()

while not timestep.last():
    observation = timestep.observation
    action = agent.act(observation=observation)
    timestep = env.step(action)

# Render the environment
frame = env.render(256, 256)

Train a DQN Agent in a gym environment

First, set up a WandB logging environment

# Install wandb
pip install wandb

# Start a wandb local server
wandb server start

Then, train a DQN agent in a gym's CartPole-v1 environment.

from envquest import arguments, envs, agents, trainers

# Define training arguments
args = arguments.TrainingArguments(
    env=arguments.EnvArguments(task="CartPole-v1"),
    agent=arguments.DQNAgentArguments(), 
    logging=arguments.LoggingArguments(save_agent_snapshots=False)
)

# Instantiate an environment
env = envs.gym.make_env(task=args.env.task, max_episode_length=args.env.max_episode_length)

# Instantiate a DQN Agent
agent = agents.dqn.DiscreteQNetAgent(
    mem_capacity=args.agent.mem_capacity,
    discount=args.agent.discount,
    n_steps=args.agent.n_steps,
    lr=args.agent.lr,
    tau=args.agent.tau,
    eps_start=args.agent.eps_start,
    eps_end=args.agent.eps_end,
    eps_step_duration=args.agent.eps_step_duration,
    eps_decay=args.agent.eps_decay,
    observation_space=env.observation_space,
    action_space=env.action_space,
)

# Instantiate a trainer
trainer = trainers.Trainer(env, agent, args)

# Start training
trainer.train()

Track the performances of your agent on wandb: http://localhost:8080/

Examples

See some examples in the examples folder.

Project details


Download files

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

Source Distribution

envquest-0.0.8.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

envquest-0.0.8-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

Details for the file envquest-0.0.8.tar.gz.

File metadata

  • Download URL: envquest-0.0.8.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for envquest-0.0.8.tar.gz
Algorithm Hash digest
SHA256 56bf133ee5ec8206741bc57eb96fbca78d0ae9e13d63bfc9eaca296473a1dea1
MD5 9a33ee94c3eb4f4c2c152bc6f6e198fc
BLAKE2b-256 ff42de54a2f78d9418a5633b57f70c549f22fd5607fbb8640f399402de78cdcb

See more details on using hashes here.

File details

Details for the file envquest-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: envquest-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for envquest-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 26a7d8c6358556c810432f77cb8b5120b1dbf8a3457778100930884c3860f6e4
MD5 a318cea661378950464614bf333651a3
BLAKE2b-256 4721aa056a2fbf84f006601a7d4b83c32832723dba536213aa23f4930f2e99b9

See more details on using hashes here.

Supported by

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