save_render_checkpoint#
- torchrl.render.save_render_checkpoint(path: str | Path | None, model: Any, *, env_metadata: Mapping[str, Any] | None = None, frames: int | None = None, metrics: Mapping[str, Any] | None = None, config: Mapping[str, Any] | None = None, extra: Mapping[str, Any] | None = None, format: Literal['directory', 'archive'] | None = None) Path | None[source]#
Writes a checkpoint in the layout expected by rlrender factories.
The model weights are stored under the canonical
"model_state_dict"key probed byinfer_state_dict(), andenv_metadataentries are merged at the top level of the payload so environment and policy factories can rebuild the training setup. Conventional environment metadata keys used by the sota-implementations factories are"env_name","env_backend","env_config_overrides","env_num_envs","env_batch_mode","normalize_observation", and"vecnorm"(frozen observation normalization statistics).- Parameters:
path – Destination checkpoint path.
Noneor""disables checkpointing.model – Module exposing
state_dict(), or a ready state-dict mapping.env_metadata – Environment metadata merged into the payload.
frames – Number of training frames collected so far.
metrics – Scalar metrics recorded at checkpoint time.
config – JSON-serializable training configuration.
extra – Additional payload entries merged last.
format – Unified checkpoint container format. When omitted, writes the legacy
torch.save()payload during the compatibility window.
- Returns:
The written checkpoint path, or
Nonewhen checkpointing is disabled.
Examples
>>> import tempfile >>> import torch >>> from torchrl.render import load_checkpoint, save_render_checkpoint >>> module = torch.nn.Linear(2, 2) >>> with tempfile.TemporaryDirectory() as tmpdir: ... path = save_render_checkpoint( ... f"{tmpdir}/policy.pt", ... module, ... env_metadata={"env_name": "CartPole-v1"}, ... format="archive", ... ) ... payload = load_checkpoint(path) >>> payload["env_name"] 'CartPole-v1'