Skip to content

nnaisense/evotorch-myosuite-starter

Repository files navigation

EvoTorch Baseline for Myosuite Challenge

This repository contains resources implementing an EvoTorch baseline for the Myosuite Challenge.

Table of Contents

Installation

The easiest way to use these resources is to have conda installed. Then you can run:

git clone https://github.com/nnaisense/evotorch-myosuite-starter
cd evotorch-myosuite-starter
conda env create -f env.yml
conda activate myosuite-challenge
jupyter notebook

Training

To begin training, open train.ipynb and step through the existing code blocks. This will train a neural net controller for the Baoding challenge using the PGPE algorithm with the ClipUp optimizer. On a 60 CPU core machine, this will take about 96 hours. The network has a slightly custom architecture that you can find in policy.py. From here you can easily start customizing the policy, reward function, learning algorithm or optimizer.

When we ran this notebook, we obtained the training curve below:

Training curve for boading

Pre-trained Policy

This repository includes a pre-trained policy in the file agent/policies/learned_policy_boading.pkl that obtains a score of 0.62 on the leaderboard. To visualize the behavior of this policy, see the next section.

Visualization

To visualize, you need a policy learned_policy_boading.pkl in agent/policies. We've already provided a pre-trained agent, but by following the instructions for training above, this will now contain your new trained agent. Simply open visualize.ipynb and step through the existing code blocks to visualize the learned behaviours and get estimations of performance metrics.

Submission

To submit, follow the instructions at https://github.com/ET-BE/myoChallengeEval. We've provided a modified agent/ folder which you can copy into the submission directory, overriding any existing files that it replaces. Then you should be able to follow the submission instructoins as normal and submit your learned agent!

While following the instructions for submission, we recommend that you create a new conda environment to avoid mixing dependencies:

conda deactivate
conda create -n myosuite-submit
conda activate myosuite-submit
...

Contact Us

If you have any questions or need any help, feel free to join our slack!

Authors

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published