首页 > 其他分享 >(14-2)基于Latent Diffusion Transformer的文生视频系统:系统配置

(14-2)基于Latent Diffusion Transformer的文生视频系统:系统配置

时间:2025-01-12 17:32:05浏览次数:3  
标签:Diffusion 视频 Transformer 训练 文生 ffs 生成 数据 步数

6.3  系统配置

在“configs”目录中,保存了本项目中涉及的不同数据集和任务提供配置文件。这些配置文件定义了模型的训练、验证和测试过程中的关键参数和设置,包括网络结构、优化器参数、学习率调度、数据预处理方式等。目录中每个子文件夹或文件的命名(如 ffs、sky、t2x、taichi、ucf101)对应具体的数据集或任务,例如 FaceForensics、SkyTimelapse、文本到视频生成(T2X)、Taichi-HD 和 UCF101。这种组织方式使用户可以快速定位和加载特定任务或数据集的配置,方便实验的复现和扩展。

6.3.1  FaceForensics数据集配置

FaceForensics 是一个广泛用于研究深度伪造检测和视频生成任务的数据集。它包含了真实视频和通过多种伪造技术(如Deepfake和Face2Face)生成的合成视频,主要用于评估模型在检测或生成任务中的性能。数据集包括了高质量的人脸视频,并提供多种分辨率(如 256×256)和预处理版本,适用于无条件视频生成、条件生成及伪造检测等多种任务。其多样性和逼真的数据特性使其成为视频生成和深伪研究中的重要基准。

(1)编写配置文件ffs_img_train.yaml,这是一个用于训练 Latte 模型在 FaceForensics(ffs_img)数据集上进行视频生成的配置文件,它指定了数据路径、预训练模型路径、模型架构、训练参数、保存和加载的相关设置,以及优化器和硬件资源使用的配置。文件中的参数可以控制生成帧数、分辨率、采样步数等关键属性,同时支持无条件生成和条件生成两种模式。另外,在训练过程中还考虑了内存优化和训练速度的配置选项。

dataset: "ffs_img"

data_path: "/path/to/datasets/preprocessed_ffs/train/videos/" # 数据集路径:预处理后的训练视频
frame_data_path: "/path/to/datasets/preprocessed_ffs/train/images/" # 数据集路径:帧图像
frame_data_txt: "/path/to/datasets/preprocessed_ffs/train_list.txt" # 数据集文件列表路径
pretrained_model_path: "/path/to/pretrained/Latte/" # 预训练模型路径

# 保存与加载
results_dir: "./results_img" # 保存结果的目录
pretrained:

# 模型配置:
model: LatteIMG-XL/2 # 模型类型
num_frames: 16 # 视频帧数量
image_size: 256 # 图像分辨率,选项=[256, 512]
num_sampling_steps: 250 # 采样步数
frame_interval: 3 # 帧间隔
fixed_spatial: False # 是否固定空间分辨率
attention_bias: True # 是否使用注意力偏置
learn_sigma: True # 重要:是否学习方差
extras: 1 # [1, 2] 1=无条件生成,2=基于类别的条件生成

# 训练配置:
save_ceph: True # 重要:是否保存中间结果
use_image_num: 8 # 使用的图像数量
learning_rate: 1e-4 # 学习率
ckpt_every: 10000 # 每隔多少步保存检查点
clip_max_norm: 0.1 # 梯度裁剪最大范数
start_clip_iter: 500000 # 开始使用梯度裁剪的迭代步数
local_batch_size: 4 # 重要:本地批量大小
max_train_steps: 1000000 # 最大训练步数
global_seed: 3407 # 全局随机种子
num_workers: 8 # 数据加载的线程数
log_every: 100 # 日志间隔步数
lr_warmup_steps: 0 # 学习率预热步数
resume_from_checkpoint: # 从检查点恢复
gradient_accumulation_steps: 1 # TODO 梯度累积步数
num_classes: # 类别数量

# 低显存和加速训练
use_compile: False # 是否使用编译优化
mixed_precision: False # 是否启用混合精度
enable_xformers_memory_efficient_attention: False # 是否启用xFormers内存高效注意力机制
gradient_checkpointing: False # 是否使用梯度检查点

