rlightning.utils.config.config¶
Configuration models and utilities for RLightning using Pydantic and OmegaConf.
- class rlightning.utils.config.config.BufferConfig(**data: Any)[source]¶
Bases:
ConfigConfiguration for the data buffer.
- sampler: SamplerConfig | None = None¶
The sampler configuration
- setup_default_sampler = MockModule('pydantic.model_validator')¶
- storage: StorageConfig = MockModule('pydantic.Field')¶
The storage backend configuration
- class rlightning.utils.config.config.ClusterConfig(**data: Any)[source]¶
Bases:
ConfigCluster configuration.
- class PlacementConfig(**data: Any)[source]¶
Bases:
ConfigPlacement configuration for cluster resources.
This is the single source of truth for placement behavior: - mode: auto/manual - strategy: default/disaggregate/colocate - env_strategy: default/device-colocate
- buffer_worker_num: int | Literal['auto'] = 1¶
Number of storage workers for data buffer, auto means automatically determined
- placement: PlacementConfig = MockModule('pydantic.Field')¶
Placement configuration for cluster resources
- ray_address: str = 'auto'¶
The address of the Ray cluster, auto means connecting to an existing cluster
- resource_pool: List[ResourcePoolConfig] | None = None¶
Manual resource pool configuration list
- class rlightning.utils.config.config.Config(**data: Any)[source]¶
Bases:
pydantic.BaseModelA Config class based on Pydantic.
- classmethod from_dict(data: dict) Config[source]¶
Create and validate a config instance from a standard Python dictionary.
- classmethod from_omegaconf(om_cfg: MockModule('omegaconf.DictConfig')) Config[source]¶
Create and validate a config instance from an OmegaConf DictConfig.
- get(name: str, default: Any = None) Any[source]¶
Get the value of a field by name, with an optional default if the field does not exist.
- model_config = MockModule('pydantic.ConfigDict')¶
- class rlightning.utils.config.config.EnvConfig(**data: Any)[source]¶
Bases:
ConfigEnvironment configuration.
- env_kwargs: Config = <rlightning.utils.config.config.Config object>¶
Configuration used to initialize
- num_cpus: int = 1¶
Number of CPUs to allocate for one environment instance, only valid when env is remote
- num_gpus: float = 0.0¶
Number of GPUs to allocate for one environment instance, only valid when env is remote
- sanity_check = MockModule('pydantic.model_validator')¶
- setup_robot_control_mode_for_maniskill = MockModule('pydantic.model_validator')¶
- class rlightning.utils.config.config.LogConfig(**data: Any)[source]¶
Bases:
ConfigLogging configuration. Including experiment manager and logging level.
- mode: Literal['online', 'offline', 'shared', 'disabled', 'cloud', 'local'] | None = None¶
The mode for wandb, online or offline, not work for other backends
- mode_sanity_check_and_setup_local_by_default = MockModule('pydantic.model_validator')¶
- class rlightning.utils.config.config.MainConfig(**data: Any)[source]¶
Bases:
ConfigEntry configuration class.
- buffer: BufferConfig¶
Configuration for the data buffer
- cluster: ClusterConfig | None = None¶
Configuration for the cluster
- convert_single_env_cfg_to_list = MockModule('pydantic.model_validator')¶
- policy: PolicyConfig¶
Configuration for the policy
- train: TrainConfig¶
Configuration for the training process
- class rlightning.utils.config.config.PolicyConfig(**data: Any)[source]¶
Bases:
ConfigPolicy configuration.
- eval_num_gpus: float = 1.0¶
Number of GPUs to allocate for one evaluation policy instance, only valid when eval policy is remote
- rollout_mode: Literal['sync', 'async'] = 'sync'¶
The policy inference concurrency mode, sync or async
- router_type: Literal['simple', 'node_affinity'] = 'simple'¶
Router type for async rollout mode. “simple” uses load balancing, “node_affinity” routes env requests to policies on the same node.
- train_num_gpus: float = 1.0¶
Number of GPUs to allocate for one training policy instance, only valid when train policy is remote
- weight_buffer: WeightBufferConfig = MockModule('pydantic.Field')¶
Configuration for the weight buffer
- class rlightning.utils.config.config.ResourcePoolConfig(**data: Any)[source]¶
Bases:
ConfigManual resource pool definition, typically from cluster/manual.yaml.
Notes: - num_gpus is per-node GPU count (int), or a per-node list for explicit node_ids binding. - component keys like train/eval/env/buffer are allowed as extra fields (strings).
- class rlightning.utils.config.config.SamplerConfig(**data: Any)[source]¶
Bases:
ConfigConfiguration for the sampler.
- class rlightning.utils.config.config.StorageConfig(**data: Any)[source]¶
Bases:
ConfigConfiguration for the storage backend of the buffer.
- mode: Literal['circular', 'fixed'] = 'circular'¶
Storage mode for buffer behavior when capacity is reached
- validate_strategy = MockModule('pydantic.model_validator')¶
- class rlightning.utils.config.config.TrainConfig(**data: Any)[source]¶
Bases:
ConfigTraining configuration.
- parallel: Literal['ddp', None] = None¶
The parallel mode for training, default is None, i.e., no parallel
- setup_default_ckpt_save_dir = MockModule('pydantic.model_validator')¶
- class rlightning.utils.config.config.WeightBufferConfig(**data: Any)[source]¶
Bases:
ConfigConfiguration for the weight buffer.
- buffer_strategy: Literal['None', 'Double', 'Shared', 'Sharded'] = 'Double'¶
The buffer strategy to use
- type: Literal['WeightBuffer', 'CPUWeightBuffer', 'ShardedWeightBuffer'] = 'WeightBuffer'¶
The type of the weight buffer
- validate_strategy = MockModule('pydantic.model_validator')¶
- rlightning.utils.config.config.validate_config_for_placement(config: MainConfig) MainConfig[source]¶
Validate the configuration for placement strategy.