Note

This doc is related to the RLModule API and therefore experimental.

Catalog API#

Basic usage#

Use the following basic API to get a default encoder or action distribution out of Catalog. You can inherit from Catalog and modify the following methods to directly inject custom components into a given RLModule. Algorithm-specific implementations of Catalog have additional methods, for example, for building heads.

Catalog(observation_space, action_space, ...)

Describes the sub-modules architectures to be used in RLModules.

Catalog.build_encoder(framework)

Builds the encoder.

Catalog.get_action_dist_cls(framework)

Get the action distribution class.

Catalog.get_preprocessor(observation_space, ...)

Returns a suitable preprocessor for the given observation space.

Advanced usage#

The following methods are used internally by the Catalog to build the default models.

Catalog.latent_dims

Returns the latent dimensions of the encoder.

Catalog.__post_init__()

Post-init hook for subclasses to override.

Catalog.get_encoder_config(...[, ...])

Returns an EncoderConfig for the given input_space and model_config_dict.

Catalog.get_tokenizer_config(space, ...)

Returns a tokenizer config for the given space.