(2)编写文件ffs_train.yaml,这是一个用于训练 Latte 模型在 FaceForensics(ffs)数据集上进行视频生成的配置文件。文件指定了数据路径、预训练模型路径、保存和加载的目录、模型架构和参数、训练配置,以及优化显存使用和训练速度的选项。该配置支持控制生成帧数、分辨率、采样步数等,同时可以选择无条件生成或基于类别的条件生成模式。文件ffs_train.yaml注重内存优化和训练过程中的灵活性,适合大规模视频生成任务的训练。

dataset: "ffs" # 数据集名称

data_path: "/path/to/datasets/preprocess_ffs/train/videos/" # 数据集路径:预处理后的训练视频
pretrained_model_path: "/path/to/pretrained/Latte/" # 预训练模型路径

# 保存与加载
results_dir: "./results" # 保存结果的目录
pretrained:

# 模型配置:
model: Latte-XL/2 # 模型类型
num_frames: 16 # 视频帧数量
image_size: 256 # 图像分辨率,选项=[256, 512]
num_sampling_steps: 250 # 采样步数
frame_interval: 3 # 帧间隔
fixed_spatial: False # 是否固定空间分辨率
attention_bias: True # 是否使用注意力偏置
learn_sigma: True # 重要:是否学习方差
extras: 1 # [1, 2] 1=无条件生成,2=基于类别的条件生成

# 训练配置:
save_ceph: True # 重要:是否保存中间结果
learning_rate: 1e-4 # 学习率
ckpt_every: 10000 # 每隔多少步保存检查点
clip_max_norm: 0.1 # 梯度裁剪最大范数
start_clip_iter: 20000 # 开始使用梯度裁剪的迭代步数
local_batch_size: 5 # 重要:本地批量大小
max_train_steps: 1000000 # 最大训练步数
global_seed: 3407 # 全局随机种子
num_workers: 8 # 数据加载的线程数
log_every: 100 # 日志间隔步数
lr_warmup_steps: 0 # 学习率预热步数
resume_from_checkpoint: # 从检查点恢复
gradient_accumulation_steps: 1 # TODO 梯度累积步数
num_classes: # 类别数量

# 低显存和加速训练
use_compile: False # 是否使用编译优化
mixed_precision: False # 是否启用混合精度
enable_xformers_memory_efficient_attention: False # 是否启用xFormers内存高效注意力机制
gradient_checkpointing: False # 是否使用梯度检查点

文件ffs_train.yaml和前面的ffs_img_train.yaml文件相比,两者的主要区别如下

  1. 文件ffs_train.yaml 使用的数据集标识为 ffs,任务可能是处理视频序列(以完整视频为单位)。
  2. 文件ffs_img_train.yaml 使用的数据集标识为 ffs_img,任务偏向于处理从视频中提取的独立帧(以图像为单位)。

(3)文件ffs_sample.yaml是一个用于配置 Latte 模型视频生成采样的文件,它定义了模型的参数(如帧数、分辨率、帧间隔等)、采样方法(如 DDPM)、加速配置(支持 FP16)、以及生成视频的保存路径和采样数量。文件还提供了分布式采样(DDP)的批处理配置,适合在多 GPU 环境下并行生成大量样本,如用于评估 FVD(Frechet Video Distance)等性能指标。

ckpt: # 将被覆盖的检查点路径
save_img_path: "./sample_videos" # 将被覆盖的保存采样视频路径
pretrained_model_path: "/path/to/pretrained/Latte/" # 预训练模型路径

# 模型配置:
model: Latte-XL/2 # 模型类型
num_frames: 16 # 视频帧数量
image_size: 256 # 图像分辨率,选项=[256, 512]
frame_interval: 2 # 帧间隔
fixed_spatial: False # 是否固定空间分辨率
attention_bias: True # 是否使用注意力偏置
learn_sigma: True # 是否学习方差
extras: 1 # [1, 2] 1=无条件生成,2=基于类别的条件生成
num_classes: # 类别数量

# 模型加速配置:
use_compile: False # 是否使用编译优化
use_fp16: True # 是否使用 FP16 精度

# 采样配置:
seed: # 随机种子
sample_method: 'ddpm' # 采样方法,使用 DDPM
num_sampling_steps: 250 # 采样步数
cfg_scale: 1.0 # 类别条件引导尺度
negative_name: # 负面引导条件

# DDP(分布式数据并行)采样配置:
per_proc_batch_size: 2 # 每个进程的批量大小
num_fvd_samples: 2048 # 用于 FVD 评估的采样数量

6.3.2  配置Sky Timelapse数据集

