Skip to content

Code for the paper "Evolution Strategies as a Scalable Alternative to Reinforcement Learning"

License

Notifications You must be signed in to change notification settings

BlockWaving/evolution-strategies-starter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Status: Archive (code is provided as-is, no updates expected)

Distributed evolution

This is a distributed implementation of the algorithm described in Evolution Strategies as a Scalable Alternative to Reinforcement Learning (Tim Salimans, Jonathan Ho, Xi Chen, Ilya Sutskever).

The implementation here uses a master-worker architecture: at each iteration, the master broadcasts parameters to the workers, and the workers send returns back to the master. The humanoid scaling experiment in the paper was generated with an implementation similar to this one.

The code here runs on EC2, so you need an AWS account. It's resilient to worker termination, so it's safe to run the workers on spot instances.

Instructions

Build AMI

The humanoid experiment depends on Mujoco. Provide your own Mujoco license and binary in scripts/dependency.sh.

Install Packer, and then build images by running (you can optionally configure scripts/packer.json to choose build instance or AWS regions)

cd scripts && packer build packer.json

Packer should return you a list of AMI ids, which you should place in AMI_MAP in scripts/launch.py.

Launching

Use scripts/launch.py along with an experiment JSON file. An example JSON file is provided in the configurations directory. You must fill in all command-line arguments to scripts/launch.py.

About

Code for the paper "Evolution Strategies as a Scalable Alternative to Reinforcement Learning"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 94.3%
  • Shell 5.7%