lidarverse / diffusion /training /module /vae_utils.py
multimodalart's picture
multimodalart HF Staff
LidarVerse Stage-3 world generation demo
af8bc9f verified
Raw History Blame Contribute Delete
2.3 kB
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
"""Build the public tokenizer architecture from its experiment config."""
import importlib
from copy import deepcopy
from omegaconf import DictConfig
from tokenizer.training.configs.base.nets.lidarverse import (
LIDARVERSE_TOKENIZER_CONFIG,
PAI_TOKENIZER_NAME,
)
from utils.lazy_config import instantiate
def build_vae_from_tokenizer_experiment(experiment_name: str, **overrides):
"""Instantiate a tokenizer network without loading checkpoint weights."""
if experiment_name == PAI_TOKENIZER_NAME:
# The PAI expert has the same GridRoPE architecture, different weights.
network = deepcopy(LIDARVERSE_TOKENIZER_CONFIG)
network.activation_checkpointing = False
network.update(overrides)
return instantiate(network)
module = importlib.import_module(
f"tokenizer.training.configs.experiments.{experiment_name}"
)
experiment = getattr(module, "config", None)
if not isinstance(experiment, DictConfig):
experiment = next(
(
value
for value in vars(module).values()
if isinstance(value, DictConfig) and "defaults" in value
),
None,
)
if experiment is None:
raise ValueError(
f"Tokenizer experiment {experiment_name!r} has no config"
)
network_name = None
for entry in experiment["defaults"]:
try:
network_name = entry["override /network"]
except (KeyError, TypeError):
continue
break
if network_name != "lidarverse_tokenizer":
raise ValueError(
f"Unsupported public tokenizer network: {network_name!r}"
)
network = deepcopy(LIDARVERSE_TOKENIZER_CONFIG)
try:
experiment_overrides = experiment["model"]["config"]["network"]
except (KeyError, TypeError):
experiment_overrides = None
if isinstance(experiment_overrides, DictConfig):
for key in experiment_overrides:
network[key] = experiment_overrides[key]
for key, value in overrides.items():
network[key] = value
return instantiate(network)