# AutoencoderKLLTXVideo

تم تقديم نموذج الترميز التلقائي التبايني ثلاثي الأبعاد (VAE) مع خسارة KL المستخدم في [LTX](https://huggingface.co/Lightricks/LTX-Video) من قبل Lightricks.

يمكن تحميل النموذج باستخدام مقتطف الشيفرة التالي.

```python
from diffusers import AutoencoderKLLTXVideo

vae = AutoencoderKLLTXVideo.from_pretrained("Lightricks/LTX-Video", subfolder="vae", dtype=torch.float32).to("cuda")  # or "mps", "xpu", "cpu"
```

## AutoencoderKLLTXVideo[[diffusers.AutoencoderKLLTXVideo]]

#### diffusers.AutoencoderKLLTXVideo[[diffusers.AutoencoderKLLTXVideo]]

```python
diffusers.AutoencoderKLLTXVideo(in_channels: int = 3, out_channels: int = 3, latent_channels: int = 128, block_out_channels: tuple = (128, 256, 512, 512), down_block_types: tuple = ('LTXVideoDownBlock3D', 'LTXVideoDownBlock3D', 'LTXVideoDownBlock3D', 'LTXVideoDownBlock3D'), decoder_block_out_channels: tuple = (128, 256, 512, 512), layers_per_block: tuple = (4, 3, 3, 3, 4), decoder_layers_per_block: tuple = (4, 3, 3, 3, 4), spatio_temporal_scaling: tuple = (True, True, True, False), decoder_spatio_temporal_scaling: tuple = (True, True, True, False), decoder_inject_noise: tuple = (False, False, False, False, False), downsample_type: tuple = ('conv', 'conv', 'conv', 'conv'), upsample_residual: tuple = (False, False, False, False), upsample_factor: tuple = (1, 1, 1, 1), timestep_conditioning: bool = False, patch_size: int = 4, patch_size_t: int = 1, resnet_norm_eps: float = 1e-06, scaling_factor: float = 1.0, encoder_causal: bool = True, decoder_causal: bool = False, spatial_compression_ratio: int = None, temporal_compression_ratio: int = None)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_ltx.py#L1035)

**المعاملات:**

in_channels (`int`، القيمة الافتراضية `3`) : عدد قنوات الإدخال.

out_channels (`int`، القيمة الافتراضية `3`) : عدد قنوات الإخراج.

latent_channels (`int`، القيمة الافتراضية `128`) : عدد قنوات الحالة الكامنة.

block_out_channels (`tuple[int, ...]`، القيمة الافتراضية هي `(128, 256, 512, 512)`) : عدد قنوات الإخراج لكل كتلة.

spatio_temporal_scaling (`tuple[bool, ...], defaults to `(True, True, True, False)` : Whether a block should contain spatio-temporal downscaling or not.

layers_per_block (`tuple[int, ...]`، القيمة الافتراضية هي `(4, 3, 3, 3, 4)`) : عدد الطبقات في كل كتلة.

patch_size (`int`، القيمة الافتراضية `4`) : حجم البقع المكانية.

patch_size_t (`int`، القيمة الافتراضية `1`) : حجم البقع الزمنية.

resnet_norm_eps (`float`، القيمة الافتراضية `1e-6`) : قيمة إيبسلون لطبقات تطبيع ResNet.

scaling_factor (`float`, *اختياري*, القيمة الافتراضية `1.0`) : الانحراف المعياري لكل مكوّن في الفضاء الكامن المُدرَّب، المُحسوب باستخدام الدفعة الأولى من مجموعة التدريب. يُستخدم هذا القيمة لتقريب الفضاء الكامن بحيث يكون له تباين وحدة عند تدريب نموذج الانتشار. يتم تقريب الكمونات باستخدام الصيغة `z = z * scaling_factor` قبل تمريرها إلى نموذج الانتشار. عند فك الترميز، تُعاد الكمونات إلى المقياس الأصلي باستخدام الصيغة: `z = 1 / scaling_factor * z`. لمزيد من التفاصيل، راجع الأقسام 4.3.2 و D.1 من ورقة [High-Resolution Image Synthesis with Latent Diffusion Models](https://huggingface.co/papers/2112.10752).

encoder_causal (`bool`، القيمة الافتراضية `True`) : ما إذا كان يجب أن يتصرف المُشفِّر بشكل سببي (حيث تعتمد الإطارات المستقبلية على الإطارات السابقة فقط) أم لا.

decoder_causal (`bool`، القيمة الافتراضية `False`) : ما إذا كان يجب أن يتصرف المُفكّك بشكل سببي (حيث تعتمد الإطارات المستقبلية على الإطارات السابقة فقط) أم لا.

نموذج VAE مع خسارة KL لتشفير الصور إلى كامنات وفك تمثيل الكامنات إلى صور. يُستخدم في [LTX](https://huggingface.co/Lightricks/LTX-Video).

يرث هذا النموذج من [ModelMixin](/docs/diffusers/main/ar/api/models/overview#diffusers.ModelMixin). راجع توثيق الفئة الأصلية لمعرفة طرقه العامة المُنفَّذة لجميع النماذج (مثل التنزيل أو الحفظ).

#### فك الترميز[[diffusers.AutoencoderKLLTXVideo.decode]]

```python
decode(z: Tensor, temb: typing.Optional[torch.Tensor] = None, return_dict: bool = True)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_ltx.py#L1281)

**المعاملات:**

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.

فكّ تشفير دفعة من الصور.

#### ترميز[[diffusers.AutoencoderKLLTXVideo.encode]]

```python
encode(x: Tensor, return_dict: bool = True)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_ltx.py#L1233)

**المعاملات:**

x (`torch.Tensor`) : دفعة من الصور المدخلة.

return_dict (`bool`، *اختياري*، الافتراضي `True`) : ما إذا كان يجب إرجاع `~models.autoencoder_kl.AutoencoderKLOutput` بدلاً من tuple عادي.

**يعيد:**

تمثيلات الكامنة للفيديوهات المُرمّزة. إذا كان `return_dict` صحيحًا (True)، يُعاد `~models.autoencoder_kl.AutoencoderKLOutput`، وإلا يُعاد `tuple` عادي.

ترميز دفعة من الصور إلى كامنات.

#### enable_tiling[[diffusers.AutoencoderKLLTXVideo.enable_tiling]]

```python
enable_tiling(tile_sample_min_height: int | None = None, tile_sample_min_width: int | None = None, tile_sample_min_num_frames: int | None = None, tile_sample_stride_height: float | None = None, tile_sample_stride_width: float | None = None, tile_sample_stride_num_frames: float | None = None)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_ltx.py#L1186)

**المعاملات:**

tile_sample_min_height (`int`, *اختياري*) : الحد الأدنى للارتفاع المطلوب لعينة حتى يتم فصلها إلى بلاطات عبر بُعد الارتفاع.

tile_sample_min_width (`int`, *اختياري*) : الحد الأدنى من العرض المطلوب حتى يتم فصل العينة إلى بلاطات عبر بُعد العرض.

tile_sample_stride_height (`int`، *اختياري*) : الحد الأدنى من التداخل بين بلاطتين عموديتين متتاليتين. يهدف هذا إلى ضمان عدم ظهور أي شوائب تخطيط عبر بُعد الارتفاع.

tile_sample_stride_width (`int`، *اختياري*) : الخطوة بين بلاطتين أفقيتين متتاليتين. يهدف هذا إلى ضمان عدم إنتاج أي شوائب تبليط عبر بُعد العرض.

تفعيل فك ترميز VAE المُجزّأ. عند تفعيل هذا الخيار، سيقوم VAE بتقسيم مصفوفة الإدخال إلى بلاطات لحساب فك الترميز والترميز على عدة خطوات. وهذا مفيد لتوفير كمية كبيرة من الذاكرة ولتيسير معالجة صور أكبر.

#### forward[[diffusers.AutoencoderKLLTXVideo.forward]]

```python
forward(sample: Tensor, temb: typing.Optional[torch.Tensor] = None, sample_posterior: bool = False, return_dict: bool = True, generator: typing.Optional[torch.Generator] = None)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_ltx.py#L1517)

**المعاملات:**

sample (`torch.Tensor`) : عينة الإدخال.

temb (`torch.Tensor`، *اختياري*) : متجه تضمين خطوة زمنية اختياري يُستخدم لتكييف المُفكِّك.

sample_posterior (`bool`، *اختياري*، الافتراضي `False`) : ما إذا كان سيتم أخذ عينة من التوزيع اللاحق.

return_dict (`bool`، *اختياري*، الافتراضي `True`) : ما إذا كان يجب إرجاع `DecoderOutput` بدلاً من tuple عادي.

generator (`torch.Generator`، *اختياري*) : [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) لجعل عملية أخذ العينات حتمية.

**يعيد:** `~models.vae.DecoderOutput` أو `tuple`

إذا كان `return_dict` صحيحًا، يُعاد `~models.vae.DecoderOutput`، وإلا يُعاد `tuple` عادي.

#### tiled_decode[[diffusers.AutoencoderKLLTXVideo.tiled_decode]]

```python
tiled_decode(z: Tensor, temb: typing.Optional[torch.Tensor], return_dict: bool = True)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_ltx.py#L1389)

**المعاملات:**

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.

فكّ تشفير دفعة من الصور باستخدام مُفكّك مُجزّأ.

#### tiled_encode[[diffusers.AutoencoderKLLTXVideo.tiled_encode]]

```python
tiled_encode(x: Tensor)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_ltx.py#L1338)

**المعاملات:**

x (`torch.Tensor`) : دفعة إدخال من مقاطع الفيديو.

**يعيد:** `torch.Tensor`

التمثيل الكامن للفيديوهات المُرمّزة.

ترميز دفعة من الصور باستخدام مُرمِّز مُقسَّم إلى بلاطات.

## AutoencoderKLOutput[[diffusers.models.modeling_outputs.AutoencoderKLOutput]]

#### diffusers.models.modeling_outputs.AutoencoderKLOutput[[diffusers.models.modeling_outputs.AutoencoderKLOutput]]

```python
diffusers.models.modeling_outputs.AutoencoderKLOutput(latent_dist: DiagonalGaussianDistribution)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/modeling_outputs.py#L7)

**المعاملات:**

latent_dist (`DiagonalGaussianDistribution`) : المخرجات المُرمّزة لـ`Encoder` ممثّلةً بمتوسط `DiagonalGaussianDistribution` ومتغيره اللوغاريتمي. تتيح `DiagonalGaussianDistribution` أخذ عينات من المتغيّرات الكامنة انطلاقًا من هذا التوزيع.

مخرجات طريقة الترميز encoding في AutoencoderKL.

## DecoderOutput[[diffusers.models.autoencoders.vae.DecoderOutput]]

#### diffusers.models.autoencoders.vae.DecoderOutput[[diffusers.models.autoencoders.vae.DecoderOutput]]

```python
diffusers.models.autoencoders.vae.DecoderOutput(sample: Tensor, commit_loss: typing.Optional[torch.FloatTensor] = None)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/vae.py#L49)

**المعاملات:**

sample (`torch.Tensor` من الشكل `(batch_size, num_channels, height, width)`) : عينة الإخراج المُفكّكة من الطبقة الأخيرة للنموذج.

مخرجات طريقة فك الترميز.

