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

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

 

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

 

介绍

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

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

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

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

实现

先决条件

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

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

pip install diffusers transformers accelerate torch

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

import torch
from diffusers import DiffusionPipeline, DPMSolverMultistepScheduler
from 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).frames
video_path = export_to_video(video_frames)

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

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

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

结论

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/107714.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

龙芯2K1000LA移植交叉编译环境以及QT

嵌入式大赛结束了,根据这次比赛中记的凌乱的笔记,整理了一份龙芯2K1000LA的环境搭建过程,可能笔记缺少了一部分步骤或者错误,但是大致步骤可以当作参考。 一、交叉编译工具链 下载连接:龙芯 GNU 编译工具链 | 龙芯开…

【PHP】echo 输出数组报Array to string conversion解决办法

代码&#xff1a; <?PHP echo "Hello World!";$demoName array("kexuexiong","xiong");echo "<pre>";var_dump($demoName);echo $demoName; print_r($demoName);echo "</pre>"; ?>输出结果&#xff1…

Anaconda Conda实现Python多环境管理

Anaconda Conda实现Python多环境管理 Python多环境AnacondaConda环境管理下载安装镜像配置环境管理常用命令创建Python3.10环境 Python多环境 Python多环境指的是在同一台计算机上同时安装并管理多个不同的Python版本。可以在不同版本的Python之间切换&#xff0c;并确保每个项…

ethers.js1:ethers的安装和使用

ethers官方文档&#xff1a;Documentation 1、ethers简介&#xff1a; ethers.js是一个完整而紧凑的开源库&#xff0c;用于与以太坊区块链及其生态系统进行交互。如果你要写Dapp的前端&#xff0c;你就需要用到ethers.js。 与更早出现的web3.js相比&#xff0c;它有以下优点…

05.Image Captioning with Semantic Attention

目录 前言泛读摘要Introduction创新/贡献点Related Work 精读输入的注意力模型输出的注意力模型模型学习视觉属性/概念预测实验MS-COCO的性能实验分析 Conclusion 代码略 前言 本课程来自深度之眼《多模态》训练营&#xff0c;部分截图来自课程视频。 文章标题&#xff1a;Ima…

工地扬尘自动监测识别算法

工地扬尘自动监测识别系统通过yolov7python网络模型深度学习算法模型&#xff0c;扬尘自动监测识别算法能够全天候、全方位地观测扬尘情况。YOLOv7 的策略是使用组卷积来扩展计算块的通道和基数。研究者将对计算层的所有计算块应用相同的组参数和通道乘数。然后&#xff0c;每个…

EasyExcel+POI制作带有有效性校验及下拉联动的Excel模板

文章目录 1.背景2.实现功能的Excel特性2.1.特性介绍2.2.下拉框联动2.3.单元格自动匹配Id2.4.错误提示 3.代码实现3.1.基础流程代码3.2.名称管理器配置3.3.有效性配置3.4.函数填充3.5.其他补充 4.总结 1.背景 最近在做一个CRM系统的人员销售目标导入的相关需求&#xff0c;需要…

eslint

什么是eslint ESLint 是一个根据方案识别并报告 ECMAScript/JavaScript 代码问题的工具&#xff0c;其目的是使代码风格更加一致并避免错误。 安装eslint npm init eslint/config执行后会有很多选项&#xff0c;按照自己的需求去选择就好&#xff0c;运行成功后会生成 .esli…

docker 重装提示 Exising installation is up to date 解决方法

Windows Docker 重装提示 Exising installation is up to date 解决方法 出现这个问题是因为卸载Docker没有卸载干净&#xff0c;导致无法重装 解决方法&#xff1a; 按下WindowR唤起命令输入界面&#xff0c;输入 regedit 打开注册表编辑在地址栏输入HKEY_LOCAL_MACHINE\SOFTW…

MQ消息队列(主要介绍RabbitMQ)

