การใช้งาน Lumiere การสร้างข้อความเป็นวิดีโอ SOTA จาก Google Deepmind ใน Pytorch
บทวิจารณ์เอกสารของ Yannic
เนื่องจากบทความนี้ส่วนใหญ่เป็นเพียงแนวคิดหลักบางประการนอกเหนือจากโมเดลข้อความเป็นรูปภาพ เราจะก้าวไปอีกขั้นและขยาย Karras U-net ใหม่ไปยังวิดีโอภายในพื้นที่เก็บข้อมูลนี้
$ pip install lumiere-pytorch
import torch
from lumiere_pytorch import MPLumiere
from denoising_diffusion_pytorch import KarrasUnet
karras_unet = KarrasUnet (
image_size = 256 ,
dim = 8 ,
channels = 3 ,
dim_max = 768 ,
)
lumiere = MPLumiere (
karras_unet ,
image_size = 256 ,
unet_time_kwarg = 'time' ,
conv_module_names = [
'downs.1' ,
'ups.1' ,
'downs.2' ,
'ups.2' ,
],
attn_module_names = [
'mids.0'
],
upsample_module_names = [
'ups.2' ,
'ups.1' ,
],
downsample_module_names = [
'downs.1' ,
'downs.2'
]
)
noised_video = torch . randn ( 2 , 3 , 8 , 256 , 256 )
time = torch . ones ( 2 ,)
denoised_video = lumiere ( noised_video , time = time )
assert noised_video . shape == denoised_video . shape
เพิ่มชั้นชั่วคราวทั้งหมด
เปิดเผยเฉพาะพารามิเตอร์ชั่วคราวสำหรับการเรียนรู้ หยุดสิ่งอื่นทั้งหมด
ค้นหาวิธีที่ดีที่สุดในการจัดการกับการปรับสภาพเวลาหลังจากการสุ่มตัวอย่างแบบชั่วคราว - แทนที่จะแปลง pytree ในตอนเริ่มต้น อาจจะต้องเชื่อมต่อกับโมดูลทั้งหมดและตรวจสอบขนาดแบทช์
จัดการโมดูลกลางที่อาจมีรูปร่างเอาต์พุตเป็น (batch, seq, dim)
ตามข้อสรุปของ Tero Karras ให้ปรับแต่งตัวแปรของโมดูลทั้ง 4 แบบด้นสดด้วยการอนุรักษ์ขนาด
ทดสอบบน imagen-pytorch
ตรวจดูการแพร่กระจายหลายแบบและดูว่าสามารถเปลี่ยนเป็นกระดาษห่อธรรมดาๆ ได้หรือไม่
@inproceedings { BarTal2024LumiereAS ,
title = { Lumiere: A Space-Time Diffusion Model for Video Generation } ,
author = { Omer Bar-Tal and Hila Chefer and Omer Tov and Charles Herrmann and Roni Paiss and Shiran Zada and Ariel Ephrat and Junhwa Hur and Yuanzhen Li and Tomer Michaeli and Oliver Wang and Deqing Sun and Tali Dekel and Inbar Mosseri } ,
year = { 2024 } ,
url = { https://api.semanticscholar.org/CorpusID:267095113 }
}
@article { Karras2023AnalyzingAI ,
title = { Analyzing and Improving the Training Dynamics of Diffusion Models } ,
author = { Tero Karras and Miika Aittala and Jaakko Lehtinen and Janne Hellsten and Timo Aila and Samuli Laine } ,
journal = { ArXiv } ,
year = { 2023 } ,
volume = { abs/2312.02696 } ,
url = { https://api.semanticscholar.org/CorpusID:265659032 }
}