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
.