消息队列概念&#xff1a;是在消息的传输过程中保存消息的容器。 作用&#xff1a;异步处理、应用解耦、流量控制..... RabbitMQ&#xff1a; SpringBoot继承RabbitMQ步骤&#xff1a; 1.加入依赖 <dependency><groupId>org.springframework.boot</groupId&g…

Pygame编程(9)font模块

Pygame编程&#xff08;9&#xff09;font模块 函数示例 函数 pygame.font.init 初始化字体模块init() -> None pygame.font.quit 反初始化字体模块quit() -> None pygame.font.get_init True,如果字体模块已初始化get_init() -> bool pygame.font.get_default_font …

大数据之Maven

一、Maven的作用 作用一&#xff1a;下载对应的jar包 避免jar包重复下载配置&#xff0c;保证多个工程共用一份jar包。Maven有一个本地仓库&#xff0c;可以通过pom.xml文件来记录jar所在的位置。Maven会自动从远程仓库下载jar包&#xff0c;并且会下载所依赖的其他jar包&…

【现场问题】oracle 11g 和12c 使用jdbc链接,兼容的问题

oracle不同版本 问题是什么寻找解决方式首先Oracle的jdbc链接有几种形式?Oracle 11g的链接是什么呢Oracle 12C的链接是什么呢我的代码是哪种&#xff01;&#xff1f;发现问题没 解决问题代码 问题是什么 项目上建立Oracle数据源&#xff0c;以前大部分都是&#xff0c;11g的…

38、springboot为 spring mvc 提供的静态资源管理,覆盖和添加静态资源目录

springboot为 spring mvc 提供的静态资源管理 ★ Spring Boot为Spring MVC提供了默认的静态资源管理&#xff1a; ▲ 默认的四个静态资源目录&#xff1a; /META-INF/resources > /resources > /static > /public ▲ ResourceProperties.java类的源代码&#xff0…

上传镜像到阿里云的ACR

1、开通阿里云ACR 2、在ACR 中创建命名空间 3、本地安装docker 4、登录到 开通ACR&#xff0c;需要配置访问凭证 [rootmaster ~]# docker login --username***lb registry.cn-beijing.aliyuncs.com Password: 5、给镜像打标签 [rootmaster ~]# docker images REPOSITORY …

Unity Alembic闪烁问题

最近在做项目时&#xff0c;发现Clo3D导出的服装abc动画&#xff0c;导入到Unity中后(已提前导入Alembic插件)&#xff0c;运行时屏幕会闪烁(变黑)。 经过几轮测试&#xff0c;发现是切线的问题。解决办法很简单。将abc文件上的Tangents属性值改为None即可。

1. 学习 K8S: Docker 基础

学习 K8S: Docker 基础 1. Docker 的诞生 1.1 首次展示 2013 年 3 月 15 日&#xff0c;在北美的圣克拉拉市召开了一场 Python 开发者社区的主题会议 PyCon&#xff0c;研究和探讨各种 Python 开发技术和应用&#xff0c; 在当天的会议日程快结束时&#xff0c;有一位名为 S…

系统报错msvcp120.dll丢失的解决方法,常见的三种解决方法

今天为大家讲述关于系统报错msvcp120.dll丢失的解决方法。在这个信息爆炸的时代&#xff0c;我们每个人都可能遇到各种各样的问题&#xff0c;而这些问题往往需要我们去探索、去解决。今天&#xff0c;我将带领大家走进这个神秘的世界&#xff0c;一起寻找解决msvcp120.dll丢失…

weak_ptr是怎么探知对象生死的

weak_ptr是C智能指针中的一种。它用于解决共享所有权的问题&#xff0c;并且可以避免因循环引用而导致的内存泄漏。 weak_ptr本身并不承担对象的所有权&#xff0c;它指向由shared_ptr管理的对象。与shared_ptr不同&#xff0c;weak_ptr并不会增加计数器来计算对象的引用次数。…