许可协议: cc-by-nc-4.0
标签:
- 文本生成视频
复刻来源: diffusers/text-to-video-ms-1.7b-legacy
开放领域文本生成视频模型
本模型基于多阶段文本生成视频扩散模型,输入描述文本即可生成符合文本描述的视频。目前仅支持英文输入。
模型描述
文本生成视频扩散模型由三个子网络组成:文本特征提取模型、文本特征到视频潜空间扩散模型、视频潜空间到视频视觉空间模型。整体模型参数量约17亿。目前仅支持英文输入。扩散模型采用UNet3D结构,通过从纯高斯噪声视频进行迭代去噪的过程实现视频生成。
本模型仅供研究用途。请参阅模型局限与偏差和滥用、恶意使用及过度使用章节。
模型详情
应用场景
本模型具有广泛的应用范围,可根据任意英文文本描述进行推理并生成视频。
使用方法
首先安装所需库:
$ pip install git+https://github.com/huggingface/diffusers transformers accelerate
生成视频示例:
import torch
from diffusers import DiffusionPipeline, DPMSolverMultistepScheduler
from diffusers.utils import export_to_video
pipe = DiffusionPipeline.from_pretrained("damo-vilab/text-to-video-ms-1.7b-legacy", torch_dtype=torch.float16)
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
pipe.enable_model_cpu_offload()
prompt = "蜘蛛侠在冲浪"
video_frames = pipe(prompt, num_inference_steps=25).frames
video_path = export_to_video(video_frames)
生成效果示例:
宇航员骑马
|
达斯·维达在冲浪
|
生成长视频
通过启用注意力机制和VAE切片,并使用Torch 2.0可优化内存使用。在GPU显存小于16GB的情况下可生成最长25秒的视频。
$ pip install diffusers transformers accelerate transformers accelerate
import torch
from diffusers import DiffusionPipeline, DPMSolverMultistepScheduler
from diffusers.utils import export_to_video
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()
pipe.enable_vae_slicing()
prompt = "蜘蛛侠在冲浪。达斯·维达也在冲浪并跟随蜘蛛侠"
video_frames = pipe(prompt, num_inference_steps=25, num_frames=200).frames
video_path = export_to_video(video_frames)
查看结果
上述代码将显示输出视频的保存路径,当前编码格式可使用VLC播放器播放。
输出的mp4文件可通过VLC媒体播放器查看。其他部分播放器可能无法正常播放。
模型局限与偏差
- 模型基于Webvid等公开数据集训练,生成结果可能存在与训练数据分布相关的偏差
- 本模型无法实现完美的影视级生成质量
- 模型无法生成清晰文本
- 模型主要基于英文语料训练,暂不支持其他语言
- 在复杂组合生成任务上,本模型性能有待提升
滥用、恶意使用与过度使用
- 本模型未针对真实人物/事件表征进行训练,因此生成此类内容超出模型能力范围
- 禁止生成贬低/危害人物及其环境、文化、宗教等内容
- 禁止用于色情、暴力血腥内容生成
- 禁止生成错误与虚假信息
训练数据
训练数据包含LAION5B、ImageNet、Webvid等公开数据集。在预训练后进行了美学评分、水印评分、去重等图像视频过滤。
(本模型卡部分内容取自此处)