You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OpenAI maintains a python binding to the MuJoCo physics engine called mujoco-py. This library is a major dependency to rllab. Currently rllab uses an old, custom version of mujoco-py (0.5.7). This was done to avoid fixing small API changes between version upgrades to mujoco-py, but has also lead to rllab drifting away from the latest mujoco-py API and features.
This task is to add the latest version of mujoco-py to the rllab conda environment, and eliminate the older custom version (rllab.mujoco_py). We would also like to eliminate the special setup step of copying binaries to the vendor/mujoco directory (see rllab/scripts/setup_mujoco.py), and instead just use MuJoCo in its default install location (which is ~/.mujoco). There are breaking API changes from 0.5.7 to 1.5+, so this will require some refactoring and thorough testing.
Consider this a professional software engineering task, and provide a high-quality solution which does not break existing users, minimizes change, and is stable. It is your responsibility to ensure that your changes work for all rllab use cases, and install and work seamlessly from a clean system image. Test thoroughly and provide evidence of your testing (actual unit tests in tests/ are best, but not required). You must update all parts of the rllab codebase affected by your change. Please always use PEP8 style in your code, and format it using YAPF (with the PEP8 setting). Submit your pull request against the master branch of this repository.
Some notes:
For MuJoCo you will need a freely-available personal license from the MuJoCo website. You should apply for one right away, since it takes a couple of days to get approved.
Environments which use MuJoCo can be found in rllab/envs/mujoco. There is also a unit test in tests/envs/test_envs.py, but it should not be considered a complete test.
There are a couple bug fix commits (3ae055a and 6b7f6fb) on my private fork which get around flaws in mujoco-py 0.5.7. You should investigate and conclude whether these are still necessary with the new version.
You can find examples of how to launch rllab in examples and sandbox/rocky/tf/launchers. Note that everything must run using the run_experiment_lite wrapper with n_parallel > 1, which can change the execution behavior slightly. Test thoroughly and provide ei
rllab currently has two parallel implementation of the neural network portions of the library. The original is written in Theano and is found in rllab/. The tree sandbox/rocky/tf re-implements classes from the original tree using TensorFlow, and is backwards-compatible with the Theano tree. We are working towards using only one NN library soon, but for now your implementation needs to work in both trees.
rllab is an upstream dependency to many projects, so it is important we do not break the existing APIs. Adding to APIs is fine as long as there is a good reason.
The text was updated successfully, but these errors were encountered:
OpenAI maintains a python binding to the MuJoCo physics engine called mujoco-py. This library is a major dependency to rllab. Currently rllab uses an old, custom version of mujoco-py (0.5.7). This was done to avoid fixing small API changes between version upgrades to mujoco-py, but has also lead to rllab drifting away from the latest mujoco-py API and features.
This task is to add the latest version of
mujoco-py
to the rllabconda
environment, and eliminate the older custom version (rllab.mujoco_py
). We would also like to eliminate the special setup step of copying binaries to thevendor/mujoco
directory (seerllab/scripts/setup_mujoco.py
), and instead just use MuJoCo in its default install location (which is ~/.mujoco). There are breaking API changes from 0.5.7 to 1.5+, so this will require some refactoring and thorough testing.Consider this a professional software engineering task, and provide a high-quality solution which does not break existing users, minimizes change, and is stable. It is your responsibility to ensure that your changes work for all rllab use cases, and install and work seamlessly from a clean system image. Test thoroughly and provide evidence of your testing (actual unit tests in
tests/
are best, but not required). You must update all parts of the rllab codebase affected by your change. Please always use PEP8 style in your code, and format it using YAPF (with the PEP8 setting). Submit your pull request against themaster
branch of this repository.Some notes:
rllab/envs/mujoco
. There is also a unit test intests/envs/test_envs.py
, but it should not be considered a complete test.run_experiment_lite
wrapper withn_parallel
> 1, which can change the execution behavior slightly. Test thoroughly and provide eirllab/
. The treesandbox/rocky/tf
re-implements classes from the original tree using TensorFlow, and is backwards-compatible with the Theano tree. We are working towards using only one NN library soon, but for now your implementation needs to work in both trees.The text was updated successfully, but these errors were encountered: