This tutorial, a complement to tutorial 10, covers the process of running rllab experients on an Amazon EC2 instance. This tutorial assumes rllab has been installed correctly (instructions).
First, follow the rllab cluster setup instructions with region us-west-1
. Modify rllab/config_personal.py
to reference the most current Flow Docker image (at the time of this writing, evinitsky/flow
). [@fangyu is this true?]
Navigate to your flow
directory and modify Makefile.template
per the instructions in that file. The variable RLLABDIR
should be the relative path from your flow
directory to rllab
and should not have a backslash at the end.
When running AWS experiments, your entire rllab
directory is uploaded to AWS so that the files necessary for your experiment are available to the EC2 instance. Thus, commands are included to copy over your flow
directory to your rllab
root directory (this is the reason for the RLLABDIR
variable above).
make prepare
from your flow
directory.flow
directory, because that instance is what will be used to run your experiment. Upon visualization, the same files will need to be used—for example, changes to environment's state-space would break the ability to run a trained policy using a different state space. Check out an old commit of your flow
directory and run make prepare
to use visualization tools included with rllab.make clean
removes the debug directory and also all XML files in rllab root directory to reduce the size of the data to upload to AWS. If you are using already-existing network files (from, say, OpenStreetMap), ensure they do not get deleted by make clean
by storing such files elsewhere.
Inside the experiment, change the mode
to ec2
(other options are local
and local_docker
). You should run the experiment in local_docker
mode briefly before running the ec2
version to ensure there are no errors, particularly with Docker image compatability
After running python example.py
once the mode
of example.py
is ec2
, you should see your experiment running on AWS.