from pathlib import Path from hydra import compose, initialize_config_dir from hydra.core.global_hydra import GlobalHydra from src.demo.config import load_typed_root_config from src.demo.infer_single_image import INFERENCE_HEIGHT, INFERENCE_WIDTH def _load_experiment(name: str): config_dir = Path(__file__).resolve().parents[1] / "config" GlobalHydra.instance().clear() with initialize_config_dir(config_dir=str(config_dir), version_base=None): cfg = compose(config_name="inference", overrides=[f"+experiment={name}"]) return cfg, load_typed_root_config(cfg) def test_rgb_experiment_loads() -> None: cfg_dict, cfg = _load_experiment("infinisplat_hypersim_rgb") assert "demo" not in cfg_dict assert "tile_size" not in cfg_dict.model.decoder assert "view_chunk_size" not in cfg_dict.model.decoder assert "image_backbone" not in cfg_dict.model.encoder decoder_cfg = cfg_dict.model.encoder.gaussian_decoder assert "color_space" not in decoder_cfg assert "color_activation_type" not in decoder_cfg assert "opacity_activation_type" not in decoder_cfg assert "base_scale_on_predicted_mean" not in decoder_cfg assert "normalize_depth" not in decoder_cfg assert "surface_aligned_covariance" not in decoder_cfg assert cfg.model.encoder.name == "infinisplat" def test_lidar_experiment_loads() -> None: cfg_dict, cfg = _load_experiment("infinisplat_hypersim_lidar") assert "demo" not in cfg_dict assert "image_backbone" not in cfg_dict.model.encoder decoder_cfg = cfg_dict.model.encoder.gaussian_decoder assert "color_space" not in decoder_cfg assert "color_activation_type" not in decoder_cfg assert "opacity_activation_type" not in decoder_cfg assert "base_scale_on_predicted_mean" not in decoder_cfg assert "normalize_depth" not in decoder_cfg assert "surface_aligned_covariance" not in decoder_cfg assert cfg.model.encoder.name == "infinisplat_infinidepth" def test_inference_resolution_is_hardcoded() -> None: assert (INFERENCE_HEIGHT, INFERENCE_WIDTH) == (1152, 1536)