mapvggt / mapgs /data /__init__.py
ChenmingWu's picture
Upload folder using huggingface_hub
b2efbe4 verified
Raw
History Blame Contribute Delete
1.88 kB
from mapgs.data.types import MapGSSample, collate_samples
from mapgs.data.scene import generate_scene, ProceduralScene, MapNoise
from mapgs.data.synthetic import (
SyntheticDataset,
render_scene_gt,
render_deviated_gt,
place_dynamic_gt,
)
from mapgs.data.real import (
RawClip,
raw_to_sample,
BaseDrivingDataset,
WaymoDataset,
NuScenesDataset,
Argoverse2Dataset,
)
from mapgs.data.unified import UnifiedClipDataset, write_unified_clip, UNIFIED_VERSION
__all__ = [
"MapGSSample",
"collate_samples",
"generate_scene",
"ProceduralScene",
"MapNoise",
"SyntheticDataset",
"render_scene_gt",
"render_deviated_gt",
"place_dynamic_gt",
"RawClip",
"raw_to_sample",
"BaseDrivingDataset",
"WaymoDataset",
"NuScenesDataset",
"Argoverse2Dataset",
"UnifiedClipDataset",
"write_unified_clip",
"UNIFIED_VERSION",
]
def build_dataset(cfg, split: str = "train", **kwargs):
"""Factory: dispatch on ``cfg.data.name``.
For ``unified`` (the recommended path for real Waymo+AV2 training), set
``cfg.data.root`` to one or more unified roots (comma-separated to train on a
mix, e.g. ``"data/unified/waymo,data/unified/av2"``).
"""
name = cfg.data.name.lower()
if name == "synthetic":
return SyntheticDataset(cfg, split=split, **kwargs)
if name == "unified":
roots = [r.strip() for r in cfg.data.root.split(",") if r.strip()]
return UnifiedClipDataset(cfg, roots=roots, split=split, **kwargs)
if name == "waymo":
return WaymoDataset(cfg, split=split, **kwargs)
if name == "nuscenes":
return NuScenesDataset(cfg, split=split, **kwargs)
if name in ("argoverse", "argoverse2", "av2"):
return Argoverse2Dataset(cfg, split=split, **kwargs)
raise ValueError(f"unknown dataset {cfg.data.name!r}")