Multitasking mujoco version incompatibility
Dear Nicklas,
Thank you for open-sourcing and maintaining the codebase of this great work!
I am having trouble understanding how multitask evaluation/training works now: If I understand correctly from the environment.yaml file, DMC requires mujoco version 3.1.2, while Metaworld requires gym 0.21.0, and in turn mujoco 2.3.1. Is this correct? How could I have the two domains working together? Running evaluation.py suggests that we need both DMC and metaworld working simutaneously.
Am I missing something? Thank you very much for answering!
Bests, Yongxi
Hi @yongxic97, thanks for your interest! You're right about this. Unfortunately it is becoming increasingly difficult to support older versions of gym (and by extension metaworld) so we had to upgrade eventually. I believe commit 6117bc427d5a7ec8a5171a0b9607703ce2c75145 is the one that transitioned from gym to gymnasium so if you use a commit prior to that you should be able to run both domains simultaneously. Newer commits introduce rather substantial speedups in offline training but the training itself should be comparable :-)
Hi Nicklas, Thanks a lot for the quick response! Yes this resolves my concern. Checking out to commits prior to https://github.com/nicklashansen/tdmpc2/commit/6117bc427d5a7ec8a5171a0b9607703ce2c75145 indeed should work, and is exactly what I want. I will try testing that.
If my understanding is correct, the current main branch does not trivially support the meta RL (multi-domain) experiments as shown in your paper. So, considering the interest of meta RL people to this work, is it a good idea to you to indicate the compatible package versions in another yaml file as well as the readme, making it clearer to people when they want to try multi-tasking? This should make the codebase easier to use out-of-the-shelf. If it suits you I could create a pull request after testing it out!
Thanks again for answering!
Yea that's a valid point! One solution could be to just update the readme with a note on compatibility and a link to a backwards-compatible commit. A separate yaml file would not be sufficient since we had to migrate from gym to gymnasium entirely which also changes the environment API.