Cosmos 实战:3 条命令生成第一个物理世界视频
【免费下载链接】cosmosNVIDIA Cosmos is an open platform of world models, datasets, and tools that enables developers to build Physical AI for robots, autonomous vehicles, smart infrastructure, and more.项目地址: https://gitcode.com/GitHub_Trending/cosmos7/cosmos
Cosmos 是面向 Physical AI 的物理世界视频生成平台,提供 Text2World 与 Video2World 两类扩散世界基础模型:一段文字或一张图,就能生成 121 帧的仿真视频。给机器人造训练场、给自动驾驶生成 Corner Case 场景,靠的就是这条链路。
🚀 最小路径:5 分钟跑通第一条世界生成命令
前提:Ubuntu + NVIDIA GPU + 已装 Docker 与 NVIDIA Container Toolkit;模型权重放在 Hugging Face,需要一个 Read 权限的访问令牌。
克隆仓库并构建环境:镜像内置全部依赖,构建一次即可 →
git clone https://gitcode.com/GitHub_Trending/cosmos7/cosmos cd cosmos docker build -t cosmos . docker run -d --name cosmos_container --gpus all --ipc=host -it -v $(pwd):/workspace cosmos docker attach cosmos_container登录并下载 7B 权重:huggingface-cli login后跑下载脚本,Token、提示上采样器与 Guardrail 一次拉齐(Video2World 还需在 Pixtral-12B 模型页点 "Agree and access repository")→
PYTHONPATH=$(pwd) python cosmos1/scripts/download_diffusion.py \ --model_sizes 7B \ --model_types Text2World Video2World跑第一条生成命令:仓库内置的仓库机器人场景,直接出片 →
PROMPT="A sleek, humanoid robot stands in a vast warehouse filled with neatly stacked cardboard boxes on industrial shelves." PYTHONPATH=$(pwd) python cosmos1/models/diffusion/inference/text2world.py \ --checkpoint_dir checkpoints \ --diffusion_transformer_dir Cosmos-1.0-Diffusion-7B-Text2World \ --prompt "$PROMPT" \ --offload_prompt_upsampler \ --video_save_name my_first_video确认产物:输出的 mp4 与同名.log写在当前目录,121 帧、默认 16:9,生成结束前耐心等几分钟。
🧩 能力拆解:扩散世界基础模型的三条主链路
文本 → 视频:Text2World 单条生成
把一段场景描述渲染成可播放的世界模拟。
PYTHONPATH=$(pwd) python cosmos1/models/diffusion/inference/text2world.py \ --checkpoint_dir checkpoints \ --diffusion_transformer_dir Cosmos-1.0-Diffusion-7B-Text2World \ --prompt "$PROMPT" \ --offload_prompt_upsampler \ --video_save_name Cosmos-1.0-Diffusion-7B-Text2World- --prompt:场景描述,官方建议 120 词左右;超过 250 词会自动跳过上采样
- --offload_prompt_upsampler:用完即释放 12B 上采样器,80GB 卡跑 14B 必须加
- --disable_prompt_upsampler:禁用自动扩写,防止上采样器偏离你的原始意图
图/视频 → 续写:Video2World 条件生成
用一帧图或一段短视频作条件,让模型续写后续画面。
PYTHONPATH=$(pwd) python cosmos1/models/diffusion/inference/video2world.py \ --checkpoint_dir checkpoints \ --diffusion_transformer_dir Cosmos-1.0-Diffusion-7B-Video2World \ --input_image_or_video_path cosmos1/models/diffusion/assets/v1p0/video2world_input0.jpg \ --num_input_frames 1 \ --video_save_name Cosmos-1.0-Diffusion-7B-Video2World \ --offload_prompt_upsampler- --num_input_frames:只支持 1(单帧)或 9(短视频),决定条件强度
- --prompt:上采样器启用时可省略——它由 Pixtral 看图自动写出;禁用上采样器后此项必填
- --input_image_or_video_path:仓库自带 3 张公路场景输入,可直接复现
批量任务:JSONL 驱动的世界批量生成
一次吃下多条 prompt,产出整条数据管线。
PYTHONPATH=$(pwd) python cosmos1/models/diffusion/inference/text2world.py \ --checkpoint_dir checkpoints \ --diffusion_transformer_dir Cosmos-1.0-Diffusion-7B-Text2World \ --batch_input_path cosmos1/models/diffusion/assets/v1p0/batch_inputs/text2world.jsonl \ --video_save_folder outputs/Cosmos-1.0-Diffusion-7B-Text2World \ --offload_prompt_upsampler- --batch_input_path:JSONL,每行一个
{"prompt": "..."};Video2World 批量任务每行是{"visual_input": "path.mp4"} - --video_save_folder:批量输出的目录,单条模式则用
--video_save_name - --diffusion_transformer_dir:换
Cosmos-1.0-Diffusion-14B-Text2World即可升档,其余参数不变
⚙️ 硬件适配:24GB 到 80GB 的完整 offload 配置
| GPU | 显存 | 推荐 offload 组合(7B Text2World) | 预期占用 |
|---|---|---|---|
| H100 | 80GB | --offload_prompt_upsampler | 74.0GB(14B 需再加--offload_guardrail_models) |
| A100 | 80GB | --offload_prompt_upsampler --offload_guardrail_models | 57.1GB |
| A100 | 40GB | 再加--offload_text_encoder_model --offload_tokenizer | 38.3GB |
| RTX 3090/4090 | 24GB | 五个 offload 全开 | 24.4GB |
低配 24GB 卡的完整命令:
PYTHONPATH=$(pwd) python cosmos1/models/diffusion/inference/text2world.py \ --checkpoint_dir checkpoints \ --diffusion_transformer_dir Cosmos-1.0-Diffusion-7B-Text2World \ --prompt "$PROMPT" \ --offload_tokenizer \ --offload_diffusion_transformer \ --offload_text_encoder_model \ --offload_prompt_upsampler \ --offload_guardrail_models质量与速度旋钮(H100 单卡端到端参考:7B 约 380 秒,14B 约 590 秒):
- --num_steps(默认 35):30–35 快(速度↑),45–50 精修(质量↑)
- --fps(默认 24):12–40 可调,只改变播放节奏
- --height/--width:支持 960x960、1280x704、704x1280 等宽高比,换比例不用改其他参数
❓ 高频问题速查
Q:下载模型脚本直接报 401 / 访问被拒A:令牌权限设成了 Fine-grained → 去 Hugging Face 令牌设置把权限改为 Read,重新huggingface-cli login
Q:生成的人脸全部模糊,参数里怎么关都关不掉A:Guardrail 强制启用的后处理,不可禁用 → 把 prompt 改为无人脸场景(机器人、车辆、街道)
Q:想生成更长的视频,加--num_video_frames 241报错A:当前版本固定 121 帧,无其他选项 → 长视频改用 Video2World 拿输出再续写
Q:竖屏 720x1280 输出模糊变形A:只支持 5 种宽高比 → 1:1(960x960)、4:3(960x704)、3:4(704x960)、16:9(1280x704)、9:16(704x1280)
Q:批量任务跑起来后部分行被跳过A:JSONL 行格式不对 → Text2World 每行必须含prompt字段;Video2World 每行含visual_input,禁用上采样器时两者都要有
Q:下载 14B 模型断网中断,要重新拉几个 GA:Hugging Face 客户端支持断点续传 → 重跑download_diffusion.py,已下载分片会跳过
Q:40GB 卡跑 14B 报 CUDA out of memoryA:14B 全开 offload 也需约 39GB → 换 7B 全 offload(24.4GB),或上 80GB 卡
🧭 延伸方向:后训练、多卡推理与视频 Tokenizer
后训练:用 NeMo 框架对预训练世界基础模型做下游微调,先读 POST_TRAINING.md,再看 diffusion 后训练指南。
多卡推理:Diffusion 系列支持 context parallel,把扩散过程切到多卡近乎线性加速,见 NeMo 推理指南。
自回归分支:4B/12B 基础模型支持从单帧或 9 帧输入扩展到 33 帧,失败率比扩散模型更低的路径在 autoregressive README。
视频 Tokenizer:CV8x8x8 连续 + 离散双路线,可单独用于压缩与表征,见 tokenizer README。
建议从 7B Text2World 单条跑通,再换 14B 与批量 JSONL,最后按硬件表补 offload 组合。提示词先压到 120 词左右,扩写跑偏时关掉--disable_prompt_upsampler手动改写。Cosmos 的主场,是为机器人和自动驾驶批量生产视觉仿真场景的世界生成管线。
完整参数与高级配置见 INSTALL.md、cosmos1/models/diffusion/README.md · 源码入口:cosmos1/models/diffusion/inference/
【免费下载链接】cosmosNVIDIA Cosmos is an open platform of world models, datasets, and tools that enables developers to build Physical AI for robots, autonomous vehicles, smart infrastructure, and more.项目地址: https://gitcode.com/GitHub_Trending/cosmos7/cosmos
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考