【免费下载链接】libero4in1_wan2.2vae_latent_cosmos_style
libero4in1_wan2.2vae_latent_cosmos_style是一个 LIBERO 四套任务合并的 Wan2.2-VAE latent 缓存数据集,共 53 GB、1700+ 个.pt文件,并配有完整的dataset_manifest.json清单。本文带你逐字段读懂dataset_manifest.json,并解释episodes/*.pt文件里到底存了什么、怎么按 shard 分片读取,适合刚接触 VLA(视觉-语言-动作)机器人数据集的新手。
一、这个数据集是做什么的
训练 LIBERO policy(action head / VLA 模型)时,需要反复把 256×256 的视频帧喂给 VAE 编码器,这个开销非常大。本数据集提前把四个 suite 的视频统一用 Wan2.2 VAE 编码成latent 缓存,训练时直接读 latent,跳过重复的 VAE 编码。
| 目录 | suite | episode 数 | 窗口数 | 说明 |
|---|---|---|---|---|
| libero_spatial/ | libero_spatial | 432 | 46,058 | 空间推理任务 |
| libero_object/ | libero_object | 454 | 59,720 | 物体操作任务 |
| libero_goal/ | libero_goal | 428 | 45,194 | 目标指令任务 |
| libero_10/ | libero_10 | 379 | 95,405 | 多任务长指令 |
| 合计 | 4 in 1 | 1,693 | 246,377 | 见 README.md |
仓库每个 suite 目录结构一致,以 libero_10/ 为例:
episodes/episode_000000.pt…episode_000378.pt:每个 episode 一个 latent 文件- dataset_manifest.json:完整清单,含全部 379 个 episode 的元信息
- dataset_manifest_shard_0000.json ~
dataset_manifest_shard_0004.json:把 episode 均分成 5 片的小清单,方便分布式数据加载器按分片并行读数据
二、episodes/ 下的 .pt 文件:一个 episode 一份 latent
以 libero_10/episodes/episode_000000.pt 为例,每个.pt文件是单个 episode 的全部视频窗口 latent(bf16),命名规则固定为 6 位零填充编号:episode_000000.pt、episode_000001.pt……
几个关键参数(README 已说明):
- 编码模型:Wan2.2 VAE(
Wan2.2_VAE.pth) - 帧大小:256×256
- 窗口模式:windowed(
--windowed),即 episode 视频按窗口切分后逐窗口编码
⚠️新手注意:本仓库中的.pt文件是 Git LFS 指针(文件本体约 133 字节,指向真实数据)。实际使用时需要完整拉取 LFS 数据,或从 README.md 提示的 dataset 类型仓库下载,才能拿到真正的 latent 张量。
三、dataset_manifest.json 顶层字段逐条解读
打开 libero_10/dataset_manifest.json,顶层是一个 JSON 对象,字段含义如下:
| 字段 | 示例值 | 含义 |
|---|---|---|
schema_version | "exact_window_v1" | 清单 schema 版本,代码解析时应先校验此值 |
suite | "libero_10" | 所属 suite 名称,与目录名一致 |
source_dataset | /disk/rl/data/LIBERO_LeRobot_v3/libero_10 | 原始 RGB 数据集路径(编码前来源) |
image_size | 256 | VAE 编码输入边长,256×256 |
chunk_length | 16 | 单个时间窗口的帧长,即chunk_size |
camera_mode | "concat_view" | 相机视图拼接方式 |
sample_stride | 1 | 采样步长,1 表示逐帧不跳采 |
fps | 20.0 | 原始视频帧率 |
latent_shape | [5, 48, 12, 20] | 每个窗口的 latent 形状(channels, latent_c, latent_h, latent_w) |
vae_path | …/wan22_vae/Wan2.2_VAE.pth | 编码所用 VAE 权重路径,复现时须一致 |
vae_encode_contract | 见下文 | 编码契约:dtype 与分块规则,保证可复现 |
script_revision | "330f001" | 生成该清单的脚本 commit,用于版本追溯 |
task_index | null | 任务编号,本数据集为全量缓存故为 null |
episode_count | 379 | 该 suite 的 episode 总数 |
window_count | 95405 | 全部窗口(样本)总数,可直接估算 batch 数 |
episodes | 数组 | 逐 episode 的元信息,见下节 |
关于latent_shape = [5, 48, 12, 20]:256×256 的 RGB 帧经 Wan2.2 VAE 后,空间维度下采样 8 倍得到 12×20 的 latent 网格,48 是 latent 通道数,首维 5 对应窗口在时间维上的 latent 帧数(由chunk_length=16与 VAE 时间下采样共同决定)。
vae_encode_contract子对象规定了编码时的硬件级约束:
"vae_encode_contract": { "compute_dtype": "torch.bfloat16", "encode_exact_durations": [17, 61, 73], "encode_chunk_frames": { "256": 68, "480": 24, "720": 8, "768": 8 } }compute_dtype:全程 bf16 计算,换 dtype 数值会有差异encode_exact_durations:按这些时长精确切段编码,避免边界帧偏差encode_chunk_frames:不同分辨率下每次送入 VAE 的最大帧数,防显存溢出
四、episodes 数组:逐条元信息
顶层episodes数组中每个元素对应一个.pt文件,字段固定为 6 个(见 dataset_manifest.json 第 36-49 行):
| 字段 | 含义 |
|---|---|
episode_index | episode 编号,0 起,与文件名episode_000000.pt的编号一一对应 |
episode_path | 该 episode latent 文件的生成时绝对路径(注意:这是作者机器上的路径,实际文件在仓库对应目录下) |
window_count | 该 episode 切出的窗口总数,即该文件可提供的训练样本数 |
image_size | 该 episode 的输入边长,本数据集恒为 256 |
target_h/target_w | 拼接视图的输出尺寸 192×320(concat_view 布局) |
latent_shape | 该 episode 每个窗口的 latent 形状,与顶层一致 |
一个细节:window_count各不相同(如 ep0 是 198,ep2 是 268),因为每个 episode 的原始时长不同,窗口数由时长 − chunk_length决定。做数据均衡或按窗口采样训练时,应以逐 episode 的window_count为准,而不是简单按文件数均匀采样。
五、shard 分片文件:给分布式训练用的"切好蛋糕"
每个 suite 把 episode 均分成 5 片,例如 dataset_manifest_shard_0000.json 只有 76 个 episode,而完整清单有 379 个。分片文件与主清单的差异只有两处:
episodes数组只包含本片负责的 episode(按索引间隔取,如 0、5、10、15……)- 文件末尾多两个字段:
"episode_shard": 4, "num_shards": 5即"我是第 4 片(0 起算),共 5 片"。这样多卡 / 多进程训练时,每个 worker 只加载自己的 shard 清单,互不重叠。可以验证:5 个 shard 的window_count之和(19273+19690+18745+18880+18817)正好等于主清单的95405。
💡 提示:如果你的数据加载器支持分片(如按
shard_id / num_shards切分),直接用 shard 文件;否则读主清单即可,内容完全一致。
六、快速上手建议
- 先读 manifest 再读数据:解析
schema_version和latent_shape,确认与你的解码逻辑匹配,再加载.pt - 分布式训练用 shard:按
episode_shard分配,避免重复读盘 - 估算数据量:
window_count就是样本总数,四个 suite 合计约 24.6 万窗口 - 注意文件本体:仓库里的
.pt需通过 LFS 或 dataset 仓库拉取完整数据
相关文件索引:
- 项目说明:README.md
- 完整清单示例:libero_10/dataset_manifest.json
- 分片清单示例:libero_goal/dataset_manifest_shard_0000.json
- latent 文件示例:libero_spatial/episodes/episode_000000.pt
读懂这套格式后,你就可以把 LIBERO 原始视频"一步到位"地接入 VLA 训练管线,而不再为 VAE 编码重复付费了。🚀
【免费下载链接】libero4in1_wan2.2vae_latent_cosmos_style
相关推荐
新手必读:Nemotron-RL-instruction_following-structured_outputs数据格式详解——4大字段逐个拆解
新手必读:Nemotron RL instruction_following structured_outputs数据格式详解——4大字段逐个拆解 为什么这个数
fast-decisions数据格式深度解析:input、classifications与true_label字段逐个拆解
fast decisions数据格式深度解析:input、classifications与true_label字段逐个拆解 一、fast decisions 是
Fritzing:从电路小白到创客高手,这个开源工具如何重塑你的电子设计体验
Fritzing:从电路小白到创客高手,这个开源工具如何重塑你的电子设计体验 还在为复杂的电路设计软件而头疼吗?是否曾经面对密密麻麻的电路符号感到无从下手?Fr
硬件开发桌面应用
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考