Skip to content

microsoft/PLEX-Metaworld

Repository files navigation

PLEX-Metaworld

PLEX-Metaworld is a version of a flavor of Meta-World v2 that was used in the experiments of the PLEX architecture paper and is installed as a dependency of PLEX. PLEX-Metaworld was created by forking the original Meta-World at commit a0009ed. PLEX-Metaworld's main difference from the original Meta-World is a wrapper for Meta-World tasks that returns pixel observations, proprioceptive states and, optionally, depth maps as observations.

For more background information on Meta-World, please refer to the Meta-World website and the accompanying conference publication.

Table of Contents

Installation

Meta-World is based on MuJoCo, which has a proprietary dependency we can't set up for you. Please follow the instructions in the mujoco-py package for help. Once you're ready to install everything, run:

pip install metaworld@git+https://github.com/microsoft/PLEX-MetaWorld

Alternatively, you can clone the repository and install an editable version locally:

git clone https://github.com/microsoft/PLEX-MetaWorld.git
cd metaworld
pip install -e .

Using PLEX-Metaworld

Seeding a benchmark instance

For the purposes of reproducibility, it may be important to you to seed your benchmark instance. You can do so in the following way:

import metaworld

SEED = 0  # some seed number here
benchmark = metaworld.BENCHMARK(seed=SEED)

Constructing a single-task PLEX-Metaworld environment

See the metaworld.mw_gym_make(.) method. For an example of how to use it, see the data/training_data_gen.py script.

Recording demonstrations from a scripted policy for a given PLEX-Metaworld task

See the data/training_data_gen.py script.

Acknowledgements

The original Meta-World was a work by Tianhe Yu (Stanford University), Deirdre Quillen (UC Berkeley), Zhanpeng He (Columbia University), Ryan Julian (University of Southern California), Karol Hausman (Google AI), Chelsea Finn (Stanford University) and Sergey Levine (UC Berkeley). Currently, the canonical Meta-World version is maintained by Farama Foundation.

In turn, the code for Meta-World was originally based on multiworld, which is developed by Vitchyr H. Pong, Murtaza Dalal, Ashvin Nair, Shikhar Bahl, Steven Lin, Soroush Nasiriany, Kristian Hartikainen and Coline Devin. The Meta-World authors are grateful for their efforts on providing such a great framework as a foundation of our work. We also would like to thank Russell Mendonca for his work on reward functions for some of the environments.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published