overrides#

classmethod AlgorithmConfig.overrides(**kwargs: Any)[source]#

Generates and validates a set of config key/value pairs (passed via kwargs).

Validation whether given config keys are valid is done immediately upon construction (by comparing against the properties of a default AlgorithmConfig object of this class). Allows combination with a full AlgorithmConfig object to yield a new AlgorithmConfig object.

Used anywhere, we would like to enable the user to only define a few config settings that would change with respect to some main config, e.g. in multi-agent setups and evaluation configs.

Examples

>>> from ray.rllib.algorithms.ppo import PPOConfig
>>> from ray.rllib.policy.policy import PolicySpec
>>> config = (
...     PPOConfig()
...     .multi_agent(
...         policies={
...             "pol0": PolicySpec(config=PPOConfig.overrides(lambda_=0.95))
...         },
...     )
... )
>>> from ray.rllib.algorithms.algorithm_config import AlgorithmConfig
>>> from ray.rllib.algorithms.ppo import PPOConfig
>>> config = (
...     PPOConfig()
...     .evaluation(
...         evaluation_num_env_runners=1,
...         evaluation_interval=1,
...         evaluation_config=AlgorithmConfig.overrides(explore=False),
...     )
... )
Parameters:

**kwargs (Any) – Config property-name/value pairs to override. Each key must name an existing property of a default AlgorithmConfig object of cls (special keys, such as “lambda”, are translated).

Returns:

A dict mapping valid config property-names to values.

Raises:

KeyError – In case a non-existing property name (kwargs key) is being passed in. Valid property names are taken from a default AlgorithmConfig object of cls.