本技能用于运行 OmniDreams 的四视角(多相机)HDMap→RGB 推理。mv(多视角)运行器会同时展开全部四个 OmniDreams 相机,并带有跨视角注意力。完整指南见 integrations/omnidreams/docs/four_view_inference.md,未在此处覆盖的内容以该文档为准。
一、检查点选择
- omnidreams-mv-2steps-chunk4-loc8-pshuffle-lighttae:默认,速度最快、图像质量最佳,单 GPU。
- omnidreams-mv-2steps-chunk4-loc8-vae-lighttae:控制变体(完整 Wan VAE 编码 + LightTAE 解码),在单 GPU 上提供全 VAE 的 HDMap 控制保真度;图像质量为预览。
- omnidreams-mv-2steps-chunk4-loc8-vae-vae:与控制编码相同,但使用完整 Wan VAE 解码(解码质量更高),为预览版,仅限 4 GPU。 两个 vae-* 变体共用 4view-vae-chunk4 检查点,仅在解码器上不同(LightTAE = 单 GPU;完整 Wan VAE = 4 GPU)。
二、运行方式(使用捆绑示例数据)
先导出环境变量:
export HF_TOKEN=<token>(用于访问 omni-dreams-models)
export OMNI_DREAMS_HF_ORG=<org>(省略则使用默认 nvidia 组织)
然后运行:
PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
uv run flashdreams-run
omnidreams-mv-2steps-chunk4-loc8-pshuffle-lighttae
--example-data True --total-blocks 20
若使用 4 GPU 布局(每个相机一个 rank),在 flashdreams-run 前加上 torchrun --nproc_per_node=4 --no-python。--total-blocks 表示 AR chunks 数量,循环会在 HDMap 长度处自动停止。
三、相机顺序(规范顺序) 需按以下规范顺序以空格分隔提供四个逐相机输入(HDMap 视频 + 首帧): camera_cross_left_120fov camera_cross_right_120fov camera_front_tele_30fov camera_front_wide_120fov --camera-names 默认即此列表,按规范顺序时可省略。模型按名称选择每个视角的学习嵌入(四个相机映射到的视角索引并不连续),因此只有当你以不同顺序提供输入时,才需按匹配顺序传入 --camera-names。
四、关键注意事项
- 环境变量(OMNI_DREAMS_HF_ORG、PYTORCH_CUDA_ALLOC_CONF)在进程/导入启动时读取,需在启动前导出。
- 出现 HF 401/403/404 时,检查 HF_TOKEN 以及 OMNI_DREAMS_HF_ORG 是否与你的访问权限匹配;文件必须存在于 <org>/omni-dreams-models/multi_view/four_camera/ 下。
- pshuffle 与 vae-lighttae 可容纳于单张 80 GB H100;只有 vae-vae 的完整 Wan VAE 解码需要 4 GPU 布局(torchrun --nproc_per_node=4)。单 GPU 出现 OOM 时,降低 --total-blocks 或改用 4 GPU。
- 新增或重命名 runner 后,执行 uv sync 以刷新入口点发现。
五、适用场景与限制 适用于运行、测试、基准评估或配置 4 视角 / 多视角 OmniDreams 推理,以及需要跨视角一致性的 HDMap→RGB 生成任务。限制包括:vae-vae 需 4 GPU,vae-lighttae 图像质量为预览,单 GPU 显存不足需调整 --total-blocks 或改用多卡。其余细节以官方文档为准。