SLM Lab
v4.2.0
v4.2.0
  • SLM Lab
  • 🖥Setup
    • Installation
    • Quick Start
  • 🚀Using SLM Lab
    • Lab Command
    • Lab Organization
    • Train: REINFORCE CartPole
    • Resume and Enjoy: REINFORCE CartPole
    • Agent Spec: DDQN+PER on LunarLander
    • Env Spec: A2C on Pong
    • GPU Usage: PPO on Pong
    • Parallelizing Training: Async SAC on Humanoid
    • Experiment and Search Spec: PPO on Breakout
    • Run Benchmark: A2C on Atari Games
    • Meta Spec: High Level Specifications
    • Post-Hoc Analysis
    • TensorBoard: Visualizing Models and Actions
    • Using SLM Lab In Your Project
  • 📈Analyzing Results
    • Data Locations
    • Graphs and Data
    • Performance Metrics
  • 🥇Benchmark Results
    • Public Benchmark Data
    • Discrete Environment Benchmark
    • Continuous Environment Benchmark
    • Atari Environment Benchmark
    • RL GIFs
  • 🔧Development
    • Modular Design
      • Algorithm Taxonomy
      • Class Inheritance: A2C > PPO
    • Algorithm
      • DQN
      • REINFORCE
      • Actor Critic
    • Memory
      • Replay
      • PrioritizedReplay
      • OnPolicyReplay
      • OnPolicyBatchReplay
    • Net
      • MLP
      • CNN
      • RNN
    • Profiling SLM Lab
  • 📖Publications and Talks
    • Book: Foundations of Deep Reinforcement Learning
    • Talks and Presentations
  • 🤓Resources
    • Deep RL Resources
    • Contributing
    • Motivation
    • Help
    • Contact
Powered by GitBook
On this page
  • Spec Params for A2C on Atari Games
  • Running A2C Atari Benchmark

Was this helpful?

  1. 🚀Using SLM Lab

Run Benchmark: A2C on Atari Games

PreviousExperiment and Search Spec: PPO on BreakoutNextMeta Spec: High Level Specifications

Last updated 5 years ago

Was this helpful?

Spec Params for A2C on Atari Games

Benchmark results for an algorithm requires running it for a number of environments. This can easily be done in SLM Lab by parametrizing the spec file, which is similar to how it was done in . Running benchmark in SLM Lab is easy by using spec_params in the spec file, which uses .

Let's run a benchmark for A2C on 4 Atari environments. We can look at an example spec from

slm_lab/spec/benchmark/a2c/a2c_gae_atari.json
{
  "a2c_gae_atari": {
    "agent": [{
      "name": "A2C",
      "algorithm": {
        "name": "ActorCritic",
        ...
      },
      ...
      }
    }],
    "env": [{
      "name": "${env}",
      "frame_op": "concat",
      "frame_op_len": 4,
      "reward_scale": "sign",
      "num_envs": 16,
      "max_t": null,
      "max_frame": 1e7
    }],
    ...
    "spec_params": {
      "env": [
        "BreakoutNoFrameskip-v4", "PongNoFrameskip-v4", "QbertNoFrameskip-v4", "SeaquestNoFrameskip-v4"
      ]
    }
  }
}

Spec param uses template string replacement to modify the spec and append to the spec name. Replace the value of the environment name with "${env}".

This benchmark will run 4 trials in total. The command to run it is familiar:

python run_lab.py slm_lab/spec/benchmark/a2c/a2c_gae_atari.json a2c_gae_atari train

The spec name will be replaced with each value of the spec param, so the resulting trials will be named "a2c_gae_atari_BreakoutNoFrameskip-v4", "a2c_gae_atari_PongNoFrameskip-v4", "a2c_gae_atari_QbertNoFrameskip-v4", and "a2c_gae_atari_SeaquestNoFrameskip-v4".

Refer to the following pages for benchmark results in SLM Lab.

Running A2C Atari Benchmark

All the SLM Lab benchmark results are run from files in .

🚀
✍️
Experiment and Search Spec: PPO on Breakout
the same underlying function as experiment search
slm_lab/spec/benchmark/a2c/a2c_gae_atari.json
slm_lab/spec/benchmark/
Discrete Environment Benchmark
Continuous Environment Benchmark
Atari Environment Benchmark