Download tests/test_capture.py from jyliuAI/diffusion_baseline: direct link, hf CLI and curl.
- Browser
- Download file 3.82 kB
-
https://huggingface.co/jyliuAI/diffusion_baseline/resolve/main/tests/test_capture.py
- Command line
-
hf download hf://jyliuAI/diffusion_baseline/tests/test_capture.py
-
curl -L -o test_capture.py https://huggingface.co/jyliuAI/diffusion_baseline/resolve/main/tests/test_capture.py
3.82 kB
| import json | |
| from pathlib import Path | |
| import sys | |
| from types import SimpleNamespace | |
| from types import ModuleType | |
| import dlb.adapters.capture as capture_module | |
| def test_load_entrypoint_registers_module_for_hydra_relative_configs( | |
| tmp_path: Path, | |
| ) -> None: | |
| """Catch Hydra entrypoints losing module metadata for relative config paths.""" | |
| entrypoint = tmp_path / "main.py" | |
| entrypoint.write_text( | |
| """ | |
| import sys | |
| MODULE_FILE_AT_IMPORT = getattr(sys.modules.get(__name__), "__file__", None) | |
| def main(): | |
| pass | |
| """, | |
| encoding="utf-8", | |
| ) | |
| try: | |
| module = capture_module._load_entrypoint(entrypoint) | |
| finally: | |
| sys.modules.pop("dlb_pinned_upstream_main", None) | |
| assert Path(module.MODULE_FILE_AT_IMPORT) == entrypoint | |
| def test_run_main_points_hydra_at_sibling_config_directory(tmp_path: Path) -> None: | |
| """Catch dynamic imports making Hydra treat sibling configs as a missing package.""" | |
| entrypoint = tmp_path / "main.py" | |
| config_dir = tmp_path / "configs" | |
| config_dir.mkdir() | |
| entrypoint.write_text("# fixture\n", encoding="utf-8") | |
| observed: dict[str, list[str]] = {} | |
| module = ModuleType("fixture_upstream") | |
| def main() -> None: | |
| observed["argv"] = list(sys.argv) | |
| module.main = main | |
| capture_module._run_main(module, entrypoint, ["mode=sample_eval"]) | |
| assert observed["argv"] == [ | |
| str(entrypoint), | |
| f"--config-path={config_dir.resolve()}", | |
| "mode=sample_eval", | |
| ] | |
| def test_teacher_capture_accepts_upstream_python_list_samples(tmp_path: Path) -> None: | |
| """Catch FLM restore_model_and_sample returning list rows instead of a tensor.""" | |
| class Tokenizer: | |
| def batch_decode(self, rows): | |
| assert rows == [[1, 2], [3, 4]] | |
| return ["one", "two"] | |
| class TrainerBase: | |
| tokenizer = Tokenizer() | |
| def restore_model_and_sample(self): | |
| return [[1, 2], [3, 4]] | |
| module = ModuleType("fixture_teacher") | |
| module.algo = SimpleNamespace( | |
| trainer_base=SimpleNamespace(TrainerBase=TrainerBase) | |
| ) | |
| module.main = lambda: TrainerBase().restore_model_and_sample() | |
| capture_path = tmp_path / "capture.json" | |
| invocation = capture_module.CaptureInvocation( | |
| entrypoint=tmp_path / "main.py", | |
| capture_path=capture_path, | |
| ) | |
| capture_module._capture_teacher(module, invocation, []) | |
| assert json.loads(capture_path.read_text(encoding="utf-8")) == { | |
| "samples": [ | |
| {"sample_id": 0, "text": "one", "token_ids": [1, 2]}, | |
| {"sample_id": 1, "text": "two", "token_ids": [3, 4]}, | |
| ], | |
| "schema": "dlb-upstream-token-capture-v1", | |
| } | |
| def test_hf_masked_lm_capture_adapter_translates_duo_backbone_keywords( | |
| monkeypatch, | |
| ) -> None: | |
| """Catch HF OWT checkpoints receiving the upstream x/sigma call contract.""" | |
| calls = [] | |
| class Output: | |
| logits = "logits" | |
| class HuggingFaceBackbone: | |
| def forward(self, input_ids, timesteps): | |
| calls.append((input_ids, timesteps)) | |
| return Output() | |
| class AutoModelForMaskedLM: | |
| def from_pretrained(path): | |
| return HuggingFaceBackbone() | |
| fake_transformers = SimpleNamespace(AutoModelForMaskedLM=AutoModelForMaskedLM) | |
| monkeypatch.setitem(sys.modules, "transformers", fake_transformers) | |
| with capture_module._patched_hf_masked_lm_backbone(): | |
| backbone = fake_transformers.AutoModelForMaskedLM.from_pretrained("checkpoint") | |
| output = backbone(x="tokens", sigma="times", class_cond=None, weights=None) | |
| assert output == "logits" | |
| assert calls == [("tokens", "times")] | |
| restored = fake_transformers.AutoModelForMaskedLM.from_pretrained("checkpoint") | |
| assert type(restored) is HuggingFaceBackbone | |