Sky Timelapse 数据集是一个专注于天空场景的时间推移视频数据集,主要捕捉了各种动态的天空变化,例如日出、日落、云层移动、星空等自然现象。该数据集以高分辨率的视频形式记录,适合用于研究时间序列建模、视频生成、天气预测等任务,尤其是在无条件和条件视频生成领域有广泛应用。Sky Timelapse 数据集提供了丰富的场景多样性和视觉动态特征,是评估视频生成模型效果的重要基准之一。

在本项目中,文件sky_img_train.yaml是一个用于训练 Latte 模型在 Sky Timelapse 数据集上进行基于图像帧生成任务的配置文件,该配置文件定义了数据路径、模型参数(如分辨率、帧数、采样步数等)、训练参数(如学习率、批量大小、最大训练步数等),并提供了适配显存优化和训练速度的选项。它支持无条件生成和基于类别的条件生成模式,同时对训练细节(如日志记录频率、检查点保存间隔)有明确配置。

dataset: "sky_img" # 数据集名称

data_path: "/path/to/datasets/sky_timelapse/sky_train/" # 数据路径:Sky Timelapse 数据集的训练集路径
pretrained_model_path: "/path/to/pretrained/Latte/" # 预训练模型路径

# 保存与加载:
results_dir: "./results_img" # 保存结果的目录
pretrained:

# 模型配置:
model: LatteIMG-XL/2 # 模型类型
num_frames: 16 # 视频帧数量
image_size: 256 # 图像分辨率,选项=[256, 512]
num_sampling_steps: 250 # 采样步数
frame_interval: 3 # 帧间隔
fixed_spatial: False # 是否固定空间分辨率
attention_bias: True # 是否使用注意力偏置
learn_sigma: True # 是否学习方差
extras: 1 # [1, 2] 1=无条件生成,2=基于类别的条件生成

# 训练配置:
save_ceph: True # 重要:是否保存中间结果
use_image_num: 8 # 重要:每次训练使用的图像帧数量
learning_rate: 1e-4 # 学习率
ckpt_every: 10000 # 每隔多少步保存检查点
clip_max_norm: 0.1 # 梯度裁剪的最大范数
start_clip_iter: 20000 # 开始使用梯度裁剪的迭代步数
local_batch_size: 4 # 重要:本地批量大小
max_train_steps: 1000000 # 最大训练步数
global_seed: 3407 # 全局随机种子
num_workers: 8 # 数据加载线程数
log_every: 50 # 日志记录间隔
lr_warmup_steps: 0 # 学习率预热步数
resume_from_checkpoint: # 从检查点恢复
gradient_accumulation_steps: 1 # TODO 梯度累积步数
num_classes: # 类别数量

# 显存优化和加速训练:
use_compile: False # 是否使用编译优化
mixed_precision: False # 是否启用混合精度
enable_xformers_memory_efficient_attention: False # 是否启用 xFormers 内存高效注意力机制
gradient_checkpointing: False # 是否使用梯度检查点

6.3.3  配置其它数据集

除了前面介绍的数据集配置信息,在本项目中还配置了其它数据集,具体说明如下所示:

1. t2x 数据集

t2x 通常指的是 Text-to-Video (T2V) 数据集,旨在评估模型从文本生成视频的能力。这类数据集包含大量文字描述和与之对应的视频剪辑,涵盖广泛的主题和动态场景,文本描述详细标注视频的内容、动作、场景等特征。T2V 数据集主要用于训练和测试文本条件下的视频生成模型,是研究多模态生成任务的核心资源。

2. Taichi 数据集

Taichi 数据集 专注于捕捉人体运动,通常用于生成或模拟动态的动作序列。它包含大量表演动作的视频,如舞蹈、武术、瑜伽等,注重人体的姿态和动作细节,是评估视频生成模型在动态场景下表现的常用基准。Taichi 数据集广泛应用于无条件生成和基于骨骼关键点的条件生成任务。

3. UCF101 数据集

UCF101 是一个流行的动作识别数据集,包含 101 个类别的真实世界视频,如骑马、游泳、打篮球等运动场景。该数据集覆盖了多种复杂的背景和动作动态,具有高多样性和丰富性。除了动作识别,它还被广泛用于视频生成任务,评估模型在生成真实、多样且连贯的视频方面的能力。

标签:Diffusion,视频,Transformer,训练,文生,ffs,生成,数据,步数
From: https://blog.csdn.net/asd343442/article/details/145095643

