Closed LYK-love closed 6 months ago
Hi @LYK-love, thank you for reporting this issue.
Can you provide us with additional information about the infrastructure you are using? Which SheepRL version are you using?
I also ask you to check the dm_control rendering documentation (https://github.com/google-deepmind/dm_control?tab=readme-ov-file#rendering): do you satisfy the EXT_platform_device
requirement?
Please let us know, thanks.
Hi @LYK-love, thank you for reporting this issue. Can you provide us with additional information about the infrastructure you are using? Which SheepRL version are you using? I also ask you to check the dm_control rendering documentation (https://github.com/google-deepmind/dm_control?tab=readme-ov-file#rendering): do you satisfy the
EXT_platform_device
requirement?Please let us know, thanks.
Sure, I'm using SheepRL 0.4.9. And My GPU is Nvidia 1080Ti, with Driver Version: 545.23.08. I don't think it's an old driver to not support the EXT_platform_device
.
I also tried to change the OpenGL backend to osmesa and glfw, all failed.
Hi @LYK-love, thank you for your patience.
One thing you can try is to set the env.sync_env
parameter to True
. In some cases, the gymnasium.vector.AsyncVectorEnv
has created some issues when using the mujoco environments.
Let me know if works with the SyncVecorEnv, so, by running:
python sheeprl.py exp=dreamer_v3 env=gym env.id=Walker2d-v4 algo.cnn_keys.encoder=[rgb] env.sync_env=True
Thanks.
Thanks! With "env.sync_env=True", I can run both mujoco and dmc tasks. I think it'll be helpful if you add it in your document.
By the way, add some information of me. In the original post, I used a machine with a messed up env. So everything went wrong, including other dreamerv3 codebases on github. The error message is from that time, so it's quite chaotic and there's no need to dig into its reason. After that, I changed to a Google Cloud server with exact the same config( cuda driver, sheeprl version, all python depencies installed, and egl
as OpenGL backend with export $MUJOCO_GL=egl
). And I append env.sync_env=True
to my command, everything works. Since the Google Cloud server is quite vanilla and is a clean environment, I can expect all conmands can be run on any machine as long as you follow the instructions of the repo. If you get any strange error, maybe try a new machine (in case there's sth messed up on your old one) is a good choice.
Yeah, I will add it to the documentation and I will set the env.sync_env=True
as the default configuration for Mujoco environments.
Meanwhile, I investigate the reasons why the gymnasium.vector.AsyncVectorEnv
does not work correctly with Mujoco.
Thanks
My env:
pip install .
libglew2.2
and setMUJOCO_GL=egl
pip install PyOpenGL-accelerate
pip install -e .[dmc]
The command I tried to run:
Output:
I also ran
But got following error: