写点什么

如何使用 LLM 实现文本自动生成视频

作者:3D建模设计
  • 2023-08-21
    湖北
  • 本文字数:1242 字

    阅读完需:约 4 分钟

如何使用LLM实现文本自动生成视频

推荐:使用NSDT场景编辑器助你快速搭建可二次编辑的 3D 应用场景

介绍

基于扩散的图像生成模型代表了计算机视觉领域的革命性突破。这些进步由 Imagen,DallE 和 MidJourney 等模型开创,展示了文本条件图像生成的卓越功能。有关这些模型内部工作的介绍,您可以阅读本文。

然而,Text-2-Video 模型的开发提出了更艰巨的挑战。目标是在每个生成的帧之间实现连贯性和一致性,并保持从视频开始到结束的生成上下文。

然而,基于扩散的模型的最新进展也为文本 2 视频任务提供了广阔的前景。现在,大多数文本 2-视频模型在预先训练的文本 2-图像模型上采用微调技术,集成动态图像运动模块,并利用各种文本 2-视频数据集,如 WebVid 或 HowTo100M。

在本文中,我们的方法涉及利用 HuggingFace 提供的微调模型,该模型被证明有助于生成视频。

实现

先决条件

我们使用 HuggingFace 提供的 Diffusers 库,以及一个名为 Accelerate 的实用程序库,它允许 PyTorch 代码在并行线程中运行。这加快了我们的生成过程。

首先,我们必须安装依赖项并为代码导入相关模块。

pip install diffusers transformers accelerate torch
复制代码

然后,从每个库中导入相关模块。

import torchfrom diffusers import DiffusionPipeline, DPMSolverMultistepSchedulerfrom diffusers.utils import export_to_video
复制代码

创建管道

我们将 ModelScope 提供的 Text-2-Video 模型加载到 HuggingFace 中,在扩散管道中。该模型具有 1 亿个参数,基于 UNet7D 架构,该架构通过迭代去噪过程从纯噪声生成视频。它分为三部分。模型首先从简单的英语提示符中执行文本特征提取。然后将文本特征编码到视频潜在空间并进行去噪。最后,将视频潜在空间解码回视觉空间并生成短视频。

pipe = DiffusionPipeline.from_pretrained("damo-vilab/text-to-video-ms-1.7b", torch_dtype=torch.float16, variant="fp16")

pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)

pipe.enable_model_cpu_offload()
复制代码

此外,我们使用 16 位浮点精度来降低 GPU 利用率。此外,还启用了 CPU 卸载,可在运行时从 GPU 中删除不必要的部分。

生成视频

prompt = "Spiderman is surfing"video_frames = pipe(prompt, num_inference_steps=25).framesvideo_path = export_to_video(video_frames)
复制代码

然后,我们将提示传递给视频生成管道,该管道提供一系列生成的帧。我们使用 25 个推理步骤,以便模型将执行 25 次去噪迭代。更多的推理步骤可以提高视频质量,但需要更多的计算资源和时间。

然后使用扩散器的实用程序功能组合单独的图像帧,并将视频保存在磁盘上。

然后,我们将提示传递给视频生成管道,该管道提供一系列生成的帧。然后使用扩散器的实用程序功能组合单独的图像帧,并将视频保存在磁盘上。

结论

足够简单!我们得到了蜘蛛侠冲浪的视频。虽然这是一个质量不高的短视频,但它仍然象征着这个过程的前景,它很快就会达到与 Image-2-Text 模型类似的结果。尽管如此,测试你的创造力和使用模型仍然足够好。


原文链接:如何使用LLM实现文本自动生成视频 (mvrlink.com)

发布于: 刚刚阅读数: 6
用户头像

还未添加个人签名 2023-04-14 加入

还未添加个人简介

评论

发布
暂无评论
如何使用LLM实现文本自动生成视频_Python_3D建模设计_InfoQ写作社区