相关文章

  • YoloV8改进:注意力改进|Block改进|ESSAformer,用于高光谱图像超分辨率的高效Transformer
    摘要一、论文介绍高光谱图像超分辨率的重要性:高光谱成像技术通过密集采样光谱特征,为材料区分提供丰富的光谱和空间结构信息,广泛应用于各领域。高光谱图像超分辨率(HSI-SR)旨在从低分辨率HSI生成高分辨率HSI。传统方法的局限性:传统方法依赖手工制作的先验,如低秩近似和稀疏......
  • 算法进阶 | Transformer+Diffusion? Transfusion!
    本文来源公众号“算法进阶”,仅用于学术分享,侵权删,干货满满。原文链接:Transformer+Diffusion?Transfusion!近日,Meta和Waymo发布了最新论文《Transfusion:PredicttheNextTokenandDiffuseImageswithOneMulti-ModalModel》,该论文将流行的Transformer模型与Diff......
  • Stable Diffusion超详细教程!从0-1入门到进阶
    一、本地部署StableDiffusion(全套教程文末领取哈)前言目前市面上比较权威,并能用于工作中的AI绘画软件其实就两款。一个叫Midjourney(简称MJ),另一个叫Stable-Diffusion(简称SD)。MJ需要付费使用,而SD开源免费,但是上手难度和学习成本略大,并且非常吃电脑配置(显卡、内存)。E和Mid......
  • AI绘画工具中,为什么专业玩家爱用Stable Diffusion,普通玩家却喜欢Midjourney?
    专业玩家与普通玩家,用的「AI绘画工具」有什么不同?今天有个朋友找我聊天,发现他的头像是个线稿,感觉用来练手AI生成建筑效果图挺好的。我觉得现在比较好用的AI绘画主要有三个,分别是开源的StableDiffusion和收费的Midjourney、以及ChatGPT中集成的DALL-E。后面两个的注册相......
  • 豆包视觉理解模型主要采用了卷积神经网络(CNN)和变换器(Transformer)架构
    豆包视觉理解模型主要采用了卷积神经网络(CNN)和变换器(Transformer)架构。具体介绍如下:卷积神经网络(CNN)特征提取能力:CNN的卷积层通过卷积核在图像上滑动进行卷积操作,能够自动提取图像的局部特征,如边缘、纹理、形状等。这些特征对于图像的理解和识别至关重要,不同的卷积核可以提取不......
  • 2025最强AI软件教程来了!教你如何使用stable diffusion快速出景观建筑效果图
    <StableDiffusion效果图教程>要说哪款AI软件最适合建筑设计类?那必然是midjourney和StableDiffusion!之前我们也看到了他们生成的图虽然很漂亮,但现有阶段md生成图对我们建筑景观类把控不是很友好,而且md属于收费软件,所以今天我们主要介绍StableDiffusion(后简称SD)的一些......
  • 2025最强AI绘画工具Stable Diffusion的本地化安装和应用
    StableDiffusion是当前一款强大的AI图片生成器。它不仅支持文本描述生成图片,还能以图生图,利用各种模型得到AI绘画作品,还能训练个人的图片模型。由于StableDiffusion是一个开源的模型,可以将StableDiffusion安装在个人电脑,本地生成,不受网络限制,有众多绘画模型可用,适合AI绘......
  • 探索 Hugging Face Transformers 库
    自然语言处理(NLP)领域近年来取得了巨大的进展,而HuggingFaceTransformers库无疑是推动这一进展的重要力量。它为研究人员和开发者提供了丰富的预训练模型、简洁易用的接口以及高效的工具,极大地简化了NLP任务的开发流程。本文将带您深入探索Transformers库,了解其核心功能、......
  • Switch Transformers: 通过简单高效的稀疏性扩展到万亿参数模型
    摘要在深度学习中,模型通常为所有输入重用相同的参数。专家混合(MixtureofExperts,MoE)模型则不同,它为每个输入示例选择不同的参数。结果是一个稀疏激活的模型——具有惊人的参数数量——但计算成本恒定。然而,尽管MoE取得了一些显著的成功,但其广泛采用仍受到复杂性、通信......
  • Stable Diffusion完整入门指南,保姆级教程!干货满满
    前言AI绘画真的火了!最近观察员打开各大平台刷到的基本上都是用AI生成的画像、插画,甚至建筑设计这份完整版的AI绘画全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】区别于早几年的人工智能如今的AI只需要给它一......