視頻生成器文本到視頻
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" )
輸入影片 | 輸出影片 | |
“一個人在滑雪” | 《神力女超人,正在滑雪》 | “一個小女孩在滑雪” |
“兔子在吃西瓜” | “一隻貓正在吃桌子上的西瓜” | “一隻小狗正在吃桌子上的起司漢堡,喜劇風格” |
“一輛吉普車正在路上行駛” | “一輛汽車在路上行駛,卡通風格” | “一輛汽車在雪地上行駛” |