[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-flymin--MagicDrive-V2":3,"tool-flymin--MagicDrive-V2":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",156033,2,"2026-04-14T23:32:00",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":95,"forks":96,"last_commit_at":97,"license":98,"difficulty_score":99,"env_os":100,"env_gpu":101,"env_ram":102,"env_deps":103,"category_tags":114,"github_topics":116,"view_count":32,"oss_zip_url":121,"oss_zip_packed_at":121,"status":17,"created_at":122,"updated_at":123,"faqs":124,"releases":154},7667,"flymin\u002FMagicDrive-V2","MagicDrive-V2","[ICCV 2025] Official implementation of the paper “MagicDrive-V2: High-Resolution Long Video Generation for Autonomous Driving with Adaptive Control”","MagicDrive-V2 是一款专为自动驾驶领域设计的开源视频生成模型，能够创建高分辨率、长时段的街道场景视频。针对现有技术在生成长视频时面临的扩展性不足及控制条件融合困难等痛点，它成功实现了在复杂驾驶场景中生成具备多样 3D 几何结构和多视角一致性的高质量视频。\n\n该工具基于先进的 DiT（Diffusion Transformer）架构，核心亮点在于引入了流匹配（Flow Matching）技术以提升模型扩展能力，并采用渐进式训练策略来应对复杂场景挑战。通过独特的时空条件编码机制，MagicDrive-V2 能对视频生成的空间与时间潜在变量进行精准控制，从而显著提升了生成画面的真实感与连贯性。\n\nMagicDrive-V2 主要面向自动驾驶算法研究人员、计算机视觉开发者以及相关领域的学术探索者。它不仅支持在 nuScenes 数据集上进行训练与推理，后续还将适配 Waymo 数据集，是构建高保真驾驶仿真环境、测试感知算法及合成训练数据的理想选择。目前项目已开放核心代码与部分预训练权重，并在 ICCV 2025 上获得认可，适合希望深入探索可控视频生成技术的专业人士使用。","# MagicDrive-V2\n\n[![arXiv](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FArXiv-2411.13807-b31b1b.svg?style=plastic)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2411.13807) [![web](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWeb-MagicDrive--V2-blue.svg?style=plastic)](https:\u002F\u002Fgaoruiyuan.com\u002Fmagicdrive-v2\u002F) [![license](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fflymin\u002FMagicDrive-V2?style=plastic)](https:\u002F\u002Fgithub.com\u002Fflymin\u002FMagicDrive-V2\u002Fblob\u002Fmain\u002FLICENSE) [![star](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fflymin\u002FMagicDrive-V2)](https:\u002F\u002Fgithub.com\u002Fflymin\u002FMagicDrive-V2) [![Paper](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fhuggingface\u002Fbadges\u002Fresolve\u002Fmain\u002Fpaper-page-sm.svg)](https:\u002F\u002Fhuggingface.co\u002Fpapers\u002F2411.13807) [![Model](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fhuggingface\u002Fbadges\u002Fresolve\u002Fmain\u002Fmodel-on-hf-sm.svg)](https:\u002F\u002Fhuggingface.co\u002Fflymin\u002FMagicDriveDiT-stage3-40k-ft) [![Dataset](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fhuggingface\u002Fbadges\u002Fresolve\u002Fmain\u002Fdataset-on-hf-sm.svg)](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fflymin\u002FMagicDriveDiT-nuScenes-metadata)\n\nThis repository contains the implementation of the paper \n\n> MagicDrive-V2: High-Resolution Long Video Generation for Autonomous Driving with Adaptive Control \u003Cbr>\n> [Ruiyuan Gao](https:\u002F\u002Fgaoruiyuan.com\u002F)\u003Csup>1\u003C\u002Fsup>, [Kai Chen](https:\u002F\u002Fkaichen1998.github.io\u002F)\u003Csup>2\u003C\u002Fsup>, [Bo Xiao](https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fbo-xiao-19909955\u002F?originalSubdomain=ie)\u003Csup>3\u003C\u002Fsup>, [Lanqing Hong](https:\u002F\u002Fscholar.google.com.sg\u002Fcitations?user=2p7x6OUAAAAJ&hl=en)\u003Csup>4\u003C\u002Fsup>, [Zhenguo Li](https:\u002F\u002Fscholar.google.com\u002Fcitations?user=XboZC1AAAAAJ&hl=en)\u003Csup>4\u003C\u002Fsup>, [Qiang Xu](https:\u002F\u002Fcure-lab.github.io\u002F)\u003Csup>1\u003C\u002Fsup>\u003Cbr>\n> \u003Csup>1\u003C\u002Fsup>CUHK \u003Csup>2\u003C\u002Fsup>HKUST \u003Csup>3\u003C\u002Fsup>Huawei Cloud \u003Csup>4\u003C\u002Fsup>Huawei Noah's Ark Lab \u003Cbr>\n\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F4c915eca-6583-422e-9a1a-1eebb9379ff4\n\n\n## Abstract\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>TL; DR\u003C\u002Fb> MagicDrive-V2 generates high-resolution and long videos for street-view with diverse 3D geometry control and multiview consistency.\u003C\u002Fsummary>\n\nThe rapid advancement of diffusion models has greatly improved video synthesis, especially in controllable video generation, which is essential for applications like autonomous driving. However, existing methods are limited by scalability and how control conditions are integrated, failing to meet the needs for high-resolution and long videos for autonomous driving applications. In this paper, we introduce MagicDrive-V2, a novel approach based on the DiT architecture, and tackle these challenges. Our method enhances scalability through flow matching and employs a progressive training strategy to manage complex scenarios. By incorporating spatial-temporal conditional encoding, MagicDrive-V2 achieves precise control over spatial-temporal latents. Comprehensive experiments show its superior performance in generating realistic street scene videos with higher resolution and more frames. MagicDrive-V2 significantly improves video generation quality and spatial-temporal controls, expanding its potential applications across various tasks in autonomous driving.\n\n\u003C\u002Fdetails>\n\n## News\n- [2025\u002F06\u002F26] MagicDrive-V2 is accepted by ICCV 2025 :tada: . We rename this repo from MagicDriveDiT to MagicDrive-V2 to align with our paper.\n- [2025\u002F01\u002F27] We update **fine-tuned results on Waymo Open Dataset** on our project page. [Check it out](https:\u002F\u002Fgaoruiyuan.com\u002FMagicDrive-V2\u002F#waymo)!\n- [2024\u002F12\u002F07] Stage-3 checkpoint and nuScenes metadata for training & inference release!\n- [2024\u002F12\u002F03] Train & inference code release! We will update links in readme later.\n- [2024\u002F11\u002F22] Paper and project page released! Check https:\u002F\u002Fgaoruiyuan.com\u002FMagicDrive-V2\u002F\n\n## TODO\n\n- [x] train & inference code\n- [x] pretrained weight for stage 3 & metadata for nuScenes\n- [ ] pretrained weight for stage 1 & 2 (will be released later)\n- [ ] upgrade with waymo dataset\n\n## Getting Started\n\n### Environment Setup\n\nClone this repo\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fflymin\u002FMagicDrive-V2.git\n```\n\nThe code is tested on **A800\u002FH20\u002FAscend 910b** servers. To setup the python environment, follow:\n\n> [!NOTE]  \n> Please use `pip` to set up your environment. We DO NOT recommend using `conda`+`yaml` directly for environment configuration.\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>NVIDIA Servers\u003C\u002Fb> step-by-step guide:\u003C\u002Fsummary>\n\n1. Make sure you have an environment with the following packages:\n    ```bash\n    torch==2.4.0\n    torchvision==0.19.0\n\n    # may need to build from source\n    apex (https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fapex)\n    \n    # choose the correct wheel packages or build from the source\n    xformers>=0.0.27\n    flash-attn>=2.6.3\n    ```\n2. Install Colossalai\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fflymin\u002FColossalAI.git\n    git checkout pt2.4 && git pull\n    cd ColossalAI\n    BUILD_EXT=1 pip install .\n    ```\n3. Install other dependencies\n    ```bash\n    pip install -r requirements\u002Frequirements.txt\n    ```\n\u003C\u002Fdetails>\n\nPlease refer to the following yaml files for further details:\n- A800: `requirements\u002Fa800_cu118.yaml`\n- H20: `requirements\u002Fh20_cu124.yaml`\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Ascend Servers\u003C\u002Fb> step-by-step guide:\u003C\u002Fsummary>\n\n1. Make sure you have an environment with the following packages (please refer to [this page](https:\u002F\u002Fwww.hiascend.com\u002Fdocument\u002Fdetail\u002Fzh\u002FPytorch\u002F60RC2\u002Fconfigandinstg\u002Finstg\u002Finsg_0003.html?sub_id=%2Fzh%2FPytorch%2F60RC2%2Fconfigandinstg%2Finstg%2Finsg_0008.html) to setup pytorch env):\n    ```bash\n    # based on CANN 8.0RC2\n    torch==2.3.1\n    torchvision==0.18.1\n    torch-npu==2.3.1\n    apex (https:\u002F\u002Fgitee.com\u002Fascend\u002Fapex)\n\n    # choose the correct wheel packages or build from the source\n    xformers==0.0.27\n    ```\n2. Install Colossalai\n    ```bash\n    # We remove dependency on `bitsandbytes`.\n    git clone https:\u002F\u002Fgithub.com\u002Fflymin\u002FColossalAI.git\n    git checkout ascend && git pull\n    cd ColossalAI\n    BUILD_EXT=1 pip install .\n    ```\n3. Install other dependencies\n    ```bash\n    pip install -r requirements\u002Frequirements.txt\n    ```\n\u003C\u002Fdetails>\n\nPlease refer to `requirements\u002F910b_cann8.0.RC2_aarch64.yaml` for further details.\n\n### Pretrained Weights\n\n**VAE**: We use the 3DVAE from [THUDM\u002FCogVideoX-2b](https:\u002F\u002Fhuggingface.co\u002FTHUDM\u002FCogVideoX-2b). It is OK if you only download the `vae` sub-folder.\n\n**Text Encoder**: We use T5 Encoder from [google\u002Ft5-v1_1-xxl](https:\u002F\u002Fhuggingface.co\u002Fgoogle\u002Ft5-v1_1-xxl).\n\nYou should organize them as follows:\n\n```bash\n${CODE_ROOT}\u002Fpretrained\u002F\n├── CogVideoX-2b\n│   └── vae\n└── t5-v1_1-xxl\n```\n\n### MagicDrive-V2 Checkpoints\n\nPlease download the stage-3 checkpoint from [flymin\u002FMagicDriveDiT-stage3-40k-ft](https:\u002F\u002Fhuggingface.co\u002Fflymin\u002FMagicDriveDiT-stage3-40k-ft) and put it in `${CODE_ROOT}\u002Fckpts\u002F` as:\n\n```bash\n${CODE_ROOT}\u002Fckpts\u002F\n└── MagicDriveDiT-stage3-40k-ft\n```\n\n### Prepare Data\n\nWe prepare the nuScenes dataset similar to [bevfusion's instructions](https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Fbevfusion#data-preparation). Specifically,\n\n1. Download the nuScenes dataset from the [website](https:\u002F\u002Fwww.nuscenes.org\u002Fnuscenes) and put them in `.\u002Fdata\u002F`. You should have these files:\n    ```bash\n    ${CODE_ROOT}\u002Fdata\u002Fnuscenes\n    ├── can_bus\n    ├── maps\n    ├── mini\n    ├── samples\n    ├── sweeps\n    ├── v1.0-mini\n    └── v1.0-trainval\n    ```\n    \n2. Download the metadata for `mmdet` from [flymin\u002FMagicDriveDiT-nuScenes-metadata](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fflymin\u002FMagicDriveDiT-nuScenes-metadata). \n\n    \u003Cdetails>\u003Csummary>\u003Cb>Otherwise\u003C\u002Fb>\u003C\u002Fsummary>\n    \n    Please interpolate the annotations to 12Hz as  [MagicDrive-t](https:\u002F\u002Fgithub.com\u002Fcure-lab\u002FMagicDrive\u002Ftree\u002Fvideo), and generate the meta data by yourself with the command in `tools\u002Fprepare_data\u002Fprepare_dataset.sh`.\n\n    If you have the meta data files from [MagicDrive-t](https:\u002F\u002Fgithub.com\u002Fcure-lab\u002FMagicDrive\u002Ftree\u002Fvideo), you can use `tools\u002Fprepare_data\u002Fadd_box_id.py` to add the keys for instance id. See commands in `tools\u002Fprepare_data\u002Fprepare_dataset.sh`.\n\n    \u003C\u002Fdetails>\n    \n    Your data folder should look like:\n\n    ```bash\n    ${CODE_ROOT}\u002Fdata\n    ├── nuscenes\n    │   ├── ...\n    │   └── interp_12Hz_trainval\n    └── nuscenes_mmdet3d-12Hz\n        ├── nuscenes_interp_12Hz_infos_train_with_bid.pkl\n        └── nuscenes_interp_12Hz_infos_val_with_bid.pkl\n    ```\n\n4. (Optional) To accelerate data loading, we prepared cache files in h5 format for BEV maps.\n   \u003Cdetails>\u003Csummary>\u003Cb>Instructions\u003C\u002Fb>\u003C\u002Fsummary>\n   \n   They can be generated through `tools\u002Fprepare_data\u002Fprepare_map_aux.py` with different configs in `configs\u002Fcache_gen` For example:\n    ```bash\n    python tools\u002Fprepare_data\u002Fprepare_map_aux.py +cache_gen=map_cache_gen_interp \\\n        +process=val +subfix=8x200x200_12Hz\n    ```\n    Please find the full commands in `tools\u002Fprepare_data\u002Fprepare_dataset.sh`.\n    \n    Please make sure you move the generated cache file to the right path. Our defaults are:\n    \n    ```bash\n    ${CODE_ROOT}\u002Fdata\u002Fnuscenes_map_aux_12Hz\n    ├── train_8x200x200_12Hz.h5 (25G)\n    ├── train_8x400x400_12Hz.h5 (99G)\n    ├── val_8x200x200_12Hz.h5 (5.3G)\n    └── val_8x400x400_12Hz.h5 (22G)\n\t```\n  \u003C\u002Fdetails>\n\n## Try MagicDrive-V2\n\n*In most cases, you can use the same commands on both GPU servers and Ascend servers.*\n\n### Inference the model for Generation\n\n```bash\n# ${GPUS} can be 1\u002F2\u002F4\u002F8 for sequence parallel.\n# ${CFG} can be any file located in `configs\u002Fmagicdrive\u002Finference\u002F`.\n# ${PATH_TO_MODEL} can be path to `ema.pt` or path to `model` from the checkpoint.\n# ${FRAME} can be 1\u002F9\u002F17\u002F33\u002F65\u002F129\u002Ffull...(8n+1). 1 for image; full for the full-length of nuScenes.\n# `cpu_offload=true` and `scheduler.type=rflow-slice` can be omitted if you have enough GPU memory.\nexport PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True\ntorchrun --standalone --nproc_per_node ${GPUS} scripts\u002Finference_magicdrive.py ${CFG} \\\n    --cfg-options model.from_pretrained=${PATH_TO_MODEL} num_frames=${FRAME} \\\n    cpu_offload=true scheduler.type=rflow-slice\n```\n\nPlease check [FAQ](https:\u002F\u002Fgithub.com\u002Fflymin\u002FMagicDrive-V2\u002Fblob\u002Fflymin-dev\u002Fdoc\u002FFAQ.md#q21-minimum-gpu-memory-requirements-for-inference) for more information about GPU memory requirements.\n\nFor example, to generate the full-length video (20s@12fps) as the highest resolution (848x1600), with 8*H20\u002FA800:\n\n```bash\nPYTORCH_CUDA_ALLOC_CONF=expandable_segments:True torchrun --standalone --nproc_per_node 8 \\\n    scripts\u002Finference_magicdrive.py \\\n    configs\u002Fmagicdrive\u002Finference\u002Ffullx848x1600_stdit3_CogVAE_boxTDS_wCT_xCE_wSST.py \\\n    --cfg-options model.from_pretrained=.\u002Fckpts\u002FMagicDriveDiT-stage3-40k-ft\u002Fema.pt \\\n    num_frames=full cpu_offload=true scheduler.type=rflow-slice\n```\n\n\u003Cdetails>\n\u003Csummary>Other options for generation:\u003C\u002Fsummary>\n\u003Cul>\n\u003Cli> \u003Ccode>force_daytime\u003C\u002Fcode>: (bool) force to generate daytime scenes. \u003C\u002Fli>\n\u003Cli> \u003Ccode>force_rainy\u003C\u002Fcode>: (bool) force to generate rainy scenes. \u003C\u002Fli>\n\u003Cli> \u003Ccode>force_night\u003C\u002Fcode>: (bool) force to generate night scenes. \u003C\u002Fli>\n\u003Cli> \u003Ccode>allow_class\u003C\u002Fcode>: (list) limit the classes for generation. \u003C\u002Fli>\n\u003Cli> \u003Ccode>del_box_ratio\u003C\u002Fcode>: (float) randomly drop boxes for generation. \u003C\u002Fli>\n\u003Cli> \u003Ccode>drop_nearest_car\u003C\u002Fcode>: (int) drop N-nearest vehicles during generation. \u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003C\u002Fdetails>\n\n### Inference the model for Test\n\nWe generate the videos in the format of [W-CODA2024 Track2](https:\u002F\u002Fcoda-dataset.github.io\u002Fw-coda2024\u002Ftrack2\u002F) and test with the established benchmark. Before generation, please make sure the meta data for evaluation is prepared as follows:\n\n```bash\n${CODE_ROOT}\u002Fdata\u002Fnuscenes_mmdet3d-12Hz\n├── nuscenes_interp_12Hz_infos_track2_eval.pkl # this can be downloaded from the page for track2\n└── nuscenes_interp_12Hz_infos_track2_eval_with_bid.pkl  # this can be generated or downloaded from this project.\n```\n\nTo generate the videos (with 8 GPUs\u002FNPUs):\n\n```bash\nexport PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True  # for GPU\nexport PYTORCH_NPU_ALLOC_CONF=expandable_segments:True  # for NPU\ntorchrun --standalone --nproc_per_node 8 scripts\u002Ftest_magicdrive.py \\\n    configs\u002Fmagicdrive\u002Ftest\u002F17-16x848x1600_stdit3_CogVAE_boxTDS_wCT_xCE_wSST_map0_fsp8_cfg2.0.py \\\n    --cfg-options model.from_pretrained=${PATH_TO_MODEL} tag=${TAG}\n```\n\n\n## Train MagicDrive-V2\n\nLaunch training with (with 32xA800\u002FH20):\n```bash\n# please change \"xx\" to real rank and ip\n# ${config} can be any file in `configs\u002Fmagicdrive\u002Ftrain`.\n# For example: configs\u002Fmagicdrive\u002Ftrain\u002Fstage3_higher-b-v3.1-12Hz_stdit3_CogVAE_boxTDS_wCT_xCE_wSST_bs4_lr1e-5_sp4simu8.py\ntorchrun --nproc-per-node=8 --nnode=4 --node_rank=xx --master_addr xx --master_port 18836 \\\n    scripts\u002Ftrain_magicdrive.py ${config} --cfg-options num_workers=2 prefetch_factor=2\n```\nWe also use 64 Ascend 910b to train stage 2, please see the config in `configs\u002Fmagicdrive\u002Fnpu_64g`.\n\nBesides, we provide debug config to test your environment and data loading process:\n```bash\n# for example (with 4xA800)\n# ${config} can be any file in `configs\u002Fmagicdrive\u002Ftrain`.\n# For example: configs\u002Fmagicdrive\u002Ftrain\u002Fstage3_higher-b-v3.1-12Hz_stdit3_CogVAE_boxTDS_wCT_xCE_wSST_bs4_lr1e-5_sp4simu8.py\nbash scripts\u002Flaunch_1node.sh 4 ${config} --cfg-options debug=true\n\t\n# by setting `vsdebug=true` with 1 process, you can use the 'attach mode' from vscode to debug.\n```\n\nNote: `sp=4` (stage 3) needs at least 4 GPUs to run.\n\n\n## Cite Us\n\n```bibtex\n@inproceedings{gao2025magicdrive-v2,\n  title={{MagicDrive-V2}: High-Resolution Long Video Generation for Autonomous Driving with Adaptive Control},\n  author={Gao, Ruiyuan and Chen, Kai and Xiao, Bo and Hong, Lanqing and Li, Zhenguo and Xu, Qiang},\n  booktitle={Proceedings of the IEEE\u002FCVF International Conference on Computer Vision},\n  year={2025}\n}\n```\n\n## Credit\n\nWe adopt the following open-sourced projects:\n\n- [BEVFusion](https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Fbevfusion): dataloader to handle 3d bounding boxes and BEV map\n- [Open-Sora](https:\u002F\u002Fgithub.com\u002Fhpcaitech\u002FOpen-Sora): STDiT3 and framework to train\n- [ColossalAI](https:\u002F\u002Fgithub.com\u002Fhpcaitech\u002FColossalAI): framework for parallel and zero2\n- [CogVideoX](https:\u002F\u002Fgithub.com\u002FTHUDM\u002FCogVideo): we use their CogVAE\n","# MagicDrive-V2\n\n[![arXiv](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FArXiv-2411.13807-b31b1b.svg?style=plastic)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2411.13807) [![web](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWeb-MagicDrive--V2-blue.svg?style=plastic)](https:\u002F\u002Fgaoruiyuan.com\u002Fmagicdrive-v2\u002F) [![license](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fflymin\u002FMagicDrive-V2?style=plastic)](https:\u002F\u002Fgithub.com\u002Fflymin\u002FMagicDrive-V2\u002Fblob\u002Fmain\u002FLICENSE) [![star](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fflymin\u002FMagicDrive-V2)](https:\u002F\u002Fgithub.com\u002Fflymin\u002FMagicDrive-V2) [![Paper](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fhuggingface\u002Fbadges\u002Fresolve\u002Fmain\u002Fpaper-page-sm.svg)](https:\u002F\u002Fhuggingface.co\u002Fpapers\u002F2411.13807) [![Model](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fhuggingface\u002Fbadges\u002Fresolve\u002Fmain\u002Fmodel-on-hf-sm.svg)](https:\u002F\u002Fhuggingface.co\u002Fflymin\u002FMagicDriveDiT-stage3-40k-ft) [![Dataset](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fhuggingface\u002Fbadges\u002Fresolve\u002Fmain\u002Fdataset-on-hf-sm.svg)](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fflymin\u002FMagicDriveDiT-nuScenes-metadata)\n\n本仓库包含论文的实现：\n\n> MagicDrive-V2：基于自适应控制的自动驾驶高分辨率长视频生成\u003Cbr>\n> 高瑞源（https:\u002F\u002Fgaoruiyuan.com\u002F）\u003Csup>1\u003C\u002Fsup>, 陈凯（https:\u002F\u002Fkaichen1998.github.io\u002F）\u003Csup>2\u003C\u002Fsup>, 肖博（https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fbo-xiao-19909955\u002F?originalSubdomain=ie）\u003Csup>3\u003C\u002Fsup>, 洪兰青（https:\u002F\u002Fscholar.google.com.sg\u002Fcitations?user=2p7x6OUAAAAJ&hl=en）\u003Csup>4\u003C\u002Fsup>, 李振国（https:\u002F\u002Fscholar.google.com\u002Fcitations?user=XboZC1AAAAAJ&hl=en）\u003Csup>4\u003C\u002Fsup>, 徐强（https:\u002F\u002Fcure-lab.github.io\u002F）\u003Csup>1\u003C\u002Fsup>\u003Cbr>\n> \u003Csup>1\u003C\u002Fsup>香港中文大学 \u003Csup>2\u003C\u002Fsup>香港科技大学 \u003Csup>3\u003C\u002Fsup>华为云 \u003Csup>4\u003C\u002Fsup>华为诺亚方舟实验室\u003Cbr>\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F4c915eca-6583-422e-9a1a-1eebb9379ff4\n\n\n## 摘要\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>简而言之\u003C\u002Fb> MagicDrive-V2 能够生成具有多样化 3D 几何控制和多视角一致性的高分辨率、长时长街景视频。\u003C\u002Fsummary>\n\n扩散模型的快速发展极大地推动了视频合成技术的进步，尤其是在可控视频生成领域，这对于自动驾驶等应用至关重要。然而，现有方法在可扩展性以及控制条件的整合方式上存在局限性，难以满足自动驾驶场景中对高分辨率、长时长视频的需求。本文我们提出了基于 DiT 架构的全新方法——MagicDrive-V2，以应对这些挑战。我们的方法通过流匹配提升了可扩展性，并采用渐进式训练策略来处理复杂场景。通过引入时空条件编码，MagicDrive-V2 实现了对时空潜在变量的精确控制。全面的实验表明，该方法在生成更高分辨率、更多帧数的真实街景视频方面表现出色。MagicDrive-V2 显著提升了视频生成质量和时空控制能力，从而拓展了其在自动驾驶相关任务中的应用潜力。\n\n\u003C\u002Fdetails>\n\n## 最新消息\n- [2025年6月26日] MagicDrive-V2 被 ICCV 2025 接收 :tada: 。为与论文名称保持一致，我们将此仓库更名为 MagicDrive-V2。\n- [2025年1月27日] 我们在项目页面更新了 **Waymo 开放数据集上的微调结果**。[立即查看](https:\u002F\u002Fgaoruiyuan.com\u002FMagicDrive-V2\u002F#waymo)!\n- [2024年12月7日] 第三阶段检查点及用于训练和推理的 nuScenes 元数据发布！\n- [2024年12月3日] 训练与推理代码发布！我们稍后会更新 README 中的链接。\n- [2024年11月22日] 论文和项目页面正式发布！请访问 https:\u002F\u002Fgaoruiyuan.com\u002FMagicDrive-V2\u002F\n\n## 待办事项\n\n- [x] 训练与推理代码\n- [x] 第三阶段预训练权重及 nuScenes 元数据\n- [ ] 第一、二阶段预训练权重（后续发布）\n- [ ] 使用 Waymo 数据集进行升级\n\n## 快速入门\n\n### 环境搭建\n\n克隆本仓库\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fflymin\u002FMagicDrive-V2.git\n```\n\n代码已在 **A800\u002FH20\u002FAscend 910b** 服务器上测试通过。请按照以下步骤设置 Python 环境：\n\n> [!注意]  \n> 请使用 `pip` 来配置环境。我们不建议直接使用 `conda` + `yaml` 进行环境配置。\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>NVIDIA 服务器\u003C\u002Fb> 逐步指南：\u003C\u002Fsummary>\n\n1. 确保您的环境中已安装以下包：\n    ```bash\n    torch==2.4.0\n    torchvision==0.19.0\n\n    # 可能需要从源码编译\n    apex (https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fapex)\n    \n    # 选择合适的轮子包或从源码编译\n    xformers>=0.0.27\n    flash-attn>=2.6.3\n    ```\n2. 安装 ColossalAI\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fflymin\u002FColossalAI.git\n    git checkout pt2.4 && git pull\n    cd ColossalAI\n    BUILD_EXT=1 pip install .\n    ```\n3. 安装其他依赖\n    ```bash\n    pip install -r requirements\u002Frequirements.txt\n    ```\n\u003C\u002Fdetails>\n\n更多详细信息请参考以下 YAML 文件：\n- A800：`requirements\u002Fa800_cu118.yaml`\n- H20：`requirements\u002Fh20_cu124.yaml`\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Ascend 服务器\u003C\u002Fb> 逐步指南：\u003C\u002Fsummary>\n\n1. 确保您的环境中已安装以下包（请参考 [此页面](https:\u002F\u002Fwww.hiascend.com\u002Fdocument\u002Fdetail\u002Fzh\u002FPytorch\u002F60RC2\u002Fconfigandinstg\u002Finstg\u002Finsg_0003.html?sub_id=%2Fzh%2FPytorch%2F60RC2%2Fconfigandinstg%2Finstg%2Finsg_0008.html) 设置 PyTorch 环境）：\n    ```bash\n    # 基于 CANN 8.0RC2\n    torch==2.3.1\n    torchvision==0.18.1\n    torch-npu==2.3.1\n    apex (https:\u002F\u002Fgitee.com\u002Fascend\u002Fapex)\n\n    # 选择合适的轮子包或从源码编译\n    xformers==0.0.27\n    ```\n2. 安装 ColossalAI\n    ```bash\n    # 我们移除了对 `bitsandbytes` 的依赖。\n    git clone https:\u002F\u002Fgithub.com\u002Fflymin\u002FColossalAI.git\n    git checkout ascend && git pull\n    cd ColossalAI\n    BUILD_EXT=1 pip install .\n    ```\n3. 安装其他依赖\n    ```bash\n    pip install -r requirements\u002Frequirements.txt\n    ```\n\u003C\u002Fdetails>\n\n更多详细信息请参阅 `requirements\u002F910b_cann8.0.RC2_aarch64.yaml`。\n\n### 预训练权重\n\n**VAE**：我们使用来自 [THUDM\u002FCogVideoX-2b](https:\u002F\u002Fhuggingface.co\u002FTHUDM\u002FCogVideoX-2b) 的 3DVAE。您只需下载 `vae` 子文件夹即可。\n\n**文本编码器**：我们使用来自 [google\u002Ft5-v1_1-xxl](https:\u002F\u002Fhuggingface.co\u002Fgoogle\u002Ft5-v1_1-xxl) 的 T5 编码器。\n\n请按以下结构组织这些文件：\n\n```bash\n${CODE_ROOT}\u002Fpretrained\u002F\n├── CogVideoX-2b\n│   └── vae\n└── t5-v1_1-xxl\n```\n\n### MagicDrive-V2 检查点\n\n请从 [flymin\u002FMagicDriveDiT-stage3-40k-ft](https:\u002F\u002Fhuggingface.co\u002Fflymin\u002FMagicDriveDiT-stage3-40k-ft) 下载第三阶段检查点，并将其放置在 `${CODE_ROOT}\u002Fckpts\u002F` 目录下，如下所示：\n\n```bash\n${CODE_ROOT}\u002Fckpts\u002F\n└── MagicDriveDiT-stage3-40k-ft\n```\n\n### 准备数据\n\n我们按照 [bevfusion 的说明](https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Fbevfusion#data-preparation) 类似的方式准备 nuScenes 数据集。具体步骤如下：\n\n1. 从 [nuScenes 官网](https:\u002F\u002Fwww.nuscenes.org\u002Fnuscenes) 下载 nuScenes 数据集，并将其放置在 `.\u002Fdata\u002F` 目录下。你应该会看到以下文件结构：\n    ```bash\n    ${CODE_ROOT}\u002Fdata\u002Fnuscenes\n    ├── can_bus\n    ├── maps\n    ├── mini\n    ├── samples\n    ├── sweeps\n    ├── v1.0-mini\n    └── v1.0-trainval\n    ```\n    \n2. 从 [flymin\u002FMagicDriveDiT-nuScenes-metadata](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fflymin\u002FMagicDriveDiT-nuScenes-metadata) 下载用于 `mmdet` 的元数据。\n\n    \u003Cdetails>\u003Csummary>\u003Cb>否则\u003C\u002Fb>\u003C\u002Fsummary>\n    \n    请按照 [MagicDrive-t](https:\u002F\u002Fgithub.com\u002Fcure-lab\u002FMagicDrive\u002Ftree\u002Fvideo) 的方法将标注插值到 12Hz，并使用 `tools\u002Fprepare_data\u002Fprepare_dataset.sh` 中的命令自行生成元数据。\n\n    如果你已经拥有来自 [MagicDrive-t](https:\u002F\u002Fgithub.com\u002Fcure-lab\u002FMagicDrive\u002Ftree\u002Fvideo) 的元数据文件，可以使用 `tools\u002Fprepare_data\u002Fadd_box_id.py` 添加实例 ID 键。相关命令可在 `tools\u002Fprepare_data\u002Fprepare_dataset.sh` 中找到。\n\n    \u003C\u002Fdetails>\n    \n    你的数据文件夹应如下所示：\n\n    ```bash\n    ${CODE_ROOT}\u002Fdata\n    ├── nuscenes\n    │   ├── ...\n    │   └── interp_12Hz_trainval\n    └── nuscenes_mmdet3d-12Hz\n        ├── nuscenes_interp_12Hz_infos_train_with_bid.pkl\n        └── nuscenes_interp_12Hz_infos_val_with_bid.pkl\n    ```\n\n4. （可选）为了加速数据加载，我们准备了 BEV 地图的 h5 格式缓存文件。\n   \u003Cdetails>\u003Csummary>\u003Cb>说明\u003C\u002Fb>\u003C\u002Fsummary>\n   \n   这些缓存文件可以通过 `tools\u002Fprepare_data\u002Fprepare_map_aux.py` 使用 `configs\u002Fcache_gen` 中的不同配置生成。例如：\n    ```bash\n    python tools\u002Fprepare_data\u002Fprepare_map_aux.py +cache_gen=map_cache_gen_interp \\\n        +process=val +subfix=8x200x200_12Hz\n    ```\n    完整的命令可在 `tools\u002Fprepare_data\u002Fprepare_dataset.sh` 中找到。\n\n    请确保将生成的缓存文件移动到正确的位置。我们的默认路径是：\n    \n    ```bash\n    ${CODE_ROOT}\u002Fdata\u002Fnuscenes_map_aux_12Hz\n    ├── train_8x200x200_12Hz.h5 (25G)\n    ├── train_8x400x400_12Hz.h5 (99G)\n    ├── val_8x200x200_12Hz.h5 (5.3G)\n    └── val_8x400x400_12Hz.h5 (22G)\n\t```\n  \u003C\u002Fdetails>\n\n## 尝试 MagicDrive-V2\n\n*大多数情况下，你可以在 GPU 服务器和 Ascend 服务器上使用相同的命令。*\n\n### 推理模型以进行生成\n\n```bash\n# ${GPUS} 可以是 1\u002F2\u002F4\u002F8，用于序列并行。\n# ${CFG} 可以是位于 `configs\u002Fmagicdrive\u002Finference\u002F` 中的任何配置文件。\n# ${PATH_TO_MODEL} 可以是 `ema.pt` 文件的路径，或检查点中 `model` 文件的路径。\n# ${FRAME} 可以是 1\u002F9\u002F17\u002F33\u002F65\u002F129\u002Ffull...(8n+1)。1 表示单张图像；full 表示 nuScenes 的全长。\n# 如果 GPU 显存充足，可以省略 `cpu_offload=true` 和 `scheduler.type=rflow-slice`。\nexport PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True\ntorchrun --standalone --nproc_per_node ${GPUS} scripts\u002Finference_magicdrive.py ${CFG} \\\n    --cfg-options model.from_pretrained=${PATH_TO_MODEL} num_frames=${FRAME} \\\n    cpu_offload=true scheduler.type=rflow-slice\n```\n\n有关 GPU 显存要求的更多信息，请参阅 [FAQ](https:\u002F\u002Fgithub.com\u002Fflymin\u002FMagicDrive-V2\u002Fblob\u002Fflymin-dev\u002Fdoc\u002FFAQ.md#q21-minimum-gpu-memory-requirements-for-inference)。\n\n例如，要以最高分辨率（848x1600）生成全长视频（20秒@12fps），使用 8 张 H20\u002FA800 显卡：\n\n```bash\nPYTORCH_CUDA_ALLOC_CONF=expandable_segments:True torchrun --standalone --nproc_per_node 8 \\\n    scripts\u002Finference_magicdrive.py \\\n    configs\u002Fmagicdrive\u002Finference\u002Ffullx848x1600_stdit3_CogVAE_boxTDS_wCT_xCE_wSST.py \\\n    --cfg-options model.from_pretrained=.\u002Fckpts\u002FMagicDriveDiT-stage3-40k-ft\u002Fema.pt \\\n    num_frames=full cpu_offload=true scheduler.type=rflow-slice\n```\n\n\u003Cdetails>\n\u003Csummary>其他生成选项：\u003C\u002Fsummary>\n\u003Cul>\n\u003Cli> \u003Ccode>force_daytime\u003C\u002Fcode>: (bool) 强制生成白天场景。 \u003C\u002Fli>\n\u003Cli> \u003Ccode>force_rainy\u003C\u002Fcode>: (bool) 强制生成雨天场景。 \u003C\u002Fli>\n\u003Cli> \u003Ccode>force_night\u003C\u002Fcode>: (bool) 强制生成夜晚场景。 \u003C\u002Fli>\n\u003Cli> \u003Ccode>allow_class\u003C\u002Fcode>: (list) 限制生成的类别。 \u003C\u002Fli>\n\u003Cli> \u003Ccode>del_box_ratio\u003C\u002Fcode>: (float) 随机删除部分框以进行生成。 \u003C\u002Fli>\n\u003Cli> \u003Ccode>drop_nearest_car\u003C\u002Fcode>: (int) 在生成过程中删除距离最近的 N 辆车。 \u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003C\u002Fdetails>\n\n### 推理模型以进行测试\n\n我们按照 [W-CODA2024 Track2](https:\u002F\u002Fcoda-dataset.github.io\u002Fw-coda2024\u002Ftrack2\u002F) 的格式生成视频，并使用已建立的基准进行测试。在生成之前，请确保评估用的元数据已准备好，如下所示：\n\n```bash\n${CODE_ROOT}\u002Fdata\u002Fnuscenes_mmdet3d-12Hz\n├── nuscenes_interp_12Hz_infos_track2_eval.pkl # 可从 Track2 页面下载\n└── nuscenes_interp_12Hz_infos_track2_eval_with_bid.pkl  # 可由本项目生成或下载。\n```\n\n使用 8 张 GPU\u002FNPU 生成视频：\n\n```bash\nexport PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True  # 对于 GPU\nexport PYTORCH_NPU_ALLOC_CONF=expandable_segments:True  # 对于 NPU\ntorchrun --standalone --nproc_per_node 8 scripts\u002Ftest_magicdrive.py \\\n    configs\u002Fmagicdrive\u002Ftest\u002F17-16x848x1600_stdit3_CogVAE_boxTDS_wCT_xCE_wSST_map0_fsp8_cfg2.0.py \\\n    --cfg-options model.from_pretrained=${PATH_TO_MODEL} tag=${TAG}\n```\n\n\n## 训练 MagicDrive-V2\n\n使用 32 张 A800\u002FH20 显卡启动训练：\n\n```bash\n# 请将“xx”替换为实际的 rank 和 ip\n# ${config} 可以是 `configs\u002Fmagicdrive\u002Ftrain` 中的任意配置文件。\n# 例如：configs\u002Fmagicdrive\u002Ftrain\u002Fstage3_higher-b-v3.1-12Hz_stdit3_CogVAE_boxTDS_wCT_xCE_wSST_bs4_lr1e-5_sp4simu8.py\ntorchrun --nproc-per-node=8 --nnode=4 --node_rank=xx --master_addr xx --master_port 18836 \\\n    scripts\u002Ftrain_magicdrive.py ${config} --cfg-options num_workers=2 prefetch_factor=2\n```\n\n我们还使用 64 张 Ascend 910b 来训练第 2 阶段，相关配置可在 `configs\u002Fmagicdrive\u002Fnpu_64g` 中找到。\n\n此外，我们还提供了调试配置，用于测试你的环境和数据加载流程：\n\n```bash\n# 例如（使用 4 张 A800）\n# ${config} 可以是 `configs\u002Fmagicdrive\u002Ftrain` 中的任意配置文件。\n# 例如：configs\u002Fmagicdrive\u002Ftrain\u002Fstage3_higher-b-v3.1-12Hz_stdit3_CogVAE_boxTDS_wCT_xCE_wSST_bs4_lr1e-5_sp4simu8.py\nbash scripts\u002Flaunch_1node.sh 4 ${config} --cfg-options debug=true\n\t\n# 通过设置 `vsdebug=true` 并使用 1 个进程，你可以使用 VSCode 的“附加模式”进行调试。\n```\n\n注意：`sp=4`（第 3 阶段）至少需要 4 张 GPU 才能运行。\n\n## 引用我们\n\n```bibtex\n@inproceedings{gao2025magicdrive-v2,\n  title={{MagicDrive-V2}: High-Resolution Long Video Generation for Autonomous Driving with Adaptive Control},\n  author={Gao, Ruiyuan and Chen, Kai and Xiao, Bo and Hong, Lanqing and Li, Zhenguo and Xu, Qiang},\n  booktitle={Proceedings of the IEEE\u002FCVF International Conference on Computer Vision},\n  year={2025}\n}\n```\n\n## 致谢\n\n我们采用了以下开源项目：\n\n- [BEVFusion](https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Fbevfusion)：用于处理3D边界框和BEV地图的数据加载器\n- [Open-Sora](https:\u002F\u002Fgithub.com\u002Fhpcaitech\u002FOpen-Sora)：STDiT3模型及训练框架\n- [ColossalAI](https:\u002F\u002Fgithub.com\u002Fhpcaitech\u002FColossalAI)：用于并行计算和Zero2优化的框架\n- [CogVideoX](https:\u002F\u002Fgithub.com\u002FTHUDM\u002FCogVideo)：我们使用了他们的CogVAE","# MagicDrive-V2 快速上手指南\n\nMagicDrive-V2 是一个基于 DiT 架构的开源项目，旨在生成用于自动驾驶的高分辨率、长时序街景视频。它支持多样化的 3D 几何控制和多视角一致性，适用于自动驾驶仿真与数据增强。\n\n## 1. 环境准备\n\n### 系统要求\n*   **硬件**: 代码已在 **NVIDIA A800\u002FH20** 或 **华为 Ascend 910b** 服务器上测试通过。\n*   **操作系统**: Linux (推荐 Ubuntu)\n*   **Python**: 建议 Python 3.8+\n\n### 前置依赖\n请确保已安装对应的 CUDA\u002FCANN 驱动。本项目**强烈建议使用 `pip` 直接配置环境**，不推荐直接使用 `conda` 的 yaml 文件。\n\n#### 核心依赖版本参考\n*   **NVIDIA 平台**:\n    *   PyTorch == 2.4.0\n    *   Apex (需源码编译)\n    *   xformers >= 0.0.27\n    *   flash-attn >= 2.6.3\n*   **Ascend (华为昇腾) 平台**:\n    *   CANN 8.0RC2\n    *   PyTorch == 2.3.1 + torch-npu == 2.3.1\n    *   Apex (昇腾版)\n\n## 2. 安装步骤\n\n### 第一步：克隆代码库\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fflymin\u002FMagicDrive-V2.git\ncd MagicDrive-V2\n```\n\n### 第二步：配置基础环境\n根据您的硬件平台选择以下一种方式安装基础包。\n\n#### 方案 A：NVIDIA GPU (A800\u002FH20 等)\n1.  安装 PyTorch 及相关加速库（请根据实际 CUDA 版本调整）：\n    ```bash\n    pip install torch==2.4.0 torchvision==0.19.0 --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu118\n    # 编译安装 apex\n    git clone https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fapex\n    cd apex && pip install -v --disable-pip-version-check --no-cache-dir --no-build-isolation --config-settings \"--build-option=--cpp_ext\" --config-settings \"--build-option=--cuda_ext\" .\u002F\n    cd ..\n    # 安装其他加速库\n    pip install xformers>=0.0.27 flash-attn>=2.6.3\n    ```\n    > **国内加速提示**: 如下载缓慢，可添加 `-i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple` 参数。\n\n2.  安装定制版 ColossalAI：\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fflymin\u002FColossalAI.git\n    cd ColossalAI\n    git checkout pt2.4 && git pull\n    BUILD_EXT=1 pip install .\n    cd ..\n    ```\n\n3.  安装其余依赖：\n    ```bash\n    pip install -r requirements\u002Frequirements.txt\n    ```\n\n#### 方案 B：Ascend NPU (910b)\n1.  参照华为官方文档配置 PyTorch-NPU 环境 (基于 CANN 8.0RC2)。\n2.  安装定制版 ColossalAI (已移除 bitsandbytes 依赖)：\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fflymin\u002FColossalAI.git\n    cd ColossalAI\n    git checkout ascend && git pull\n    BUILD_EXT=1 pip install .\n    cd ..\n    ```\n3.  安装其余依赖：\n    ```bash\n    pip install -r requirements\u002Frequirements.txt\n    ```\n\n### 第三步：下载预训练模型\n请在项目根目录下创建文件夹并整理模型结构：\n\n```bash\nmkdir -p pretrained ckpts\n```\n\n1.  **VAE 模型**: 下载 [THUDM\u002FCogVideoX-2b](https:\u002F\u002Fhuggingface.co\u002FTHUDM\u002FCogVideoX-2b) 中的 `vae` 子文件夹。\n2.  **Text Encoder**: 下载 [google\u002Ft5-v1_1-xxl](https:\u002F\u002Fhuggingface.co\u002Fgoogle\u002Ft5-v1_1-xxl)。\n3.  **MagicDrive-V2 主模型**: 下载 Stage-3 检查点 [flymin\u002FMagicDriveDiT-stage3-40k-ft](https:\u002F\u002Fhuggingface.co\u002Fflymin\u002FMagicDriveDiT-stage3-40k-ft)。\n\n最终目录结构应如下：\n```text\n${CODE_ROOT}\u002F\n├── pretrained\u002F\n│   ├── CogVideoX-2b\u002F\n│   │   └── vae\u002F\n│   └── t5-v1_1-xxl\u002F\n└── ckpts\u002F\n    └── MagicDriveDiT-stage3-40k-ft\u002F\n```\n> **提示**: 国内用户可使用 Hugging Face 镜像站 (如 `hf-mirror.com`) 加速下载。\n\n### 第四步：准备数据 (nuScenes)\n1.  从 [nuScenes 官网](https:\u002F\u002Fwww.nuscenes.org\u002Fnuscenes) 下载数据集至 `.\u002Fdata\u002F` 目录。\n2.  从 [HuggingFace](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fflymin\u002FMagicDriveDiT-nuScenes-metadata) 下载处理好的元数据 (`mmdet` 格式)。\n3.  将元数据放入 `data\u002Fnuscenes_mmdet3d-12Hz\u002F` 目录。\n\n*(可选)* 为加速数据加载，可运行 `tools\u002Fprepare_data\u002Fprepare_map_aux.py` 生成 BEV 地图缓存文件 (.h5)。\n\n## 3. 基本使用\n\n### 视频生成推理\n以下命令展示了如何使用 8 张显卡生成高分辨率长视频（20 秒，12fps，分辨率 848x1600）。\n\n**注意**: 如果显存充足，可省略 `cpu_offload=true` 和 `scheduler.type=rflow-slice` 参数。\n\n```bash\nexport PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True\n\ntorchrun --standalone --nproc_per_node 8 \\\n    scripts\u002Finference_magicdrive.py \\\n    configs\u002Fmagicdrive\u002Finference\u002Ffullx848x1600_stdit3_CogVAE_boxTDS_wCT_xCE_wSST.py \\\n    --cfg-options model.from_pretrained=.\u002Fckpts\u002FMagicDriveDiT-stage3-40k-ft\u002Fema.pt \\\n    num_frames=full cpu_offload=true scheduler.type=rflow-slice\n```\n\n**常用控制参数**:\n*   `num_frames`: 设置帧数，支持 `1` (单图), `9`, `17`, `33`, `65`, `129` 或 `full` (完整序列)。\n*   `force_daytime` \u002F `force_night` \u002F `force_rainy`: 强制生成特定天气或时间场景。\n*   `allow_class`: 限制生成的物体类别列表。\n*   `del_box_ratio`: 随机丢弃部分检测框以增加多样性。\n\n### 模型测试 (Benchmark)\n若需按照 W-CODA2024 Track2 标准进行评估，请确保已准备好评估专用的元数据文件，然后运行：\n\n```bash\nexport PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True\n\ntorchrun --standalone --nproc_per_node 8 scripts\u002Ftest_magicdrive.py \\\n    configs\u002Fmagicdrive\u002Ftest\u002F17-16x848x1600_stdit3_CogVAE_boxTDS_wCT_xCE_wSST_map0_fsp8_cfg2.0.py \\\n    --cfg-options model.from_pretrained=${PATH_TO_MODEL}\n```\n*(请将 `${PATH_TO_MODEL}` 替换为实际的模型路径)*","某自动驾驶算法团队正在构建高保真仿真测试平台，急需生成涵盖极端天气与复杂路况的长序列街景视频，以训练感知模型并验证系统安全性。\n\n### 没有 MagicDrive-V2 时\n- **分辨率与时长受限**：现有生成工具难以同时兼顾高分辨率与长帧数，生成的视频往往模糊且短暂，无法模拟真实驾驶中的远距离感知需求。\n- **3D 几何控制缺失**：缺乏对车辆、行人等物体三维位置的精准控制，导致生成的交通场景逻辑混乱，难以复现特定的危险工况（如鬼探头）。\n- **多视角不一致**：在生成环视或多摄像头数据时，不同视角间的画面存在明显撕裂或内容冲突，破坏了传感器融合算法的训练基础。\n- **极端场景覆盖不足**：依赖真实数据采集成本高昂且难以覆盖罕见长尾场景（如暴雨夜间的施工路段），导致模型在边缘案例上表现脆弱。\n\n### 使用 MagicDrive-V2 后\n- **高清长视频生成**：基于 DiT 架构与流匹配技术，MagicDrive-V2 能稳定输出高分辨率、长时段的街景视频，清晰呈现远处路标与细微纹理。\n- **自适应时空控制**：通过空间 - 时间条件编码，团队可精确指定车辆轨迹与行人动作，轻松构建符合物理规律的复杂交互场景。\n- **多视角高度一致**：工具确保了前后左右各摄像头视角的几何一致性，直接生成可用于多传感器融合训练的高质量同步数据流。\n- **无限场景泛化**：利用其强大的生成能力，团队低成本合成了大量雨雪雾等极端天气下的长尾场景，显著提升了感知模型的鲁棒性。\n\nMagicDrive-V2 通过突破分辨率、时长与控制精度的瓶颈，将自动驾驶仿真数据的生产效率与质量提升至全新维度，大幅降低了实车路测的风险与成本。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fflymin_MagicDrive-V2_406c41c9.png","flymin","Gao, Ruiyuan","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fflymin_f558d280.jpg","Ph.D. of @cure-lab at CUHK.","The Chinese University of Hong Kong","Sha Tin, Hong Kong, China","rygao.me@gmail.com","ruiyuan_gao","https:\u002F\u002Fgaoruiyuan.com\u002F","https:\u002F\u002Fgithub.com\u002Fflymin",[83,87,91],{"name":84,"color":85,"percentage":86},"Python","#3572A5",98.2,{"name":88,"color":89,"percentage":90},"HTML","#e34c26",1.6,{"name":92,"color":93,"percentage":94},"Shell","#89e051",0.2,710,28,"2026-04-08T09:20:55","AGPL-3.0",5,"Linux","必需。支持 NVIDIA (A800, H20) 或 Huawei Ascend (910b)。NVIDIA 需 CUDA 11.8 (A800) 或 12.4 (H20)；Ascend 需 CANN 8.0RC2。推理高分辨率长视频推荐多卡并行（如 8 卡），显存需求较高，可通过 cpu_offload 优化。","未说明（建议 64GB+ 以处理大型数据集和缓存）",{"notes":104,"python":105,"dependencies":106},"1. 官方明确不建议直接使用 conda+yaml 配置环境，推荐使用 pip 安装。\n2. 需手动克隆并编译特定版本的 ColossalAI（NVIDIA 用 pt2.4 分支，Ascend 用 ascend 分支）。\n3. 需单独下载预训练权重：CogVideoX-2b (VAE), T5-XXL (文本编码器), 以及 MagicDrive-V2 Stage-3 检查点。\n4. 数据集需准备 nuScenes 及特定的元数据（含 12Hz 插值标注），可选生成 h5 格式的 BEV 地图缓存以加速加载。\n5. 推理长视频时建议设置环境变量 PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True 并开启 cpu_offload 以节省显存。","未说明（需匹配 PyTorch 版本，通常建议 3.9+）",[107,108,109,110,111,112,113],"torch==2.4.0 (NVIDIA) \u002F 2.3.1 (Ascend)","torchvision","apex","xformers>=0.0.27","flash-attn>=2.6.3 (NVIDIA)","ColossalAI (定制版)","torch-npu==2.3.1 (Ascend)",[13,115,15],"视频",[117,118,119,120],"autonomous-driving","diffusion-models","multi-view","video-generation",null,"2026-03-27T02:49:30.150509","2026-04-15T12:54:40.234054",[125,130,135,140,145,150],{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},34320,"如何配置 MagicDrive 的环境依赖，特别是 ColossalAI 的版本和安装问题？","ColossalAI 的依赖配置较为复杂且容易出错。如果遇到版本冲突或安装失败，建议尝试以下方法：1. 确保安装了正确的 Apex 库以支持 FusedRMSNorm；2. 检查 Python 环境是否纯净，避免不同环境间的冲突；3. 如果自动安装失败，可以参考社区经验，将报错信息输入给 AI 助手获取多个解决方案并逐一尝试，直到配置成功。维护者指出如果依赖混乱，可能需要多次重试才能成功。","https:\u002F\u002Fgithub.com\u002Fflymin\u002FMagicDrive-V2\u002Fissues\u002F41",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},34321,"运行 NuScenes 数据集时出现 map_api 错误（特别是在 num_frames > 1 时），是数据有问题吗？","这通常不是数据集本身的问题。推荐的解决方案是按照 README 中的说明预生成地图缓存（map cache）。代码会从缓存中加载地图，这不仅能解决该错误，还能显著加快地图加载速度。这是一个有效的变通方法。","https:\u002F\u002Fgithub.com\u002Fflymin\u002FMagicDrive-V2\u002Fissues\u002F22",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},34322,"如何使用自定义数据进行推理？是否支持非 NuScenes 格式的数据？","可以使用自定义数据进行推理，但必须将数据组织成与 NuScenes 完全一致的格式，并确保所有参数（如相机内参、外参等）看起来像真实数据。对于轨迹编辑，不能直接修改数据加载器中的 4x4 矩阵，而应该参考论文中描述的方法，通过输入轨迹（traj）、3D 边界框和文本来控制生成结果。具体实现需确保输入参数符合模型设计要求。","https:\u002F\u002Fgithub.com\u002Fflymin\u002FMagicDrive-V2\u002Fissues\u002F24",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},34323,"Stage 2 训练过程中出现“网格效应”或动态目标模糊失真怎么办？","在 Stage 2 混合精度训练中，如果在约 15,000 步时出现动态目标模糊、失真或网格效应，而静态结果正常，这可能是训练过程中的暂时现象。建议检查视频长度和 FPS 的配置。可以尝试调整 `video_lengths_fps` 配置，例如将低分辨率（256x384）的视频长度设置为较长序列（如 [65]），而高分辨率保持多尺度设置。随着训练继续，这些问题可能会逐渐消失。","https:\u002F\u002Fgithub.com\u002Fflymin\u002FMagicDrive-V2\u002Fissues\u002F23",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},34324,"遇到 'Failed to replace layer_norm of type T5LayerNorm' 错误如何解决？","该错误通常是因为环境中缺少 Apex 库或未正确安装，导致 Hugging Face Transformers 无法使用 `FusedRMSNorm` 而回退到默认的 `T5LayerNorm`。解决方法：1. 确认已安装 Apex 且支持 CUDA；2. 检查启动代码的 Python 环境是否与命令行环境一致；3. 确保 `from apex.normalization import FusedRMSNorm` 不报错。如果使用了错误的虚拟环境，请切换到包含完整依赖的环境重新运行。","https:\u002F\u002Fgithub.com\u002Fflymin\u002FMagicDrive-V2\u002Fissues\u002F10",{"id":151,"question_zh":152,"answer_zh":153,"source_url":139},34325,"推理时如何编辑车辆轨迹以生成不同的驾驶场景？","直接修改数据加载器中的 4x4 变换矩阵（如编辑 T 部分）通常不会生效，因为这不是设计用来控制轨迹的方式。正确的做法是参考论文，在推理时通过显式输入轨迹（trajectory）、3D 边界框（3D bbox）和文本提示来控制生成内容。需要确保这些输入参数被正确传递给模型，而不是试图在底层数据结构中硬编码修改。",[]]