# ConcatModelBuilder¶

class maze.perception.builders.concat.ConcatModelBuilder(modality_config: Dict[str, Union[str, Dict[str, Any]]], observation_modality_mapping: Dict[str, str], shared_embedding_keys: Optional[Union[List[str], Dict[str, List[str]]]])

A model builder that first processes individual observations, concatenates the resulting latent spaces and then processes this concatenated output to action and value outputs.

Each input observation is first processed with the specified perception block. The required feature dimensionality after this step is 1D! In a next step the latent representations of the previous step are concatenated along the last dimension and once more processed with a DenseBlock.

Parameters
• modality_config – dictionary mapping perception modalities to blocks and block config parameters.

• observation_modality_mapping – A mapping of observation keys to perception modalities.

• shared_embedding_keys – The shared embedding keys to use as an input to the critic network where the value can be one of the following: - None, empty list or dict of empty lists: No shared embeddings are used. - A list of str values: The shared embedding keys to use for creating the critic network in each substep (the same keys). - A dict of lists: Here the keys have to refer to the step-keys of the environment, the corresponding lists specify the input keys to the critic network in this step.

from_observation_space(observation_space: gym.spaces.Dict)maze.perception.blocks.inference.InferenceBlock

(overrides BaseModelBuilder)

implementation of BaseModelBuilder interface