multigrid.wrappers module#

class multigrid.wrappers.FullyObsWrapper[source]#

Bases: ObservationWrapper

Fully observable gridworld using a compact grid encoding instead of agent view.

Examples

>>> import gymnasium as gym
>>> import multigrid.envs
>>> env = gym.make('MultiGrid-Empty-16x16-v0')
>>> obs, _ = env.reset()
>>> obs[0]['image'].shape
(7, 7, 3)
>>> from multigrid.wrappers import FullyObsWrapper
>>> env = FullyObsWrapper(env)
>>> obs, _ = env.reset()
>>> obs[0]['image'].shape
(16, 16, 3)
__init__(env: MultiGridEnv)[source]#
class multigrid.wrappers.OneHotObsWrapper[source]#

Bases: ObservationWrapper

Wrapper to get a one-hot encoding of a partially observable agent view as observation.

Examples

>>> import gymnasium as gym
>>> import multigrid.envs
>>> env = gym.make('MultiGrid-Empty-5x5-v0')
>>> obs, _ = env.reset()
>>> obs[0]['image'][0, :, :]
array([[2, 5, 0],
        [2, 5, 0],
        [2, 5, 0],
        [2, 5, 0],
        [2, 5, 0],
        [2, 5, 0],
        [2, 5, 0]])
>>> from multigrid.wrappers import OneHotObsWrapper
>>> env = OneHotObsWrapper(env)
>>> obs, _ = env.reset()
>>> obs[0]['image'][0, :, :]
array([[0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0],
        [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0],
        [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0],
        [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0],
        [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0],
        [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0],
        [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0]],
        dtype=uint8)
__init__(env: MultiGridEnv)[source]#
class multigrid.wrappers.SingleAgentWrapper[source]#

Bases: Wrapper

Wrapper to convert a multi-agent environment into a single-agent environment.

Examples

>>> import gymnasium as gym
>>> import multigrid.envs
>>> env = gym.make('MultiGrid-Empty-5x5-v0')
>>> obs, _ = env.reset()
>>> obs[0].keys()
dict_keys(['image', 'direction', 'mission'])
>>> from multigrid.wrappers import SingleAgentWrapper
>>> env = SingleAgentWrapper(env)
>>> obs, _ = env.reset()
>>> obs.keys()
dict_keys(['image', 'direction', 'mission'])
__init__(env: MultiGridEnv)[source]#