Spaces:
Running on L40S
Running on L40S
| # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. | |
| # SPDX-License-Identifier: OpenMDW-1.1 | |
| from cosmos_framework.model._base import ImaginaireModel | |
| from cosmos_framework.utils.callback import Callback | |
| class LoadPretrained(Callback): | |
| """Load HF understanding-pathway weights after DCP resume, gated by checkpoint state. | |
| Decision table (config flags are *intent*; the runtime probes here decide): | |
| * Latest checkpoint exists in load dir → DCP loaded the full model. Skip HF load. | |
| * No latest checkpoint, ``load_path`` set → DCP loaded full model from warm-start. | |
| Reload HF understanding pathway (e.g. swap Qwen3-VL → Cosmos-Reason) but skip | |
| the understanding→generation copy. | |
| * Neither → fresh init: full HF load + understanding→generation copy. | |
| Reads ``self.config.checkpoint`` / ``self.config.job`` (injected by | |
| ``CallBackGroup`` after instantiate) to build a probe checkpointer. | |
| """ | |
| def on_train_start(self, model: ImaginaireModel, iteration: int = 0) -> None: | |
| from cosmos_framework.checkpoint.dcp import DistributedCheckpointer | |
| probe = DistributedCheckpointer(self.config.checkpoint, self.config.job, callbacks=None, disable_async=True) | |
| model.load_pretrained_model_if_needed( | |
| has_resumable_checkpoint=probe.has_resumable_checkpoint(), | |
| has_load_path=probe.load_path is not None, | |
| ) | |