Osc7/WaveForcing_Stage2_ODE_pair
WaveForcing Stage 2 — Wan2.1-T2V-14B ODE Endpoint Pairs 2K 本数据集包含 2,176 对文本条件视频生成端点数据:2,048 对训练数据及 128 对留出验证数据。每对数据保存文本提示词、初始高斯噪声 z_ref,以及同一提示词和噪声经 Wan2.1-T2V-14B teacher 去噪得到的最终 latent y_ref,可用于视频扩散模型的成对蒸馏或回归研究。 这里的 “ODE pairs” 指 初始噪声到最终去噪 latent 的端点对。数据没有保存 50 步采样过程中的中间状态,不是完整 ODE 轨迹数据集。 数据划分 Split 数量 pair_index 文件名 Train 2,048 0–2047 000000.pt–002047.pt Validation 128 2048–2175 002048.pt–002175.pt 总计 2,176 0–2175 2,176 个 .pt 文件 划分由… See the full description on the dataset page: https://huggingface.co/datasets/Osc7/WaveForcing_Stage2_ODE_pair.
WaveForcing Stage 2 — Wan2.1-T2V-14B ODE Endpoint Pairs 2K
本数据集包含 2,176 对文本条件视频生成端点数据:2,048 对训练数据及 128 对留出验证数据。每对数据保存文本提示词、初始高斯噪声 z_ref,以及同一提示词和噪声经 Wan2.1-T2V-14B teacher 去噪得到的最终 latent y_ref,可用于视频扩散模型的成对蒸馏或回归研究。
这里的 “ODE pairs” 指 初始噪声到最终去噪 latent 的端点对。数据没有保存 50 步采样过程中的中间状态,不是完整 ODE 轨迹数据集。
数据划分
划分由 manifest_train.jsonl 和 manifest_val.jsonl 记录。.pt 文件位于 pairs/,manifest 的 path 相对于 manifest 所在目录解析。训练和验证的提示词来源索引、完整提示词文本及噪声 seed 不重叠;没有进行语义去重。
生成设置
1504386 是固定的提示词打乱 seed 和噪声基础 seed,不是每条样本共用的噪声 seed。训练数据噪声 seed 为 1504386–1506433,验证数据为 1506434–1506561。
提示词来自已筛选、扩展的 VidProM 派生列表;本数据集并非原始 VidProM 的均匀随机样本,也不包含原始视频。
文件格式
每个 .pt 文件是由 torch.save 保存的字典,包含以下字段:
两个张量的形状均为 `[21, 16, 60, 104]`,维度顺序是 `[T, C, H, W]`,不含 batch 维度。使用匹配的 Wan VAE 解码后对应 81 帧、832×480 像素的视频;以 16 FPS 播放约为 5.06 秒。.pt 文件保存 latent,不保存视频像素或音频。
读取示例
先下载数据集:
from huggingface_hub import snapshot_download
snapshot_download(
repo_id="Osc7/WaveForcing_Stage2_ODE_pair",
repo_type="dataset",
local_dir="./waveforcing_stage2_pairs",
)读取单条数据:
from pathlib import Path
import hashlib
import torch
data_dir = Path("./waveforcing_stage2_pairs/pairs")
item = torch.load(
data_dir / "000000.pt",
map_location="cpu",
weights_only=True,
)
z_ref = item["z_ref"] # float32, [T, C, H, W]
y_ref = item["y_ref"] # float16, [T, C, H, W]
prompt = item["prompt"]
assert z_ref.shape == y_ref.shape == (21, 16, 60, 104)
assert z_ref.dtype == torch.float32
assert y_ref.dtype == torch.float16
def tensor_sha256(tensor):
array = tensor.detach().cpu().contiguous().numpy()
return hashlib.sha256(array.tobytes()).hexdigest()
assert tensor_sha256(z_ref) == item["z_ref_sha256"]
assert tensor_sha256(y_ref) == item["y_ref_sha256"]
# 按下游模型接口需要添加 batch 维度。
z_batch = z_ref.unsqueeze(0) # [B, T, C, H, W]完整性与可复现性
生成时的验证记录覆盖 2,176 条数据,包括样本元数据、张量形状、有限值及张量 SHA256。历史 teacher 重放记录针对验证样本 pair_index=2048:重放结果与保存结果的最大和平均绝对差均为 0,张量 SHA256 一致。
2026-09-15 的整理对全部 2,176 个 .pt 文件重新执行了 CPU 校验:连续编号、split 数量、元数据与 manifest 一致、teacher 采样设置、张量形状和精度、有限值,以及两个张量的 SHA256,全部通过。训练与验证的完整提示词文本也无交集。检查结果保存在 integrity_check.json。
SHA256SUMS 记录数据文件、manifest、说明文档及验证记录的文件级 SHA256,与 .pt 内部的张量级 SHA256 分开。张量文件保持原始字节,manifest 中的存储路径已改为相对路径。
这些是对已有数据的检查;本次整理没有重新运行 teacher。verification.json 和 replay_002048.json 保留生成后的历史记录。历史单样本重放结果不能视为所有样本或任意硬件、依赖版本均可逐位重现的保证。
使用范围与限制
- 所有目标都是 teacher 生成的合成 latent,可能包含 teacher 的偏差、语义错误或时间一致性问题。
- 每个选中的提示词仅对应一条噪声及其 teacher 输出,无法覆盖同一提示词的完整输出分布。
- 数据固定为一种分辨率、时长和 teacher 采样设置,不直接覆盖长视频、多分辨率或多采样配方。
- 留出验证集只有 128 对,适合本数据分布内的验证;它不能替代独立的生成质量和泛化评估。
y_ref采用 float16 存储,z_ref则以 float32 存储并在 teacher 输入时转换为 bfloat16;复现实验应保留这一精度约定。prompt_index的含义依赖于同一版本提示词来源列表的非空行顺序。记录本身未保存该列表的版本标识,也未保存 teacher 权重内容哈希。
来源与许可说明
Teacher 模型为 Wan2.1-T2V-14B;提示词来自 VidProM 派生的筛选及扩展列表。本文档不对提示词、上游模型或合成输出授予新的使用许可。
本次整理未确认这份提示词列表的完整授权链及本派生数据集可采用的统一许可,因此未填写确定的 dataset license。使用和再分发时应核对相应上游条款;不能将模型代码或模型权重的许可直接等同于提示词和本数据集的许可。
