Comments (3)
It would be nice to support a consistent convention for this. Not all environments will be resettable, but for those that are, something like get_state
and set_state
, where get_state
returns a single value and set_state
accepts a single argument would be super nice. There's a whole class of RL algorithms that require state-resettable environments (think MCTS or really anything that looks like tree-search) and it would be nice to support them consistently where possible.
from gymnasium.
Gymnasium environment has no single state variable (some environments do but not all). Therefore, the easier way is to make a pickled version of the environment at each time.
For internal gymnasium environments, we know that it is possible to pickle all environment but this might not be true for third-party environments
You might be interested in the new functional API #25. For a fully implemented version, see the Gymnax project
from gymnasium.
For Mujoco environments there is a function called set_state, which should, in principle, set the status of the simulator.
Gymnasium/gymnasium/envs/mujoco/mujoco_env.py
Line 219 in 7af0936
And in particular, I think if you can keep state.time, qpos, qvel, state.act, and state.udd_state, then you should be able to set the simulator to a desired state.
Gymnasium/gymnasium/envs/mujoco/mujoco_env.py
Line 222 in 7af0936
And if you are using any wrappers, such as TimeLimit, then you will need to keep track of status of the wrappers.
from gymnasium.
Related Issues (20)
- [Bug Report] RecordVideo causing segmentation fault for Mujoco environments HOT 8
- [Proposal] Add metadata field to VectorEnv HOT 1
- Rendering of CartPoleVectorEnv is broken HOT 5
- Rework rendering API to allow for simultaneous "human" and "rgb_array" mode rendering HOT 3
- [Bug Report] Calculating rewards for Blackjack toy-text env HOT 5
- make_vec(...) will raise error "AttributeError: can't set attribute", while vector.make(..) doesn't for customized env HOT 7
- Observation Space, info, implementation and example. HOT 3
- [Question] How to correctly cite gymnasium in a paper HOT 1
- Understanding gymnasium.make() for custom mujoco env's HOT 6
- [Bug Report] Quaternion order incorrect in Ant environment observation HOT 6
- [Bug Report] save_video crashes for `mujoco-py` HOT 21
- [Proposal] Configuring dict spaces for rewards and terminations HOT 7
- How to register a new MuJoCo environment HOT 1
- [Question] Inconsistent documentation about HumanoidStandup-v4
- I use mac to install environment issues HOT 2
- Installation library problems HOT 6
- [Proposal] Add a new extra named "except-mujoco-py" HOT 2
- [Question] Custom dtype in observation space HOT 6
- [Proposal] Remove `mujoco-py` based environments at May 2025 HOT 3
- [Proposal] Uniform API for Getting the Current State (and maybe setting it as well?) for Environments HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gymnasium.