Diffusers documentation
AutoencoderKLAllegro
AutoencoderKLAllegro
تم تقديم نموذج الترميز التلقائي التبايني ثلاثي الأبعاد (VAE) مع خسارة KL المستخدم في Allegro في Allegro: Open the Black Box of Commercial-Level Video Generation Model بواسطة RhymesAI.
يمكن تحميل النموذج باستخدام مقتطف الشيفرة التالي.
from diffusers import AutoencoderKLAllegro
vae = AutoencoderKLAllegro.from_pretrained("rhymes-ai/Allegro", subfolder="vae", dtype=torch.float32).to("cuda") # or "mps", "xpu", "cpu"AutoencoderKLAllegro
فئة diffusers.AutoencoderKLAllegro
< source >( in_channels: int = 3out_channels: int = 3down_block_types: tuple[str, ...] = ('AllegroDownBlock3D', 'AllegroDownBlock3D', 'AllegroDownBlock3D', 'AllegroDownBlock3D')up_block_types: tuple[str, ...] = ('AllegroUpBlock3D', 'AllegroUpBlock3D', 'AllegroUpBlock3D', 'AllegroUpBlock3D')block_out_channels: tuple[int, ...] = (128, 256, 512, 512)temporal_downsample_blocks: tuple[bool, ...] = (True, True, False, False)temporal_upsample_blocks: tuple[bool, ...] = (False, True, True, False)latent_channels: int = 4layers_per_block: int = 2act_fn: str = 'silu'norm_num_groups: int = 32temporal_compression_ratio: float = 4sample_size: int = 320scaling_factor: float = 0.13force_upcast: bool = True )
المعاملات
- in_channels (int، القيمة الافتراضية
3) — عدد القنوات في الصورة المدخلة. - out_channels (int، القيمة الافتراضية
3) — عدد القنوات في المخرجات. - down_block_types (
tuple[str, ...]، القيمة الافتراضية("AllegroDownBlock3D", "AllegroDownBlock3D", "AllegroDownBlock3D", "AllegroDownBlock3D")) — مجموعة من السلاسل النصية تحدد أنواع كتل التقليل (down blocks) المستخدمة. - up_block_types (
tuple[str, ...]، القيمة الافتراضية("AllegroUpBlock3D", "AllegroUpBlock3D", "AllegroUpBlock3D", "AllegroUpBlock3D")) — مجموعة من السلاسل النصية تحدد أنواع كتل التوسيع (up blocks) المستخدمة. - block_out_channels (
tuple[int, ...]، القيمة الافتراضية(128, 256, 512, 512)) — مجموعة من الأعداد الصحيحة تشير إلى عدد قنوات الإخراج في كل كتلة. - temporal_downsample_blocks (
tuple[bool, ...]، القيمة الافتراضية(True, True, False, False)) — مجموعة من القيم المنطقية تحدد الكتل التي سيتم تفعيل أخذ العينات الزمنية (temporal downsampling) فيها. - latent_channels (
int، القيمة الافتراضية4) — عدد القنوات في الكمونيات. - layers_per_block (
int، القيمة الافتراضية2) — عدد طبقات resnet أو الانتباه أو الالتفاف الزمني في كل كتلة هبوط/صعود. - act_fn (
str، القيمة الافتراضية"silu") — دالة التنشيط المستخدمة. - norm_num_groups (
int، القيمة الافتراضية32) — عدد المجموعات المستخدمة في طبقات التطبيع. - temporal_compression_ratio (
int، القيمة الافتراضية4) — النسبة التي يتم بها ضغط البُعد الزمني للعينات. - sample_size (
int، القيمة الافتراضية320) — الحجم الافتراضي للكامن. - scaling_factor (
float، القيمة الافتراضية0.13235) — انحراف معياري لكل مكوّن في الفضاء الكامن المُدرَّب، محسوب باستخدام الدفعة الأولى من مجموعة التدريب. يُستخدم هذا العامل لتقريب الفضاء الكامن إلى تباين وحدة أثناء تدريب نموذج الانتشار. يتم تقريب الكمونات باستخدام الصيغةz = z * scaling_factorقبل تمريرها إلى نموذج الانتشار. عند فك الترميز، تُعاد الكمونات إلى مقياسها الأصلي باستخدام الصيغة:z = 1 / scaling_factor * z. لمزيد من التفاصيل، راجع الأقسام 4.3.2 و D.1 من ورقة High-Resolution Image Synthesis with Latent Diffusion Models. - force_upcast (
bool، الافتراضيTrue) — إذا تم تفعيله، سيُجبر VAE على العمل بدقة float32 في خطوط الأنابيب ذات دقة الصور العالية، مثل SD-XL. يمكن ضبط VAE تدريبيًا / تدريبه على نطاق أدنى دون فقدان كبير في الدقة، وفي هذه الحالة يمكن تعيينforce_upcastإلىFalse- انظر: https://huggingface.co/madebyollin/sdxl-vae-fp16-fix
نموذج VAE مع خسارة KL لتشفير مقاطع الفيديو إلى كامنات وفك تمثيل الكامنات إلى مقاطع فيديو. يُستخدم في Allegro.
يرث هذا النموذج من ModelMixin. راجع توثيق الفئة الأصلية لمعرفة طرقه العامة المُنفَّذة لجميع النماذج (مثل التنزيل أو الحفظ).
decode
< source >( z: Tensorreturn_dict: bool = True ) → ~models.vae.DecoderOutput or tuple
المعاملات
- z (
torch.Tensor) — دفعة إدخال من المتجهات الكامنة. - return_dict (
bool، القيمة الافتراضيةTrue) — ما إذا كان يجب إرجاع~models.vae.DecoderOutputبدلاً من tuple عادي.
يعيد
~models.vae.DecoderOutput أو tuple
If return_dict is True, a ~models.vae.DecoderOutput is returned, otherwise a plain tuple is
returned.
فكّ ترميز دفعة من مقاطع الفيديو.
encode
< source >( x: Tensorreturn_dict: bool = True )
ترميز دفعة من مقاطع الفيديو إلى كامنات.
forward
< source >( sample: Tensorsample_posterior: bool = Falsereturn_dict: bool = Truegenerator: typing.Optional[torch.Generator] = None ) → ~models.vae.DecoderOutput or tuple
المعاملات
- sample (
torch.Tensor) — عينة الإدخال. - sample_posterior (
bool، اختياري، القيمة الافتراضيةFalse) — ما إذا كان سيتم أخذ عينة من التوزيع اللاحق. - return_dict (
bool، اختياري، القيمة الافتراضيةTrue) — ما إذا كان يجب إرجاعDecoderOutputبدلاً من tuple عادي. - generator (
torch.Generator، اختياري) — مولّد الأرقام العشوائية في PyTorch.
يعيد
~models.vae.DecoderOutput أو tuple
إذا كان return_dict صحيحًا، يُعاد ~models.vae.DecoderOutput، وإلا يُعاد tuple عادي.
AutoencoderKLOutput
فئة diffusers.models.modeling_outputs.AutoencoderKLOutput
< source >( latent_dist: DiagonalGaussianDistribution )
مخرجات طريقة الترميز encoding في AutoencoderKL.
DecoderOutput
فئة diffusers.models.autoencoders.vae.DecoderOutput
< source >( sample: Tensorcommit_loss: typing.Optional[torch.FloatTensor] = None )
مخرجات طريقة فك الترميز.