Diffusers 文档

Stable Video Diffusion

Hugging Face's logo
加入 Hugging Face 社区

并获取增强的文档体验

开始使用

Stable Video Diffusion

Stable Video Diffusion 在 Stable Video Diffusion: Scaling Latent Video Diffusion Models to Large Datasets 中被提出,作者是 Andreas Blattmann, Tim Dockhorn, Sumith Kulal, Daniel Mendelevitch, Maciej Kilian, Dominik Lorenz, Yam Levi, Zion English, Vikram Voleti, Adam Letts, Varun Jampani, Robin Rombach。

该论文的摘要如下

我们提出了 Stable Video Diffusion - 一种用于高分辨率、最先进的文本到视频和图像到视频生成的潜在视频扩散模型。最近,为 2D 图像合成训练的潜在扩散模型通过插入时间层并在小型、高质量视频数据集上对其进行微调,已转变为生成视频模型。然而,文献中的训练方法差异很大,该领域尚未就管理视频数据的统一策略达成一致。在本文中,我们确定并评估了视频 LDM 成功训练的三个不同阶段:文本到图像预训练、视频预训练和高质量视频微调。此外,我们证明了精心策划的预训练数据集对于生成高质量视频的必要性,并提出了一个系统的管理流程来训练强大的基础模型,包括字幕和过滤策略。然后,我们探讨了在高质量数据上微调基础模型的影响,并训练了一个与闭源视频生成具有竞争力的文本到视频模型。我们还表明,我们的基础模型为下游任务(例如图像到视频生成以及对相机运动特定 LoRA 模块的适应性)提供了强大的运动表示。最后,我们证明了我们的模型提供了强大的多视角 3D 先验,并且可以作为微调多视角扩散模型的基础,该模型以前馈方式联合生成对象的多个视图,在计算预算的一小部分中优于基于图像的方法。我们在此 https URL 发布代码和模型权重。

要了解如何使用 Stable Video Diffusion,请查看 Stable Video Diffusion 指南。


查看 Stability AI Hub 组织,获取 baseextended frame 检查点!

技巧

视频生成是内存密集型的,降低内存使用量的一种方法是在 pipeline 的 UNet 上设置 enable_forward_chunking,这样你就不会一次性运行整个前馈层。将其分解成循环中的块效率更高。

请查看文本或图像到视频指南,了解更多关于某些参数如何影响视频生成以及如何通过减少内存使用量来优化推理的详细信息。

StableVideoDiffusionPipeline

class diffusers.StableVideoDiffusionPipeline

< >

( vae: AutoencoderKLTemporalDecoder image_encoder: CLIPVisionModelWithProjection unet: UNetSpatioTemporalConditionModel scheduler: EulerDiscreteScheduler feature_extractor: CLIPImageProcessor )

参数

  • vae (AutoencoderKLTemporalDecoder) — 变分自编码器 (VAE) 模型,用于将图像编码和解码为潜在表示。
  • image_encoder (CLIPVisionModelWithProjection) — 冻结的 CLIP 图像编码器 (laion/CLIP-ViT-H-14-laion2B-s32B-b79K)。
  • unet (UNetSpatioTemporalConditionModel) — 用于对编码后的图像潜在空间进行去噪的 UNetSpatioTemporalConditionModel
  • scheduler (EulerDiscreteScheduler) — 与 unet 结合使用的调度器,用于对编码后的图像潜在空间进行去噪。
  • feature_extractor (CLIPImageProcessor) — CLIPImageProcessor,用于从生成的图像中提取特征。

使用 Stable Video Diffusion 从输入图像生成视频的 Pipeline。

此模型继承自 DiffusionPipeline。查看超类文档,了解为所有 pipeline 实现的通用方法(下载、保存、在特定设备上运行等)。

StableVideoDiffusionPipelineOutput

class diffusers.pipelines.stable_video_diffusion.StableVideoDiffusionPipelineOutput

< >

( frames: typing.Union[typing.List[typing.List[PIL.Image.Image]], numpy.ndarray, torch.Tensor] )

参数

  • frames ([List[List[PIL.Image.Image]], np.ndarray, torch.Tensor]) — 长度为 batch_size 的去噪 PIL 图像列表,或形状为 (batch_size, num_frames, height, width, num_channels) 的 numpy 数组或 torch 张量。

Stable Video Diffusion pipeline 的输出类。

< > 在 GitHub 上更新