Spaces Vector Utils#
- gymnasium.vector.utils.batch_space(space: Space, n: int = 1) Space #
- gymnasium.vector.utils.batch_space(space: Box, n=1)
- gymnasium.vector.utils.batch_space(space: Discrete, n=1)
- gymnasium.vector.utils.batch_space(space: MultiDiscrete, n=1)
- gymnasium.vector.utils.batch_space(space: MultiBinary, n=1)
- gymnasium.vector.utils.batch_space(space: Tuple, n=1)
- gymnasium.vector.utils.batch_space(space: Dict, n=1)
- gymnasium.vector.utils.batch_space(space: Space, n=1)
Create a (batched) space, containing multiple copies of a single space.
Example:
>>> from gymnasium.spaces import Box, Dict >>> space = Dict({ ... 'position': Box(low=0, high=1, shape=(3,), dtype=np.float32), ... 'velocity': Box(low=0, high=1, shape=(2,), dtype=np.float32) ... }) >>> batch_space(space, n=5) Dict(position:Box(5, 3), velocity:Box(5, 2))
- Parameters:
space – Space (e.g. the observation space) for a single environment in the vectorized environment.
n – Number of environments in the vectorized environment.
- Returns:
Space (e.g. the observation space)
- Raises:
ValueError – Cannot batch space that is not a valid
gym.Space
instance
- gymnasium.vector.utils.concatenate(space: Space, items: Iterable, out: Union[tuple, dict, ndarray]) Union[tuple, dict, ndarray] #
- gymnasium.vector.utils.concatenate(space: MultiBinary, items, out)
- gymnasium.vector.utils.concatenate(space: MultiDiscrete, items, out)
- gymnasium.vector.utils.concatenate(space: Discrete, items, out)
- gymnasium.vector.utils.concatenate(space: Box, items, out)
- gymnasium.vector.utils.concatenate(space: Tuple, items, out)
- gymnasium.vector.utils.concatenate(space: Dict, items, out)
- gymnasium.vector.utils.concatenate(space: Space, items, out)
Concatenate multiple samples from space into a single object.
Example:
>>> from gymnasium.spaces import Box >>> space = Box(low=0, high=1, shape=(3,), dtype=np.float32) >>> out = np.zeros((2, 3), dtype=np.float32) >>> items = [space.sample() for _ in range(2)] >>> concatenate(space, items, out) array([[0.6348213 , 0.28607962, 0.60760117], [0.87383074, 0.192658 , 0.2148103 ]], dtype=float32)
- Parameters:
space – Observation space of a single environment in the vectorized environment.
items – Samples to be concatenated.
out – The output object. This object is a (possibly nested) numpy array.
- Returns:
The output object. This object is a (possibly nested)
- Raises:
ValueError – Space is not a valid
gym.Space
instance
- gymnasium.vector.utils.iterate(space: Space, items) Iterator #
- gymnasium.vector.utils.iterate(space: Discrete, items)
- gymnasium.vector.utils.iterate(space: MultiBinary, items)
- gymnasium.vector.utils.iterate(space: MultiDiscrete, items)
- gymnasium.vector.utils.iterate(space: Box, items)
- gymnasium.vector.utils.iterate(space: Tuple, items)
- gymnasium.vector.utils.iterate(space: Dict, items)
- gymnasium.vector.utils.iterate(space: Space, items)
Iterate over the elements of a (batched) space.
Example:
>>> from gymnasium.spaces import Box, Dict >>> space = Dict({ ... 'position': Box(low=0, high=1, shape=(2, 3), dtype=np.float32), ... 'velocity': Box(low=0, high=1, shape=(2, 2), dtype=np.float32)}) >>> items = space.sample() >>> it = iterate(space, items) >>> next(it) {'position': array([-0.99644893, -0.08304597, -0.7238421 ], dtype=float32), 'velocity': array([0.35848552, 0.1533453 ], dtype=float32)} >>> next(it) {'position': array([-0.67958736, -0.49076623, 0.38661423], dtype=float32), 'velocity': array([0.7975036 , 0.93317133], dtype=float32)} >>> next(it) StopIteration
- Parameters:
space – Space to which items belong to.
items – Items to be iterated over.
- Returns:
Iterator over the elements in `items`.
- Raises:
ValueError – Space is not an instance of
gym.Space