视频生成器文本到视频
1.0.0
Tune-A-Video:一次性调整图像扩散模型以生成文本到视频
pip install -r requirements.txt
[稳定扩散]稳定扩散是一种潜在的文本到图像扩散模型,能够在给定任何文本输入的情况下生成逼真的图像。预训练的稳定扩散模型可以从 Hugging Face 下载(例如,稳定扩散 v1-4、v2-1)。您还可以使用在不同风格(例如 Modern Disney、Redshift 等)上训练的微调稳定扩散模型。
[DreamBooth] DreamBooth 是一种个性化文本到图像模型的方法,例如仅给定主题的几张图像(3~5 张图像)的稳定扩散。在 DreamBooth 模型上调整视频可以生成特定主题的个性化文本到视频。 Hugging Face 上有一些公开的 DreamBooth 模型(例如 mr-potato-head)。您还可以按照此训练示例训练您自己的 DreamBooth 模型。
要微调文本到图像扩散模型以生成文本到视频,请运行以下命令:
accelerate launch train_tuneavideo.py --config= " configs/man-skiing.yaml "
训练完成后,运行推理:
from tuneavideo . pipelines . pipeline_tuneavideo import TuneAVideoPipeline
from tuneavideo . models . unet import UNet3DConditionModel
from tuneavideo . util import save_videos_grid
import torch
pretrained_model_path = "./checkpoints/stable-diffusion-v1-4"
my_model_path = "./outputs/man-skiing"
unet = UNet3DConditionModel . from_pretrained ( my_model_path , subfolder = 'unet' , torch_dtype = torch . float16 ). to ( 'cuda' )
pipe = TuneAVideoPipeline . from_pretrained ( pretrained_model_path , unet = unet , torch_dtype = torch . float16 ). to ( "cuda" )
pipe . enable_xformers_memory_efficient_attention ()
pipe . enable_vae_slicing ()
prompt = "spider man is skiing"
ddim_inv_latent = torch . load ( f" { my_model_path } /inv_latents/ddim_latent-500.pt" ). to ( torch . float16 )
video = pipe ( prompt , latents = ddim_inv_latent , video_length = 24 , height = 512 , width = 512 , num_inference_steps = 50 , guidance_scale = 12.5 ). videos
save_videos_grid ( video , f"./ { prompt } .gif" )
输入视频 | 输出视频 | |
“一个人在滑雪” | 《神奇女侠,正在滑雪》 | “一个小女孩在滑雪” |
“兔子在吃西瓜” | “一只猫正在吃桌子上的西瓜” | “一只小狗正在吃桌子上的芝士汉堡,喜剧风格” |
“一辆吉普车正在路上行驶” | “一辆汽车在路上行驶,卡通风格” | “一辆汽车在雪地上行驶” |