# FLAVA

## نظرة عامة

قُدِّم نموذج FLAVA في [FLAVA: A Foundational Language And Vision Alignment Model](https://huggingface.co/papers/2112.04482) بواسطة Amanpreet Singh وRonghang Hu وVedanuj Goswami وGuillaume Couairon وWojciech Galuba وMarcus Rohrbach وDouwe Kiela، وقد تم قبوله في مؤتمر CVPR 2022.

تهدف الورقة إلى إنشاء نموذج أساسي موحّد واحد يمكنه العمل عبر مهام الرؤية واللغة وكذلك المهام متعددة الوسائط التي تجمع بين الرؤية واللغة.

المستخلص من الورقة البحثية هو كالتالي:

*تعتمد أحدث نماذج الرؤية ونماذج الرؤية واللغة على التدريب المسبق على نطاق واسع للبيانات البصرية-اللغوية للحصول على أداء جيد في مجموعة متنوعة من المهام الثانوية. بشكل عام، غالبًا ما تكون هذه النماذج إما عابرة للأبعاد (تباينية) أو متعددة الأبعاد (مع دمج مبكر) وليس كلاهما معًا؛ وغالبًا ما تستهدف أبعادًا أو مهام محددة فقط. ستكون اتجاهًا واعدًا استخدام نموذج شامل موحد واحد، كـ "أساس"، يستهدف جميع الأبعاد في آن واحد -- يجب أن يكون نموذج الأساس الحقيقي للرؤية واللغة جيدًا في مهام الرؤية، ومهام اللغة، ومهام الرؤية واللغة العابرة ومتعددة الأبعاد. نقدم FLAVA كنموذج من هذا النوع ونُظهر أداءً مثيرًا للإعجاب في نطاق واسع من 35 مهمة تغطي هذه الأبعاد المستهدفة.*

تمت مساهمة هذا النموذج من قِبل [aps](https://huggingface.co/aps). يمكن العثور على الكود الأصلي [هنا](https://github.com/facebookresearch/multimodal/tree/main/examples/flava).

## FlavaConfig[[transformers.FlavaConfig]]

#### transformers.FlavaConfig[[transformers.FlavaConfig]]

```python
transformers.FlavaConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, image_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = None, text_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = None, multimodal_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = None, image_codebook_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = None, hidden_size: int = 768, layer_norm_eps: float = 1e-12, projection_dim: int = 768, init_codebook: bool = True, logit_scale_init_value: float = 2.6592, initializer_range: float = 0.02, ce_ignore_index: int = -100, mim_weight: float = 1.0, mlm_weight: float = 1.0, global_contrastive_weight: float = 1.0, itm_weight: float = 1.0, mmm_image_weight: float = 1.0, mmm_text_weight: float = 1.0, global_backprop_contrastive: bool = True, skip_unmasked_multimodal_encoder: bool = True, return_loss: bool = True, tie_word_embeddings: bool = True, initializer_factor: float = 1.0)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/configuration_flava.py#L185)

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

image_config (`dict`، *اختياري*) : قاموس لخيارات التهيئة المستخدمة لتبني [FlavaImageConfig](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageConfig).

text_config (`Union[dict[str, Any], ~configuration_utils.PreTrainedConfig]`، *اختياري*) : كائن الإعدادات أو قاموس العمود الفقري النصي.

multimodal_config (`dict`، *اختياري*) : قاموس لخيارات التهيئة المستخدمة لتبنيء [FlavaMultimodalConfig](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaMultimodalConfig).

image_codebook_config (`dict`، *اختياري*) : قاموس لخيارات التهيئة المستخدمة لتبويب `FlavaCodebookConfig`.

hidden_size (`int`، *اختياري*، القيمة الافتراضية `768`) : بُعد التمثيلات المخفية.

layer_norm_eps (`float`، *اختياري*، القيمة الافتراضية `1e-12`) : قيمة الإيبسلون المستخدمة في طبقات تطبيع الطبقة.

projection_dim (`int`، *اختياري*، القيمة الافتراضية `768`) : بُعد طبقات الإسقاط للنص والرؤية.

init_codebook (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم تهيئة دفتر الرموز

logit_scale_init_value (`float`، *اختياري*، القيمة الافتراضية 2.6592) : القيمة الأولية لمعامل *logit_scale*. تُستخدم القيمة الافتراضية وفقاً للتنفيذ الأصلي لـ FLAVA/CLIP.

initializer_range (`float`، *اختياري*، القيمة الافتراضية `0.02`) : الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.

ce_ignore_index (`int`، *اختياري*، القيمة الافتراضية -100) : فهرس إنتروبيا التبادلي (Cross entropy) الذي يجب تجاهله.

mim_weight (`float`، *اختياري*، القيمة الافتراضية 1.0) : الوزن الذي سيُمنح لخسارة MIM (Masked Image Modeling) أحادية النمط

mlm_weight (`float`، *اختياري*، القيمة الافتراضية 1.0) : الوزن الذي سيُمنح لخسارة نمذجة اللغة المقنّعة (Masked Language Modeling) أحادية النمط

global_contrastive_weight (`float`، *اختياري*، القيمة الافتراضية 1.0) : الوزن الذي سيُمنح لخسارة المحاذاة التباينية المتقاطعة العالمية.

itm_weight (`float`، *اختياري*، القيمة الافتراضية 1.0) : الوزن الذي سيُمنح لخسارة التطابق متعددة الوسائط بين الصورة والنص.

mmm_image_weight (`float`، *اختياري*، القيمة الافتراضية 1.0) : الوزن الذي سيُمنح للجزء الخاص بالصور في خسارة MMM.

mmm_text_weight (`float`، *اختياري*، القيمة الافتراضية 1.0) : الوزن الذي سيُمنح للجزء النصي من خسارة MMM.

global_backprop_contrastive (`bool`، *اختياري*، الافتراضي `True`) : ما إذا كان سيتم استخدام التراجع العالمي (global backpropagation) عبر جميع العمال (workers) في خسارة التباين (contrastive loss).

skip_unmasked_multimodal_encoder (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم تجاوز تشغيل مُشفِّر متعدد الوسائط غير المقنّع الذي لا تُستخدم مخرجاته في خسائر FLAVA.

return_loss (`bool`، *اختياري*، الافتراضي `True`) : ما إذا كان يجب إرجاع الخسارة أم لا

tie_word_embeddings (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب ربط ترميزات الأوزان وفقاً لخريطة `tied_weights_keys` الخاصة بالنموذج.

initializer_factor (`float`، *اختياري*، القيمة الافتراضية `1.0`) : معامل لتجميع جميع مصفوفات الأوزان (يجب إبقاؤه عند 1، ويُستخدم داخليًا لاختبارات التهيئة).

هذه فئة الإعدادات المخزنة لإعدادات نموذج FlavaModel. تُستخدم لاستحداث نموذج Flava وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى إعدادات مشابهة لتلك الخاصة بـ [facebook/flava-full](https://huggingface.co/facebook/flava-full)

ترث كائنات الإعداد من [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) لمزيد من المعلومات.

مثال:

```python
>>> from transformers import FlavaConfig, FlavaModel, FlavaForPreTraining

>>> # Initializing a FlavaConfig with style configuration
>>> configuration = FlavaConfig()

>>> # Initializing a FlavaModel and FlavaForPreTraining model (with random weights) from the style configuration
>>> model = FlavaModel(configuration)
>>> model_pre = FlavaForPreTraining(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
>>> configuration_pre = model_pre.config
```

## FlavaTextConfig[[transformers.FlavaTextConfig]]

#### transformers.FlavaTextConfig[[transformers.FlavaTextConfig]]

```python
transformers.FlavaTextConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, vocab_size: int = 30522, type_vocab_size: int = 2, max_position_embeddings: int = 512, hidden_size: int = 768, num_hidden_layers: int = 12, num_attention_heads: int = 12, intermediate_size: int = 3072, hidden_act: str = 'gelu', hidden_dropout_prob: float | int = 0.0, attention_probs_dropout_prob: float | int = 0.0, initializer_range: float = 0.02, layer_norm_eps: float = 1e-12, pad_token_id: int | None = 0, qkv_bias: bool = True)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/configuration_flava.py#L71)

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

vocab_size (`int`، *اختياري*، القيمة الافتراضية `30522`) : حجم مفردات النموذج. يحدد عدد الرموز المختلفة التي يمكن تمثيلها بواسطة `input_ids`.

type_vocab_size (`int`، *اختياري*، القيمة الافتراضية `2`) : حجم مفردات `token_type_ids`.

max_position_embeddings (`int`، *اختياري*، القيمة الافتراضية `512`) : أقصى طول تسلسل قد يُستخدم مع هذا النموذج.

hidden_size (`int`، *اختياري*، القيمة الافتراضية `768`) : بُعد التمثيلات المخفية.

num_hidden_layers (`int`، *اختياري*، القيمة الافتراضية `12`) : عدد الطبقات المخفية في مُفكِّك Transformer.

num_attention_heads (`int`، *اختياري*، القيمة الافتراضية `12`) : عدد رؤوس الانتباه في كل طبقة انتباه داخل مُفكِّك Transformer.

intermediate_size (`int`، *اختياري*، القيمة الافتراضية `3072`) : بُعد تمثيلات MLP.

hidden_act (`str`، *اختياري*، القيمة الافتراضية `gelu`) : دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، `"gelu"`، `"relu"`، `"silu"`، وما إلى ذلك.

hidden_dropout_prob (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.0`) : احتمال الإسقاط (dropout) لجميع الطبقات المتصلة بالكامل في التضمينات (embeddings) والمشفّر (encoder) والمجمّع (pooler).

attention_probs_dropout_prob (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.0`) : نسبة الإسقاط (dropout) لاحتمالات الانتباه.

initializer_range (`float`، *اختياري*، القيمة الافتراضية `0.02`) : الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.

layer_norm_eps (`float`، *اختياري*، القيمة الافتراضية `1e-12`) : قيمة الإيبسلون المستخدمة في طبقات تطبيع الطبقة.

pad_token_id (`int`، *اختياري*، القيمة الافتراضية `0`) : معرّف الرمز المستخدم للتعبئة في المفردات.

qkv_bias (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إضافة انحياز إلى الاستعلامات والمفاتيح والقيم.

هذه فئة الإعدادات المخزنة لإعدادات نموذج FlavaModel. تُستخدم لاستحداث نموذج Flava وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى إعدادات مشابهة لتلك الخاصة بـ [facebook/flava-full](https://huggingface.co/facebook/flava-full)

ترث كائنات الإعداد من [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) لمزيد من المعلومات.

مثال:

```python
>>> from transformers import FlavaTextConfig, FlavaTextModel

>>> # Initializing a FlavaTextModel with  style configuration
>>> configuration = FlavaTextConfig()

>>> # Initializing a FlavaTextModel model (with random weights) from the style configuration
>>> model = FlavaTextModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```

## FlavaImageConfig[[transformers.FlavaImageConfig]]

#### transformers.FlavaImageConfig[[transformers.FlavaImageConfig]]

```python
transformers.FlavaImageConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, hidden_size: int = 768, num_hidden_layers: int = 12, num_attention_heads: int = 12, intermediate_size: int = 3072, hidden_act: str = 'gelu', hidden_dropout_prob: float | int = 0.0, attention_probs_dropout_prob: float | int = 0.0, initializer_range: float = 0.02, layer_norm_eps: float = 1e-12, image_size: int | list[int] | tuple[int, int] = 224, patch_size: int | list[int] | tuple[int, int] = 16, num_channels: int = 3, qkv_bias: bool = True, mask_token: bool = True, vocab_size: int = 8192)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/configuration_flava.py#L29)

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

hidden_size (`int`، *اختياري*، القيمة الافتراضية `768`) : بُعد التمثيلات المخفية.

num_hidden_layers (`int`، *اختياري*، القيمة الافتراضية `12`) : عدد الطبقات المخفية في مُفكِّك Transformer.

num_attention_heads (`int`، *اختياري*، القيمة الافتراضية `12`) : عدد رؤوس الانتباه في كل طبقة انتباه داخل مُفكِّك Transformer.

intermediate_size (`int`، *اختياري*، القيمة الافتراضية `3072`) : بُعد تمثيلات MLP.

hidden_act (`str`، *اختياري*، القيمة الافتراضية `gelu`) : دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، `"gelu"`، `"relu"`، `"silu"`، وما إلى ذلك.

hidden_dropout_prob (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.0`) : احتمال الإسقاط (dropout) لجميع الطبقات المتصلة بالكامل في التضمينات (embeddings) والمشفّر (encoder) والمجمّع (pooler).

attention_probs_dropout_prob (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.0`) : نسبة الإسقاط (dropout) لاحتمالات الانتباه.

initializer_range (`float`، *اختياري*، القيمة الافتراضية `0.02`) : الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.

layer_norm_eps (`float`، *اختياري*، القيمة الافتراضية `1e-12`) : قيمة الإيبسلون المستخدمة في طبقات تطبيع الطبقة.

image_size (`Union[int, list[int], tuple[int, int]]`، *اختياري*، القيمة الافتراضية `224`) : حجم (دقة) كل صورة.

patch_size (`Union[int, list[int], tuple[int, int]]`، *اختياري*، القيمة الافتراضية `16`) : حجم (دقة) كل رقعة.

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

qkv_bias (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إضافة انحياز إلى الاستعلامات والمفاتيح والقيم.

mask_token (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم استخدام رمز قناع أم لا. يُستخدم في خسارة MIM (نمذجة الصور المقنّعة) لـ FLAVA.

vocab_size (`int`, *اختياري*, القيمة الافتراضية `8192`) : حجم مفردات النموذج. يحدد عدد الرموز المختلفة التي يمكن تمثيلها بواسطة `input_ids`.

هذه فئة الإعدادات المخزنة لإعدادات نموذج FlavaModel. تُستخدم لاستحداث نموذج Flava وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى إعدادات مشابهة لتلك الخاصة بـ [facebook/flava-full](https://huggingface.co/facebook/flava-full)

ترث كائنات الإعداد من [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) لمزيد من المعلومات.

مثال:

```python
>>> from transformers import FlavaImageConfig, FlavaImageModel

>>> # Initializing a FlavaImageModel with  style configuration
>>> configuration = FlavaImageConfig()

>>> # Initializing a FlavaImageModel model (with random weights) from the style configuration
>>> model = FlavaImageModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```

## FlavaMultimodalConfig[[transformers.FlavaMultimodalConfig]]

#### transformers.FlavaMultimodalConfig[[transformers.FlavaMultimodalConfig]]

```python
transformers.FlavaMultimodalConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, hidden_size: int = 768, num_hidden_layers: int = 6, num_attention_heads: int = 12, intermediate_size: int = 3072, hidden_act: str = 'gelu', hidden_dropout_prob: float | int = 0.0, attention_probs_dropout_prob: float | int = 0.0, initializer_range: float = 0.02, layer_norm_eps: float = 1e-12, qkv_bias: bool = True, use_cls_token: bool = True)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/configuration_flava.py#L109)

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

hidden_size (`int`، *اختياري*، القيمة الافتراضية `768`) : بُعد التمثيلات المخفية.

num_hidden_layers (`int`, *اختياري*, الافتراضي هو `6`) : عدد الطبقات المخفية في مُفكِّك Transformer.

num_attention_heads (`int`، *اختياري*، القيمة الافتراضية `12`) : عدد رؤوس الانتباه في كل طبقة انتباه داخل مُفكِّك Transformer.

intermediate_size (`int`، *اختياري*، القيمة الافتراضية `3072`) : بُعد تمثيلات MLP.

hidden_act (`str`، *اختياري*، القيمة الافتراضية `gelu`) : دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، `"gelu"`، `"relu"`، `"silu"`، وما إلى ذلك.

hidden_dropout_prob (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.0`) : احتمال الإسقاط (dropout) لجميع الطبقات المتصلة بالكامل في التضمينات (embeddings) والمشفّر (encoder) والمجمّع (pooler).

attention_probs_dropout_prob (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.0`) : نسبة الإسقاط (dropout) لاحتمالات الانتباه.

initializer_range (`float`، *اختياري*، القيمة الافتراضية `0.02`) : الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.

layer_norm_eps (`float`، *اختياري*، القيمة الافتراضية `1e-12`) : قيمة الإيبسلون المستخدمة في طبقات تطبيع الطبقة.

qkv_bias (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إضافة انحياز إلى الاستعلامات والمفاتيح والقيم.

use_cls_token (`bool`، *اختياري*، الافتراضي `True`) : ما إذا كان سيتم استخدام رمز CLS إضافي للإعدادات متعددة الوسائط. عادةً ما يكون مطلوبًا من قبل نموذج FLAVA.

هذه فئة الإعدادات المخزنة لإعدادات نموذج FlavaModel. تُستخدم لاستحداث نموذج Flava وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى إعدادات مشابهة لتلك الخاصة بـ [facebook/flava-full](https://huggingface.co/facebook/flava-full)

ترث كائنات الإعداد من [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) لمزيد من المعلومات.

مثال:

```python
>>> from transformers import FlavaMultimodalConfig, FlavaMultimodalModel

>>> # Initializing a FlavaMultimodalModel with  style configuration
>>> configuration = FlavaMultimodalConfig()

>>> # Initializing a FlavaMultimodalModel model (with random weights) from the style configuration
>>> model = FlavaMultimodalModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```

## FlavaImageCodebookConfig[[transformers.FlavaImageCodebookConfig]]

#### transformers.FlavaImageCodebookConfig[[transformers.FlavaImageCodebookConfig]]

```python
transformers.FlavaImageCodebookConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, num_groups: int = 4, input_channels: int = 3, num_blocks_per_group: int = 2, hidden_size: int = 256, vocab_size: int = 8192, freeze: bool = True, initializer_range: float = 0.02)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/configuration_flava.py#L147)

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

num_groups (`int`، *اختياري*، القيمة الافتراضية 4) : عدد المجموعات التي سيتم إنشاؤها. لا يؤثر هذا المعامل على النموذج حتى الآن، ويُستخدم لبعض الحسابات والتقديرات الداخلية.

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

num_blocks_per_group (`int`، *اختياري*، القيمة الافتراضية 2) : عدد الكتل المعتمدة على الالتفاف في كل مجموعة.

hidden_size (`int`، *اختياري*، القيمة الافتراضية `256`) : بُعد التمثيلات المخفية.

vocab_size (`int`, *اختياري*, القيمة الافتراضية `8192`) : حجم مفردات النموذج. يحدد عدد الرموز المختلفة التي يمكن تمثيلها بواسطة `input_ids`.

freeze (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم تجميد أوزان النموذج.

initializer_range (`float`، *اختياري*، القيمة الافتراضية `0.02`) : الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.

هذه فئة الإعدادات المخزنة لإعدادات نموذج FlavaModel. تُستخدم لاستحداث نموذج Flava وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى إعدادات مشابهة لتلك الخاصة بـ [facebook/flava-full](https://huggingface.co/facebook/flava-full)

ترث كائنات الإعداد من [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) لمزيد من المعلومات.

مثال:

```python
>>> from transformers import FlavaImageCodebookConfig, FlavaImageCodebook

>>> # Initializing a FlavaImageCodebook with style configuration
>>> configuration = FlavaImageCodebookConfig()

>>> # Initializing a FlavaImageCodebook model (with random weights) from the style configuration
>>> model = FlavaImageCodebook(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config
```

## FlavaProcessor[[transformers.FlavaProcessor]]

#### transformers.FlavaProcessor[[transformers.FlavaProcessor]]

```python
transformers.FlavaProcessor(image_processor = None, tokenizer = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/processing_flava.py#L23)

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

image_processor (`FlavaImageProcessor`) : مُعالج الصور هو مدخل مطلوب.

tokenizer (`BertTokenizer`) : مُجزِّئ النص (tokenizer) هو مدخل إلزامي.

ينشئ FlavaProcessor الذي يجمع معالج الصور ومعالج الرموز في معالج واحد.

يوفر [FlavaProcessor](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaProcessor) جميع وظائف [FlavaImageProcessor](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageProcessor) و[BertTokenizer](/docs/transformers/main/ar/model_doc/lxmert#transformers.BertTokenizer). راجع [~FlavaImageProcessor](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageProcessor) و[~BertTokenizer](/docs/transformers/main/ar/model_doc/lxmert#transformers.BertTokenizer) لمزيد من المعلومات.

#### __call__[[transformers.FlavaProcessor.__call__]]

```python
__call__(images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = None, text: str | list[str] | list[list[str]] | None = None, videos: typing.Union[list['PIL.Image.Image'], numpy.ndarray, ForwardRef('torch.Tensor'), list[numpy.ndarray], list['torch.Tensor'], list[list['PIL.Image.Image']], list[list[numpy.ndarray]], list[list['torch.Tensor']], transformers.video_utils.URL, list[transformers.video_utils.URL], list[list[transformers.video_utils.URL]], transformers.video_utils.Path, list[transformers.video_utils.Path], list[list[transformers.video_utils.Path]], NoneType] = None, audio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = None, **kwargs: *<class 'transformers.processing_utils.ProcessingKwargs'>)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/processing_utils.py#L653)

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

images (`Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]`, *اختياري*) : الصورة التي سيتم معالجتها مسبقًا. يتوقع صورة واحدة أو دفعة من الصور بقيم بكسل تتراوح بين 0 و255. إذا كنت تمرر صورًا بقيم بكسل بين 0 و1، فاضبط `do_rescale=False`.

text (`Union[str, list[str], list[list[str]]]`، *اختياري*) : التسلسل أو الدفعة من التسلسلات المراد ترميزها. يمكن أن يكون كل تسلسل نصًا أو قائمة من النصوص (نص مُجزَّأ مسبقًا). إذا مررت مدخلات مُجزَّأة مسبقًا، فاضبط `is_split_into_words=True` لتجنب الغموض مع المدخلات المُجمَّعة في دفعات.

videos (`Union[list[PIL.Image.Image], numpy.ndarray, torch.Tensor, list[numpy.ndarray], list[torch.Tensor], list[list[PIL.Image.Image]], list[list[numpy.ndarray]], list[list[torch.Tensor]], ~video_utils.URL, list[~video_utils.URL], list[list[~video_utils.URL]], ~video_utils.Path, list[~video_utils.Path], list[list[~video_utils.Path]]]`، *اختياري*) : الفيديو المراد معالجته مسبقًا. يتوقع إدخال فيديو واحد أو دفعة من الفيديوهات بقيم بكسل تتراوح بين 0 و255. إذا كنت تمرر فيديوهات بقيم بكسل بين 0 و1، فاضبط `do_rescale=False`.

audio (`Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]]`، *اختياري*) : الصوت أو مجموعة الأصوات التي يجب تجهيزها. يمكن أن يكون كل صوت مصفوفة NumPy أو متجه PyTorch. في حالة استخدام مصفوفة NumPy/متجه PyTorch، يجب أن يكون شكل كل صوت (C, T)، حيث C هو عدد القنوات، وT هو طول العينة للصوت.

return_tensors (`str` أو [TensorType](/docs/transformers/main/ar/internal/file_utils#transformers.TensorType)، *اختياري*) : إذا تم تعيينه، فسيُرجع تينسورات من إطار عمل محدد. القيم المقبولة هي:  - `'pt'`: يُرجع كائنات `torch.Tensor` من PyTorch. - `'np'`: يُرجع كائنات `np.ndarray` من NumPy.

- ****kwargs** ([ProcessingKwargs](/docs/transformers/main/ar/main_classes/processors#transformers.ProcessingKwargs)، *اختياري*) : خيارات معالجة إضافية لكل نمط (نص، صور، مقاطع فيديو، صوت). تُدرج المعلمات الخاصة بالنموذج أعلاه؛ راجع فئة TypedDict للحصول على القائمة الكاملة للحجج المدعومة.

## FlavaImageProcessor[[transformers.FlavaImageProcessor]]

#### transformers.FlavaImageProcessor[[transformers.FlavaImageProcessor]]

```python
transformers.FlavaImageProcessor(**kwargs: *<class 'transformers.models.flava.image_processing_flava.FlavaImageProcessorKwargs'>)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/image_processing_flava.py#L213)

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

do_convert_rgb (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تحويل الصورة إلى RGB.

do_resize (`bool`، *kwargs*، *اختياري*، الافتراضي هو `True`) : ما إذا كان سيتم تغيير حجم الصورة.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`، *kwargs*، القيمة الافتراضية هي `{'height' : 224, 'width': 224}`): يصف الأبعاد القصوى للمدخلات إلى النموذج.

default_to_square (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب افتراض صورة مربعة عند تغيير الحجم، إذا كان الحجم من نوع عدد صحيح.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`، *kwargs*، القيمة الافتراضية `{'height' : 224, 'width': 224}`): حجم الصورة الناتجة بعد تطبيق `center_crop`.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`، *kwargs*، القيمة الافتراضية `3`) : مرشح إعادة العينة المستخدم عند تغيير حجم الصورة. يمكن أن يكون أحد قيم enum `PILImageResampling`. لا يؤثر إلا إذا كانت قيمة `do_resize` هي `True`.

do_rescale (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إعادة تحجيم الصورة.

rescale_factor (`float`، *kwargs*، *اختياري*، القيمة الافتراضية هي `0.00392156862745098`) : عامل إعادة التحجيم لإعادة تحجيم الصورة إذا كان `do_rescale` مضبوطاً على `True`.

do_normalize (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم تطبيع الصورة.

image_mean (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *اختياري*، القيمة الافتراضية هي `[0.48145466, 0.4578275, 0.40821073]`) : متوسط الصورة المستخدم للتطبيع. لا يكون له تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

image_std (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *اختياري*، القيمة الافتراضية هي `[0.26862954, 0.26130258, 0.27577711]`) : انحراف معيار الصورة المستخدم للتطبيع. لا يكون له تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

do_pad (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب إضافة حشوة إلى الصورة. يتم تنفيذ الحشوة إما إلى أكبر حجم في الدفعة أو إلى حجم مربع ثابت لكل صورة. تعتمد استراتيجية الحشوة الدقيقة على النموذج.

pad_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : الحجم على شكل `{"height": int, "width" int}` الذي يجب توسيد الصور إليه. يجب أن يكون أكبر من أي حجم صورة مُقدَّم للمعالجة المسبقة. إذا لم يُقدَّم `pad_size`، فسيتم توسيد الصور إلى أكبر ارتفاع وعرض في الدفعة. يُطبَّق فقط عندما يكون `do_pad=True.`

do_center_crop (`bool`, *kwargs*, *اختياري*, القيمة الافتراضية هي `True`) : ما إذا كان سيتم قص الصورة من المنتصف.

data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : يُدعم `ChannelDimension.FIRST` فقط. أُضيف من أجل التوافق مع المعالجات البطيئة.

input_data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : تنسيق بُعد القناة للصورة المدخلة. إذا لم يتم ضبطه، يُستنتج تنسيق بُعد القناة من الصورة المدخلة. يمكن أن يكون أحد ما يلي: - `"channels_first"` أو `ChannelDimension.FIRST`: صورة بتنسيق (num_channels, height, width). - `"channels_last"` أو `ChannelDimension.LAST`: صورة بتنسيق (height, width, num_channels). - `"none"` أو `ChannelDimension.NONE`: صورة بتنسيق (height, width).

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : الجهاز الذي تتم عليه معالجة مقاطع الفيديو. إذا لم يتم ضبطه، يُستنتج الجهاز من مقاطع الفيديو المدخلة.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : تُرجع توتنرات مكدّسة إذا كان الإعداد `'pt'`، وإلا تُرجع قائمة من التوتنرات.

disable_grouping (`bool`، *kwargs*، *اختياري*) : ما إذا كان سيتم تعطيل تجميع الصور حسب الحجم لمعالجتها بشكل فردي بدلاً من دفعات. إذا كانت القيمة None، فسيتم تعيينها إلى True إذا كانت الصور على وحدة المعالجة المركزية (CPU)، وإلا فستكون False. تستند هذه الخيارات إلى ملاحظات تجريبية، كما هو موضح هنا: https://github.com/huggingface/transformers/pull/38157

image_seq_length (`int`، *kwargs*، *اختياري*) : عدد رموز الصور التي سيتم استخدامها لكل صورة في المدخلات. أُضيفت لضمان التوافق مع الإصدارات السابقة، لكن ينبغي ضبطها كخاصية للمعالج في النماذج المستقبلية.

return_image_mask (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان يجب إرجاع قناع الصورة. يمكن تجاوز ذلك عبر معامل `return_image_mask` في `preprocess`.

input_size_patches (`int`، *kwargs*، *اختياري*، القيمة الافتراضية `14`) : عدد البقع في الصورة باتجاه الارتفاع والعرض. 14x14 = 196 بقعة إجمالاً. يمكن تجاوزها بواسطة معامل `input_size_patches` في `preprocess`.

total_mask_patches (`int`، *kwargs*، *اختياري*، القيمة الافتراضية `75`) : العدد الإجمالي للرقع التي يجب إخفاؤها. يمكن تجاوزها بواسطة معامل `total_mask_patches` في `preprocess`.

mask_group_min_patches (`int`، *kwargs*، *اختياري*، القيمة الافتراضية `16`) : الحد الأدنى لعدد البقع التي يجب إخفاؤها. يمكن تجاوزها بواسطة معامل `mask_group_min_patches` في `preprocess`.

mask_group_max_patches (`int`، *kwargs*، *اختياري*) : الحد الأقصى لعدد البقع التي يجب إخفاؤها. يمكن تجاوز هذا الحد بواسطة معامل `mask_group_max_patches` في `preprocess`.

mask_group_min_aspect_ratio (`float`، *kwargs*، *اختياري*، القيمة الافتراضية `0.3`) : الحد الأدنى لنسبة أبعاد نافذة القناع. يمكن تجاوزها بواسطة معامل `mask_group_min_aspect_ratio` في `preprocess`.

mask_group_max_aspect_ratio (`float`، *kwargs*، *اختياري*) : أقصى نسبة عرض إلى ارتفاع لنقطة القناع. يمكن تجاوزها بواسطة معامل `mask_group_max_aspect_ratio` في `preprocess`.

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

codebook_do_resize (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب تغيير حجم المدخلات لكتاب الرموز إلى حجم معين. يمكن تجاوز ذلك عبر معامل `codebook_do_resize` في `preprocess`. `codebook_size`.

codebook_size (`dict[str, *kwargs*, int]`، *اختياري*، القيمة الافتراضية `{"height" : 224, "width": 224}`): تغيير حجم المدخلات الخاصة بـ codebook إلى الحجم المحدد. يمكن تجاوز ذلك عبر معامل `codebook_size` في `preprocess`.

codebook_resample (`PILImageResampling`، *kwargs*، *اختياري*، القيمة الافتراضية `PILImageResampling.LANCZOS`) : مرشح إعادة العينة المستخدم عند تغيير حجم صورة كود الكتاب. مع torchvision < 0.27، لا يُدعم LANCZOS لمصفوفات torch، ويُستخدم BICUBIC كبديل أقرب. يمكن تجاوز ذلك عبر معامل `codebook_resample` في `preprocess`.

codebook_do_center_crop (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب قصّ المدخلات لمكتبة الرموز (codebook) من المنتصف. إذا كانت حجم المدخلات أصغر من `codebook_crop_size` على أي حافة، يتم ملء الصورة بأصفار ثم قصّها من المنتصف. يمكن تجاوز ذلك عبر معامل `codebook_do_center_crop` في `preprocess`.

codebook_crop_size (`dict[str, *kwargs*, int]`، *اختياري*، القيمة الافتراضية `{"height" : 224, "width": 224}`): الحجم المطلوب للمخرجات لإدخال كودبوك عند تطبيق القص المركزي. يمكن تجاوز هذا الحجم بواسطة معامل `codebook_crop_size` في `preprocess`.

codebook_do_rescale (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إعادة مقياس المدخلات لكتاب الرموز (codebook) باستخدام معامل المقياس المحدد `codebook_rescale_factor`. يمكن تجاوز ذلك عبر معامل `codebook_do_rescale` في `preprocess`.

codebook_rescale_factor (`int`، *kwargs* أو `float`، *اختياري*، القيمة الافتراضية `1/255`) : يحدد عامل المقياس المستخدم عند إعادة تحجيم صورة دفتر الرموز. يمكن تجاوز هذا العامل عبر معامل `codebook_rescale_factor` في `preprocess`.

codebook_do_map_pixels (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب تعيين قيم البكسلات الخاصة بمدخلات دفتر الرموز إلى (1 - 2e)x + e. يمكن تجاوز ذلك عبر معامل `codebook_do_map_pixels` في `preprocess`.

codebook_do_normalize (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم تطبيع المدخلات لكتاب الرموز باستخدام `codebook_image_mean` و`codebook_image_std`. يمكن تجاوز ذلك عبر معامل `codebook_do_normalize` في `preprocess`.

codebook_image_mean (`Optional[Union[float, *kwargs*, Iterable[float]]]`، *اختياري*، القيمة الافتراضية `[0, 0, 0]`) : تسلسل المتوسطات لكل قناة، يُستخدم عند تطبيع الصور لكتاب الرموز. يمكن تجاوزها بواسطة معامل `codebook_image_mean` في `preprocess`.

codebook_image_std (`Optional[Union[float, *kwargs*, Iterable[float]]]`، *اختياري*، القيمة الافتراضية `[0.5, 0.5, 0.5]`) : تسلسل الانحرافات المعيارية لكل قناة، يُستخدم عند تطبيع الصور لـ codebook. يمكن تجاوزها بواسطة معامل `codebook_image_std` في `preprocess`.

ينشئ معالج صور FlavaImageProcessor.

#### preprocess[[transformers.FlavaImageProcessor.preprocess]]

```python
preprocess(images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']], **kwargs: *<class 'transformers.models.flava.image_processing_flava.FlavaImageProcessorKwargs'>)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/image_processing_flava.py#L250)

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

images (`Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]`) : الصورة المراد معالجتها مسبقًا. يتوقع صورة واحدة أو دفعة من الصور بقيم بكسل تتراوح بين 0 و255. إذا كنت تمرر صورًا بقيم بكسل بين 0 و1، فاضبط `do_rescale=False`.

do_convert_rgb (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تحويل الصورة إلى RGB.

do_resize (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تغيير حجم الصورة.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : يصف الأبعاد القصوى للمدخلات إلى النموذج.

default_to_square (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب افتراض صورة مربعة عند تغيير الحجم، إذا كان الحجم عددًا صحيحًا.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`، *kwargs*) : حجم الصورة الناتجة بعد تطبيق `center_crop`.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*) : مرشح إعادة العينة المستخدم عند تغيير حجم الصورة. يمكن أن يكون أحد قيم enum `PILImageResampling`. لا يؤثر إلا إذا كان `do_resize` مضبوطاً على `True`.

do_rescale (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب إعادة تحجيم الصورة.

rescale_factor (`float`، *kwargs*، *اختياري*) : معامل إعادة التحجيم لإعادة تحجيم الصورة إذا كان `do_rescale` مضبوطًا على `True`.

do_normalize (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تطبيع الصورة.

image_mean (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*) : متوسط الصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

image_std (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*) : الانحراف المعياري للصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

do_pad (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب إضافة حشوة إلى الصورة. يتم تنفيذ الحشوة إما إلى أكبر حجم في الدفعة أو إلى حجم مربع ثابت لكل صورة. تعتمد استراتيجية الحشوة الدقيقة على النموذج.

pad_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : الحجم على شكل `{"height": int, "width" int}` الذي يجب توسيد الصور إليه. يجب أن يكون أكبر من أي حجم صورة مُقدَّم للمعالجة المسبقة. إذا لم يُقدَّم `pad_size`، فسيتم توسيد الصور إلى أكبر ارتفاع وعرض في الدفعة. يُطبَّق فقط عندما يكون `do_pad=True.`

do_center_crop (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب قص الصورة من المنتصف.

data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : يُدعم `ChannelDimension.FIRST` فقط. أُضيف من أجل التوافق مع المعالجات البطيئة.

input_data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : تنسيق بُعد القناة للصورة المدخلة. إذا لم يتم ضبطه، يُستنتج تنسيق بُعد القناة من الصورة المدخلة. يمكن أن يكون أحد ما يلي: - `"channels_first"` أو `ChannelDimension.FIRST`: صورة بتنسيق (num_channels, height, width). - `"channels_last"` أو `ChannelDimension.LAST`: صورة بتنسيق (height, width, num_channels). - `"none"` أو `ChannelDimension.NONE`: صورة بتنسيق (height, width).

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : الجهاز الذي تتم عليه معالجة مقاطع الفيديو. إذا لم يتم ضبطه، يُستنتج الجهاز من مقاطع الفيديو المدخلة.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : تُرجع توتنرات مكدّسة إذا كان الإعداد `'pt'`، وإلا تُرجع قائمة من التوتنرات.

disable_grouping (`bool`، *kwargs*، *اختياري*) : ما إذا كان سيتم تعطيل تجميع الصور حسب الحجم لمعالجتها بشكل فردي بدلاً من دفعات. إذا كانت القيمة None، فسيتم تعيينها إلى True إذا كانت الصور على وحدة المعالجة المركزية (CPU)، وإلا فستكون False. تستند هذه الخيارات إلى ملاحظات تجريبية، كما هو موضح هنا: https://github.com/huggingface/transformers/pull/38157

image_seq_length (`int`، *kwargs*، *اختياري*) : عدد رموز الصور التي سيتم استخدامها لكل صورة في المدخلات. أُضيفت لضمان التوافق مع الإصدارات السابقة، لكن ينبغي ضبطها كخاصية للمعالج في النماذج المستقبلية.

return_image_mask (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان يجب إرجاع قناع الصورة. يمكن تجاوز ذلك عبر معامل `return_image_mask` في `preprocess`.

input_size_patches (`int`، *kwargs*، *اختياري*، القيمة الافتراضية `14`) : عدد البقع في الصورة باتجاه الارتفاع والعرض. 14x14 = 196 بقعة إجمالاً. يمكن تجاوزها بواسطة معامل `input_size_patches` في `preprocess`.

total_mask_patches (`int`، *kwargs*، *اختياري*، القيمة الافتراضية `75`) : العدد الإجمالي للرقع التي يجب إخفاؤها. يمكن تجاوزها بواسطة معامل `total_mask_patches` في `preprocess`.

mask_group_min_patches (`int`، *kwargs*، *اختياري*، القيمة الافتراضية `16`) : الحد الأدنى لعدد البقع التي يجب إخفاؤها. يمكن تجاوزها بواسطة معامل `mask_group_min_patches` في `preprocess`.

mask_group_max_patches (`int`، *kwargs*، *اختياري*) : الحد الأقصى لعدد البقع التي يجب إخفاؤها. يمكن تجاوز هذا الحد بواسطة معامل `mask_group_max_patches` في `preprocess`.

mask_group_min_aspect_ratio (`float`، *kwargs*، *اختياري*، القيمة الافتراضية `0.3`) : الحد الأدنى لنسبة أبعاد نافذة القناع. يمكن تجاوزها بواسطة معامل `mask_group_min_aspect_ratio` في `preprocess`.

mask_group_max_aspect_ratio (`float`، *kwargs*، *اختياري*) : أقصى نسبة عرض إلى ارتفاع لنقطة القناع. يمكن تجاوزها بواسطة معامل `mask_group_max_aspect_ratio` في `preprocess`.

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

codebook_do_resize (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب تغيير حجم المدخلات لكتاب الرموز إلى حجم معين. يمكن تجاوز ذلك عبر معامل `codebook_do_resize` في `preprocess`. `codebook_size`.

codebook_size (`dict[str, *kwargs*, int]`، *اختياري*، القيمة الافتراضية `{"height" : 224, "width": 224}`): تغيير حجم المدخلات الخاصة بـ codebook إلى الحجم المحدد. يمكن تجاوز ذلك عبر معامل `codebook_size` في `preprocess`.

codebook_resample (`PILImageResampling`، *kwargs*، *اختياري*، القيمة الافتراضية `PILImageResampling.LANCZOS`) : مرشح إعادة العينة المستخدم عند تغيير حجم صورة كود الكتاب. مع torchvision < 0.27، لا يُدعم LANCZOS لمصفوفات torch، ويُستخدم BICUBIC كبديل أقرب. يمكن تجاوز ذلك عبر معامل `codebook_resample` في `preprocess`.

codebook_do_center_crop (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب قصّ المدخلات لمكتبة الرموز (codebook) من المنتصف. إذا كانت حجم المدخلات أصغر من `codebook_crop_size` على أي حافة، يتم ملء الصورة بأصفار ثم قصّها من المنتصف. يمكن تجاوز ذلك عبر معامل `codebook_do_center_crop` في `preprocess`.

codebook_crop_size (`dict[str, *kwargs*, int]`، *اختياري*، القيمة الافتراضية `{"height" : 224, "width": 224}`): الحجم المطلوب للمخرجات لإدخال كودبوك عند تطبيق القص المركزي. يمكن تجاوز هذا الحجم بواسطة معامل `codebook_crop_size` في `preprocess`.

codebook_do_rescale (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إعادة مقياس المدخلات لكتاب الرموز (codebook) باستخدام معامل المقياس المحدد `codebook_rescale_factor`. يمكن تجاوز ذلك عبر معامل `codebook_do_rescale` في `preprocess`.

codebook_rescale_factor (`int`، *kwargs* أو `float`، *اختياري*، القيمة الافتراضية `1/255`) : يحدد عامل المقياس المستخدم عند إعادة تحجيم صورة دفتر الرموز. يمكن تجاوز هذا العامل عبر معامل `codebook_rescale_factor` في `preprocess`.

codebook_do_map_pixels (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب تعيين قيم البكسلات الخاصة بمدخلات دفتر الرموز إلى (1 - 2e)x + e. يمكن تجاوز ذلك عبر معامل `codebook_do_map_pixels` في `preprocess`.

codebook_do_normalize (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم تطبيع المدخلات لكتاب الرموز باستخدام `codebook_image_mean` و`codebook_image_std`. يمكن تجاوز ذلك عبر معامل `codebook_do_normalize` في `preprocess`.

codebook_image_mean (`Optional[Union[float, *kwargs*, Iterable[float]]]`، *اختياري*، القيمة الافتراضية `[0, 0, 0]`) : تسلسل المتوسطات لكل قناة، يُستخدم عند تطبيع الصور لكتاب الرموز. يمكن تجاوزها بواسطة معامل `codebook_image_mean` في `preprocess`.

codebook_image_std (`Optional[Union[float, *kwargs*, Iterable[float]]]`، *اختياري*، القيمة الافتراضية `[0.5, 0.5, 0.5]`) : تسلسل الانحرافات المعيارية لكل قناة، يُستخدم عند تطبيع الصور لـ codebook. يمكن تجاوزها بواسطة معامل `codebook_image_std` في `preprocess`.

**يعيد:** `~image_processing_base.BatchFeature`

- **data** (`dict`) -- قاموس من القوائم/المصفوفات/الموترات التي يعيدها أسلوب __call__ ('pixel_values'، وما إلى ذلك).
- **tensor_type** (`Union[None, str, TensorType]`، *اختياري*) -- يمكنك تحديد tensor_type هنا لتحويل قوائم الأعداد الصحيحة إلى تينسورات PyTorch/Numpy عند التهيئة.

## FlavaImageProcessorPil[[transformers.FlavaImageProcessorPil]]

#### transformers.FlavaImageProcessorPil[[transformers.FlavaImageProcessorPil]]

```python
transformers.FlavaImageProcessorPil(**kwargs: *<class 'transformers.models.flava.image_processing_pil_flava.FlavaImageProcessorKwargs'>)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/image_processing_pil_flava.py#L227)

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

do_convert_rgb (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تحويل الصورة إلى RGB.

do_resize (`bool`، *kwargs*، *اختياري*، الافتراضي هو `True`) : ما إذا كان سيتم تغيير حجم الصورة.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`، *kwargs*، القيمة الافتراضية هي `{'height' : 224, 'width': 224}`): يصف الأبعاد القصوى للمدخلات إلى النموذج.

default_to_square (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب افتراض صورة مربعة عند تغيير الحجم، إذا كان الحجم من نوع عدد صحيح.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`، *kwargs*، القيمة الافتراضية `{'height' : 224, 'width': 224}`): حجم الصورة الناتجة بعد تطبيق `center_crop`.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`، *kwargs*، القيمة الافتراضية `3`) : مرشح إعادة العينة المستخدم عند تغيير حجم الصورة. يمكن أن يكون أحد قيم enum `PILImageResampling`. لا يؤثر إلا إذا كانت قيمة `do_resize` هي `True`.

do_rescale (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إعادة تحجيم الصورة.

rescale_factor (`float`، *kwargs*، *اختياري*، القيمة الافتراضية هي `0.00392156862745098`) : عامل إعادة التحجيم لإعادة تحجيم الصورة إذا كان `do_rescale` مضبوطاً على `True`.

do_normalize (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم تطبيع الصورة.

image_mean (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *اختياري*، القيمة الافتراضية هي `[0.48145466, 0.4578275, 0.40821073]`) : متوسط الصورة المستخدم للتطبيع. لا يكون له تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

image_std (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *اختياري*، القيمة الافتراضية هي `[0.26862954, 0.26130258, 0.27577711]`) : انحراف معيار الصورة المستخدم للتطبيع. لا يكون له تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

do_pad (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب إضافة حشوة إلى الصورة. يتم تنفيذ الحشوة إما إلى أكبر حجم في الدفعة أو إلى حجم مربع ثابت لكل صورة. تعتمد استراتيجية الحشوة الدقيقة على النموذج.

pad_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : الحجم على شكل `{"height": int, "width" int}` الذي يجب توسيد الصور إليه. يجب أن يكون أكبر من أي حجم صورة مُقدَّم للمعالجة المسبقة. إذا لم يُقدَّم `pad_size`، فسيتم توسيد الصور إلى أكبر ارتفاع وعرض في الدفعة. يُطبَّق فقط عندما يكون `do_pad=True.`

do_center_crop (`bool`, *kwargs*, *اختياري*, القيمة الافتراضية هي `True`) : ما إذا كان سيتم قص الصورة من المنتصف.

data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : يُدعم `ChannelDimension.FIRST` فقط. أُضيف من أجل التوافق مع المعالجات البطيئة.

input_data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : تنسيق بُعد القناة للصورة المدخلة. إذا لم يتم ضبطه، يُستنتج تنسيق بُعد القناة من الصورة المدخلة. يمكن أن يكون أحد ما يلي: - `"channels_first"` أو `ChannelDimension.FIRST`: صورة بتنسيق (num_channels, height, width). - `"channels_last"` أو `ChannelDimension.LAST`: صورة بتنسيق (height, width, num_channels). - `"none"` أو `ChannelDimension.NONE`: صورة بتنسيق (height, width).

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : الجهاز الذي تتم عليه معالجة مقاطع الفيديو. إذا لم يتم ضبطه، يُستنتج الجهاز من مقاطع الفيديو المدخلة.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : تُرجع توتنرات مكدّسة إذا كان الإعداد `'pt'`، وإلا تُرجع قائمة من التوتنرات.

disable_grouping (`bool`، *kwargs*، *اختياري*) : ما إذا كان سيتم تعطيل تجميع الصور حسب الحجم لمعالجتها بشكل فردي بدلاً من دفعات. إذا كانت القيمة None، فسيتم تعيينها إلى True إذا كانت الصور على وحدة المعالجة المركزية (CPU)، وإلا فستكون False. تستند هذه الخيارات إلى ملاحظات تجريبية، كما هو موضح هنا: https://github.com/huggingface/transformers/pull/38157

image_seq_length (`int`، *kwargs*، *اختياري*) : عدد رموز الصور التي سيتم استخدامها لكل صورة في المدخلات. أُضيفت لضمان التوافق مع الإصدارات السابقة، لكن ينبغي ضبطها كخاصية للمعالج في النماذج المستقبلية.

return_image_mask (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان يجب إرجاع قناع الصورة. يمكن تجاوز ذلك عبر معامل `return_image_mask` في `preprocess`.

input_size_patches (`int`، *kwargs*، *اختياري*، القيمة الافتراضية `14`) : عدد البقع في الصورة باتجاه الارتفاع والعرض. 14x14 = 196 بقعة إجمالاً. يمكن تجاوزها بواسطة معامل `input_size_patches` في `preprocess`.

total_mask_patches (`int`، *kwargs*، *اختياري*، القيمة الافتراضية `75`) : العدد الإجمالي للرقع التي يجب إخفاؤها. يمكن تجاوزها بواسطة معامل `total_mask_patches` في `preprocess`.

mask_group_min_patches (`int`، *kwargs*، *اختياري*، القيمة الافتراضية `16`) : الحد الأدنى لعدد البقع التي يجب إخفاؤها. يمكن تجاوزها بواسطة معامل `mask_group_min_patches` في `preprocess`.

mask_group_max_patches (`int`، *kwargs*، *اختياري*) : الحد الأقصى لعدد البقع التي يجب إخفاؤها. يمكن تجاوز هذا الحد بواسطة معامل `mask_group_max_patches` في `preprocess`.

mask_group_min_aspect_ratio (`float`، *kwargs*، *اختياري*، القيمة الافتراضية `0.3`) : الحد الأدنى لنسبة أبعاد نافذة القناع. يمكن تجاوزها بواسطة معامل `mask_group_min_aspect_ratio` في `preprocess`.

mask_group_max_aspect_ratio (`float`، *kwargs*، *اختياري*) : أقصى نسبة عرض إلى ارتفاع لنقطة القناع. يمكن تجاوزها بواسطة معامل `mask_group_max_aspect_ratio` في `preprocess`.

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

codebook_do_resize (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب تغيير حجم المدخلات لكتاب الرموز إلى حجم معين. يمكن تجاوز ذلك عبر معامل `codebook_do_resize` في `preprocess`. `codebook_size`.

codebook_size (`dict[str, *kwargs*, int]`، *اختياري*، القيمة الافتراضية `{"height" : 224, "width": 224}`): تغيير حجم المدخلات الخاصة بـ codebook إلى الحجم المحدد. يمكن تجاوز ذلك عبر معامل `codebook_size` في `preprocess`.

codebook_resample (`PILImageResampling`، *kwargs*، *اختياري*، القيمة الافتراضية `PILImageResampling.LANCZOS`) : مرشح إعادة العينة المستخدم عند تغيير حجم صورة كود الكتاب. مع torchvision < 0.27، لا يُدعم LANCZOS لمصفوفات torch، ويُستخدم BICUBIC كبديل أقرب. يمكن تجاوز ذلك عبر معامل `codebook_resample` في `preprocess`.

codebook_do_center_crop (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب قصّ المدخلات لمكتبة الرموز (codebook) من المنتصف. إذا كانت حجم المدخلات أصغر من `codebook_crop_size` على أي حافة، يتم ملء الصورة بأصفار ثم قصّها من المنتصف. يمكن تجاوز ذلك عبر معامل `codebook_do_center_crop` في `preprocess`.

codebook_crop_size (`dict[str, *kwargs*, int]`، *اختياري*، القيمة الافتراضية `{"height" : 224, "width": 224}`): الحجم المطلوب للمخرجات لإدخال كودبوك عند تطبيق القص المركزي. يمكن تجاوز هذا الحجم بواسطة معامل `codebook_crop_size` في `preprocess`.

codebook_do_rescale (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إعادة مقياس المدخلات لكتاب الرموز (codebook) باستخدام معامل المقياس المحدد `codebook_rescale_factor`. يمكن تجاوز ذلك عبر معامل `codebook_do_rescale` في `preprocess`.

codebook_rescale_factor (`int`، *kwargs* أو `float`، *اختياري*، القيمة الافتراضية `1/255`) : يحدد عامل المقياس المستخدم عند إعادة تحجيم صورة دفتر الرموز. يمكن تجاوز هذا العامل عبر معامل `codebook_rescale_factor` في `preprocess`.

codebook_do_map_pixels (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب تعيين قيم البكسلات الخاصة بمدخلات دفتر الرموز إلى (1 - 2e)x + e. يمكن تجاوز ذلك عبر معامل `codebook_do_map_pixels` في `preprocess`.

codebook_do_normalize (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم تطبيع المدخلات لكتاب الرموز باستخدام `codebook_image_mean` و`codebook_image_std`. يمكن تجاوز ذلك عبر معامل `codebook_do_normalize` في `preprocess`.

codebook_image_mean (`Optional[Union[float, *kwargs*, Iterable[float]]]`، *اختياري*، القيمة الافتراضية `[0, 0, 0]`) : تسلسل المتوسطات لكل قناة، يُستخدم عند تطبيع الصور لكتاب الرموز. يمكن تجاوزها بواسطة معامل `codebook_image_mean` في `preprocess`.

codebook_image_std (`Optional[Union[float, *kwargs*, Iterable[float]]]`، *اختياري*، القيمة الافتراضية `[0.5, 0.5, 0.5]`) : تسلسل الانحرافات المعيارية لكل قناة، يُستخدم عند تطبيع الصور لـ codebook. يمكن تجاوزها بواسطة معامل `codebook_image_std` في `preprocess`.

ينشئ معالج صور FlavaImageProcessor.

#### preprocess[[transformers.FlavaImageProcessorPil.preprocess]]

```python
preprocess(images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']], **kwargs: *<class 'transformers.models.flava.image_processing_pil_flava.FlavaImageProcessorKwargs'>)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/image_processing_pil_flava.py#L264)

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

images (`Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]`) : الصورة المراد معالجتها مسبقًا. يتوقع صورة واحدة أو دفعة من الصور بقيم بكسل تتراوح بين 0 و255. إذا كنت تمرر صورًا بقيم بكسل بين 0 و1، فاضبط `do_rescale=False`.

do_convert_rgb (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تحويل الصورة إلى RGB.

do_resize (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تغيير حجم الصورة.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : يصف الأبعاد القصوى للمدخلات إلى النموذج.

default_to_square (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب افتراض صورة مربعة عند تغيير الحجم، إذا كان الحجم عددًا صحيحًا.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`، *kwargs*) : حجم الصورة الناتجة بعد تطبيق `center_crop`.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*) : مرشح إعادة العينة المستخدم عند تغيير حجم الصورة. يمكن أن يكون أحد قيم enum `PILImageResampling`. لا يؤثر إلا إذا كان `do_resize` مضبوطاً على `True`.

do_rescale (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب إعادة تحجيم الصورة.

rescale_factor (`float`، *kwargs*، *اختياري*) : معامل إعادة التحجيم لإعادة تحجيم الصورة إذا كان `do_rescale` مضبوطًا على `True`.

do_normalize (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تطبيع الصورة.

image_mean (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*) : متوسط الصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

image_std (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*) : الانحراف المعياري للصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

do_pad (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب إضافة حشوة إلى الصورة. يتم تنفيذ الحشوة إما إلى أكبر حجم في الدفعة أو إلى حجم مربع ثابت لكل صورة. تعتمد استراتيجية الحشوة الدقيقة على النموذج.

pad_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : الحجم على شكل `{"height": int, "width" int}` الذي يجب توسيد الصور إليه. يجب أن يكون أكبر من أي حجم صورة مُقدَّم للمعالجة المسبقة. إذا لم يُقدَّم `pad_size`، فسيتم توسيد الصور إلى أكبر ارتفاع وعرض في الدفعة. يُطبَّق فقط عندما يكون `do_pad=True.`

do_center_crop (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب قص الصورة من المنتصف.

data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : يُدعم `ChannelDimension.FIRST` فقط. أُضيف من أجل التوافق مع المعالجات البطيئة.

input_data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : تنسيق بُعد القناة للصورة المدخلة. إذا لم يتم ضبطه، يُستنتج تنسيق بُعد القناة من الصورة المدخلة. يمكن أن يكون أحد ما يلي: - `"channels_first"` أو `ChannelDimension.FIRST`: صورة بتنسيق (num_channels, height, width). - `"channels_last"` أو `ChannelDimension.LAST`: صورة بتنسيق (height, width, num_channels). - `"none"` أو `ChannelDimension.NONE`: صورة بتنسيق (height, width).

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : الجهاز الذي تتم عليه معالجة مقاطع الفيديو. إذا لم يتم ضبطه، يُستنتج الجهاز من مقاطع الفيديو المدخلة.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : تُرجع توتنرات مكدّسة إذا كان الإعداد `'pt'`، وإلا تُرجع قائمة من التوتنرات.

disable_grouping (`bool`، *kwargs*، *اختياري*) : ما إذا كان سيتم تعطيل تجميع الصور حسب الحجم لمعالجتها بشكل فردي بدلاً من دفعات. إذا كانت القيمة None، فسيتم تعيينها إلى True إذا كانت الصور على وحدة المعالجة المركزية (CPU)، وإلا فستكون False. تستند هذه الخيارات إلى ملاحظات تجريبية، كما هو موضح هنا: https://github.com/huggingface/transformers/pull/38157

image_seq_length (`int`، *kwargs*، *اختياري*) : عدد رموز الصور التي سيتم استخدامها لكل صورة في المدخلات. أُضيفت لضمان التوافق مع الإصدارات السابقة، لكن ينبغي ضبطها كخاصية للمعالج في النماذج المستقبلية.

return_image_mask (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان يجب إرجاع قناع الصورة. يمكن تجاوز ذلك عبر معامل `return_image_mask` في `preprocess`.

input_size_patches (`int`، *kwargs*، *اختياري*، القيمة الافتراضية `14`) : عدد البقع في الصورة باتجاه الارتفاع والعرض. 14x14 = 196 بقعة إجمالاً. يمكن تجاوزها بواسطة معامل `input_size_patches` في `preprocess`.

total_mask_patches (`int`، *kwargs*، *اختياري*، القيمة الافتراضية `75`) : العدد الإجمالي للرقع التي يجب إخفاؤها. يمكن تجاوزها بواسطة معامل `total_mask_patches` في `preprocess`.

mask_group_min_patches (`int`، *kwargs*، *اختياري*، القيمة الافتراضية `16`) : الحد الأدنى لعدد البقع التي يجب إخفاؤها. يمكن تجاوزها بواسطة معامل `mask_group_min_patches` في `preprocess`.

mask_group_max_patches (`int`، *kwargs*، *اختياري*) : الحد الأقصى لعدد البقع التي يجب إخفاؤها. يمكن تجاوز هذا الحد بواسطة معامل `mask_group_max_patches` في `preprocess`.

mask_group_min_aspect_ratio (`float`، *kwargs*، *اختياري*، القيمة الافتراضية `0.3`) : الحد الأدنى لنسبة أبعاد نافذة القناع. يمكن تجاوزها بواسطة معامل `mask_group_min_aspect_ratio` في `preprocess`.

mask_group_max_aspect_ratio (`float`، *kwargs*، *اختياري*) : أقصى نسبة عرض إلى ارتفاع لنقطة القناع. يمكن تجاوزها بواسطة معامل `mask_group_max_aspect_ratio` في `preprocess`.

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

codebook_do_resize (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب تغيير حجم المدخلات لكتاب الرموز إلى حجم معين. يمكن تجاوز ذلك عبر معامل `codebook_do_resize` في `preprocess`. `codebook_size`.

codebook_size (`dict[str, *kwargs*, int]`، *اختياري*، القيمة الافتراضية `{"height" : 224, "width": 224}`): تغيير حجم المدخلات الخاصة بـ codebook إلى الحجم المحدد. يمكن تجاوز ذلك عبر معامل `codebook_size` في `preprocess`.

codebook_resample (`PILImageResampling`، *kwargs*، *اختياري*، القيمة الافتراضية `PILImageResampling.LANCZOS`) : مرشح إعادة العينة المستخدم عند تغيير حجم صورة كود الكتاب. مع torchvision < 0.27، لا يُدعم LANCZOS لمصفوفات torch، ويُستخدم BICUBIC كبديل أقرب. يمكن تجاوز ذلك عبر معامل `codebook_resample` في `preprocess`.

codebook_do_center_crop (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب قصّ المدخلات لمكتبة الرموز (codebook) من المنتصف. إذا كانت حجم المدخلات أصغر من `codebook_crop_size` على أي حافة، يتم ملء الصورة بأصفار ثم قصّها من المنتصف. يمكن تجاوز ذلك عبر معامل `codebook_do_center_crop` في `preprocess`.

codebook_crop_size (`dict[str, *kwargs*, int]`، *اختياري*، القيمة الافتراضية `{"height" : 224, "width": 224}`): الحجم المطلوب للمخرجات لإدخال كودبوك عند تطبيق القص المركزي. يمكن تجاوز هذا الحجم بواسطة معامل `codebook_crop_size` في `preprocess`.

codebook_do_rescale (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إعادة مقياس المدخلات لكتاب الرموز (codebook) باستخدام معامل المقياس المحدد `codebook_rescale_factor`. يمكن تجاوز ذلك عبر معامل `codebook_do_rescale` في `preprocess`.

codebook_rescale_factor (`int`، *kwargs* أو `float`، *اختياري*، القيمة الافتراضية `1/255`) : يحدد عامل المقياس المستخدم عند إعادة تحجيم صورة دفتر الرموز. يمكن تجاوز هذا العامل عبر معامل `codebook_rescale_factor` في `preprocess`.

codebook_do_map_pixels (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب تعيين قيم البكسلات الخاصة بمدخلات دفتر الرموز إلى (1 - 2e)x + e. يمكن تجاوز ذلك عبر معامل `codebook_do_map_pixels` في `preprocess`.

codebook_do_normalize (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم تطبيع المدخلات لكتاب الرموز باستخدام `codebook_image_mean` و`codebook_image_std`. يمكن تجاوز ذلك عبر معامل `codebook_do_normalize` في `preprocess`.

codebook_image_mean (`Optional[Union[float, *kwargs*, Iterable[float]]]`، *اختياري*، القيمة الافتراضية `[0, 0, 0]`) : تسلسل المتوسطات لكل قناة، يُستخدم عند تطبيع الصور لكتاب الرموز. يمكن تجاوزها بواسطة معامل `codebook_image_mean` في `preprocess`.

codebook_image_std (`Optional[Union[float, *kwargs*, Iterable[float]]]`، *اختياري*، القيمة الافتراضية `[0.5, 0.5, 0.5]`) : تسلسل الانحرافات المعيارية لكل قناة، يُستخدم عند تطبيع الصور لـ codebook. يمكن تجاوزها بواسطة معامل `codebook_image_std` في `preprocess`.

**يعيد:** `~image_processing_base.BatchFeature`

- **data** (`dict`) -- قاموس من القوائم/المصفوفات/الموترات التي يعيدها أسلوب __call__ ('pixel_values'، وما إلى ذلك).
- **tensor_type** (`Union[None, str, TensorType]`، *اختياري*) -- يمكنك تحديد tensor_type هنا لتحويل قوائم الأعداد الصحيحة إلى تينسورات PyTorch/Numpy عند التهيئة.

## FlavaForPreTraining[[transformers.FlavaForPreTraining]]

#### transformers.FlavaForPreTraining[[transformers.FlavaForPreTraining]]

```python
transformers.FlavaForPreTraining(config: FlavaConfig, image_codebook: typing.Optional[torch.nn.Module] = None)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L1502)

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

config ([FlavaConfig](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaConfig)) : فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. عند التهيئة باستخدام ملف إعدادات، لا يتم تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل أوزان النموذج.

image_codebook (`torch.nn.Module`، *اختياري*) : إذا تم تمريره، فسيتم تعيين كودبوك الصورة عليه. وإلا، فسيتم تهيئته باستخدام image_codebook_config المعرّف في الإعداد كالمعامل الأول.

نموذج FLAVA للتدريب المسبق الذي يُخرج الخسائر، والتضمينات، والقيم اللوجستية، ومخرجات محول اللغة.

يرث هذا النموذج من [PreTrainedModel](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التنزيل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضاً فئة فرعية من [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

#### forward[[transformers.FlavaForPreTraining.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, input_ids_masked: typing.Optional[torch.LongTensor] = None, pixel_values: typing.Optional[torch.Tensor] = None, codebook_pixel_values: typing.Optional[torch.Tensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, token_type_ids: typing.Optional[torch.Tensor] = None, bool_masked_pos: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.LongTensor] = None, image_attention_mask: typing.Optional[torch.Tensor] = None, skip_unmasked_multimodal_encoder: bool | None = None, mlm_labels: typing.Optional[torch.Tensor] = None, mim_labels: typing.Optional[torch.Tensor] = None, itm_labels: typing.Optional[torch.Tensor] = None, output_attentions: bool | None = None, output_hidden_states: bool = True, return_dict: bool | None = None, return_loss: bool | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L1551)

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

input_ids (`torch.LongTensor` من الشكل `(batch_size, text_seq_len)`) : فهارس رموز تسلسل الإدخال في قاموس الكلمات. يمكن الحصول على الفهارس باستخدام [AutoTokenizer](/docs/transformers/main/ar/model_doc/auto#transformers.AutoTokenizer). راجع [PreTrainedTokenizer.encode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) و [PreTrainedTokenizer.__call__()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) للتفاصيل. [ما هي معرّفات الإدخال؟](../glossary#input-ids)

input_ids_masked (`torch.LongTensor` من الشكل `(batch_size, text_seq_len)`) : فهارس رموز تسلسل الإدخال في قاموس الكلمات. هذه هي النسخة المقنّعة من المهمة الأصلية لاستخدامها مع MLM. يمكن الحصول على الفهارس باستخدام [AutoTokenizer](/docs/transformers/main/ar/model_doc/auto#transformers.AutoTokenizer) مع `DataCollatorForMaskedLanguageModeling`. راجع [PreTrainedTokenizer.encode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) و [PreTrainedTokenizer.__call__()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) للتفاصيل. [ما هي معرّفات الإدخال؟](../glossary#input-ids)

pixel_values (`torch.Tensor` من الشكل `(batch_size, num_channels, image_size, image_size)`، *اختياري*) : المصفوفات المقابلة لصور الإدخال. يمكن الحصول على قيم البكسل باستخدام [FlavaImageProcessor](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageProcessor). راجع [FlavaImageProcessor.__call__()](/docs/transformers/main/ar/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) للتفاصيل ([FlavaProcessor](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaProcessor) يستخدم [FlavaImageProcessor](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageProcessor) لمعالجة الصور).

codebook_pixel_values (`torch.Tensor` من الشكل `(batch_size, num_image_patches, patch_size, patch_size, 3)`، *اختياري*) : قيم البكسلات لبقع الصور المستخدمة لحساب تسميات كتاب الصور (image codebook labels) لنمذجة الصور المقنّعة (masked image modeling).

attention_mask (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. قيم القناع المختارة من `[0, 1]`: - 1 للرموز التي **ليست مقنّعة**، - 0 للرموز التي **مقنّعة**.  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

token_type_ids (`torch.LongTensor` من الشكل `(batch_size, text_seq_len)`، *اختياري*) : فهارس رموز المقاطع للإشارة إلى الجزء الأول والثاني من المدخلات. يتم اختيار الفهارس من `[0, 1]`: - 0 يقابل رمز *الجملة أ*، - 1 يقابل رمز *الجملة ب*. [ما هي معرّفات أنواع الرموز؟](../glossary#token-type-ids)

bool_masked_pos (`torch.BoolTensor` من الشكل `(batch_size, image_num_patches)`) : مواضع مقنّعة من نوع منطقي. تُظهر أيّ البقع مقنّعة (1) وأيّها غير مقنّع (0).

position_ids (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس مواضع رموز كل تسلسل إدخال في تضمينات المواضع. يتم اختيارها من النطاق `[0, config.n_positions - 1]`.  [ما هي معرّفات المواضع؟](../glossary#position-ids)

image_attention_mask (`torch.Tensor` من الشكل `(batch_size, image_num_patches)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو الخاصة بالصور تحديدًا. قيم القناع المختارة في `[0, 1]`: - 1 للرموز التي **ليست مقنّعة**، - 0 للرموز التي **مقنّعة**. [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

skip_unmasked_multimodal_encoder (`*bool*`، *اختياري*) : تخطي أي حسابات لمُشفِّر متعدد الوسائط للمدخلات غير المقنّعة. لا يحتاج تدريب FLAVA المسبق حاليًا إلى تمثيلات أو مخرجات متعددة الوسائط غير مقنّعة.

mlm_labels (`torch.LongTensor` من الشكل `(batch_size, text_seq_len)`، *اختياري*) : تسميات لحساب خسارة نمذجة اللغة والنمذجة متعددة الوسائط المقنّعة من اليسار إلى اليمين (توقع الكلمة التالية). يجب أن تكون الفهارس ضمن `[-100, 0, ..., text_config.vocab_size - 1]` (انظر `input_ids` docstring). يتم تجاهل الرموز التي تكون فهارسها مضبوطة على `-100` (مقنّعة)، ولا تُحسب الخسارة إلا للرموز التي تسمياتها ضمن `[0, ..., text_config.vocab_size - 1]`.

mim_labels (`torch.LongTensor` من الشكل `(batch_size, image_num_patches)`، *اختياري*) : تسميات لحساب خسارة النمذجة المقنّعة للصور والمتعددة الوسائط. يجب أن تكون الفهارس ضمن `[-100, 0, ..., image_config.vocab_size - 1]`. يتم تجاهل الرموز التي تكون فهارسها مضبوطة على `-100` (مقنّعة)، ولا تُحسب الخسارة إلا للرموز التي تسمياتها ضمن `[0, ..., image_config.vocab_size - 1]`. إذا لم تُمرَّر، يتم توليدها تلقائيًا باستخدام كودبوك الصور المُسند إلى النموذج. افتراضيًا، يستخدم [FlavaImageCodebook](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageCodebook). راجع [FlavaImageCodebook](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageCodebook) لفهم كيفية توليد mim_labels.

itm_labels (`torch.LongTensor` من الشكل `(batch_size, 1)`، *اختياري*) : تسميات لحساب خسارة مطابقة الصورة والنص. 0 تعني أن الأزواج غير متطابقة و 1 تعني أنها متطابقة. سيتم تجاوز الأزواج التي قيمتها 0 في حساب خسارة MMM وخسارة التباين الشامل أيضًا.

output_attentions (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع مصفوفات الانتباه لجميع طبقات الانتباه. راجع `attentions` ضمن المصفوفات المُرجعة لمزيد من التفاصيل.

output_hidden_states (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إرجاع حالات الإخفاء (hidden states) لجميع الطبقات أم لا. راجع `hidden_states` ضمن الموترات المُرجعة لمزيد من التفاصيل.

return_dict (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع [ModelOutput](/docs/transformers/main/ar/main_classes/output#transformers.utils.ModelOutput) بدلاً من tuple عادي.

return_loss (`bool`، *اختياري*، الافتراضي None) : ما إذا كان يجب إرجاع الخسارة المحسوبة أم لا.

**يعيد:** `FlavaForPreTrainingOutput` أو `tuple(torch.Tensor)`

`FlavaForPreTrainingOutput` أو مجموعة من `torch.Tensor` (إذا تم تمرير `return_dict=False` أو عندما يكون `config.return_dict=False`) وتتضمن عناصر مختلفة اعتماداً على الإعداد ([FlavaConfig](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaConfig)) والمدخلات.

تتجاوز طريقة [FlavaForPreTraining](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaForPreTraining) الخاصة بالتقديم (forward) الطريقة الخاصة `__call__`.

على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن `Module` بدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.

- **loss** (`torch.Tensor`، *اختياري*، يُعاد عندما يكون `return_loss` صحيحًا) -- إجمالي الخسارة المحسوبة لهذا النموذج.
- **loss_info** (`~models.flava.modeling_flava.FlavaLosses`، *اختياري*) -- معلومات تفصيلية عن خسائر تدريب FLAVA المسبق. راجع وصف فئة `FlavaLosses` لمعرفة المعلومات المتعلقة بالمفاتيح.
- **image_embeddings** (`torch.Tensor` من الشكل `(batch_size, output_dim)`، *اختياري*، يُعاد عند وجود `pixel_values`) -- تمثيلات الصور، وهي في الأساس المخرجات المجمعة لـ [FlavaImageModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageModel).
- **image_output** (`BaseModelOutputWithPooling`، *اختياري*، يُعاد عند وجود `pixel_values`) -- مخرجات [FlavaImageModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageModel).
- **text_embeddings** (`torch.Tensor` من الشكل `(batch_size, output_dim)`، *اختياري*، يُعاد عند وجود `input_ids`) -- تمثيلات النص، وهي في الأساس المخرجات المجمعة لنموذج [FlavaTextModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaTextModel).
- **text_output** (`BaseModelOutputWithPooling`، *اختياري*، يُعاد عند وجود `input_ids`) -- مخرجات [FlavaTextModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaTextModel).
- **multimodal_embeddings** (`torch.Tensor` من الشكل `(batch_size, output_dim)`، *اختياري*، يُعاد عند وجود `input_ids` و`pixel_values` وعندما يكون `skip_unmasked_multimodal_encoder` إما `None` أو `False`) -- التضمينات متعددة الوسائط، وهي في الأساس المخرجات المجمعة لنموذج [FlavaTextModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaTextModel).
- **multimodal_output** (`BaseModelOutputWithPooling`، يُعاد عند وجود `input_ids` و`pixel_values` وعندما يكون `skip_unmasked_multimodal_encoder` إما `None` أو `False`) -- مخرجات [FlavaMultimodalModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaMultimodalModel).
- **image_masked_embeddings** (`torch.Tensor` من الشكل `(batch_size, output_dim)`، *اختياري*، يُعاد عند وجود `pixel_values`) -- تمثيلات الصور التي هي في الأساس المخرجات المجمعة لـ [FlavaImageModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageModel). يستخدم `bool_masked_pos` لإنشاء صور مقنّعة.
- **image_masked_output** (`BaseModelOutputWithPooling`، *اختياري*، يُعاد عند وجود `pixel_values`) -- مخرجات [FlavaImageModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageModel). يستخدم `bool_masked_pos` لإنشاء صور مقنّعة.
- **text_masked_embeddings** (`torch.Tensor` من الشكل `(batch_size, output_dim)`، *اختياري*، يُعاد عند وجود `input_ids_masked`) -- تمثيلات النص، وهي في الأساس المخرجات المجمعة لـ [FlavaTextModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaTextModel).
- **text_masked_output** (`BaseModelOutputWithPooling`، *اختياري*، يُعاد عند وجود `input_ids_masked`) -- مخرجات [FlavaTextModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaTextModel).
- **multimodal_masked_embeddings** (`torch.Tensor` من الشكل `(batch_size, output_dim)`، *اختياري*، يُعاد عند وجود `input_ids` و`pixel_values`) -- التضمينات متعددة الوسائط، وهي في الأساس المخرجات المجمعة لـ[FlavaTextModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaTextModel).
- **multimodal_masked_output** (`BaseModelOutputWithPooling`، *اختياري*، يُعاد عند وجود `input_ids_masked` و`pixel_values`) -- مخرجات [FlavaMultimodalModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaMultimodalModel).
- **mim_logits** (`torch.Tensor` من الشكل `(batch_size, num_image_patches, image_vocab_size)` أو من الشكل `(total_masked_patches, image_vocab_size)` ، *اختياري*، يُعاد عند وجود `pixel_values` وعدم وجود `input_ids_masked`) -- القيم اللوجستية لخسارة MIM أحادية النمط. يستخدم `bool_masked_pos` للحصول على البقع المقنّعة. يُعاد المخرج المسطّح عندما تكون بعض البقع مقنّعة في `bool_masked_pos`.
- **mlm_logits** (`torch.Tensor` من الشكل `(batch_size, text_seq_length, text_vocab_size)` أو من الشكل `(total_masked_seq_length, text_vocab_size)`، *اختياري*، يُعاد عند وجود `input_ids_masked` وعدم وجود `pixel_values`) -- القيم اللوجستية لخسارة MLM أحادية النمط. يُعاد المخرج المسطّح عندما يكون لدى `input_ids_masked` بعض الرموز المقنّعة.
- **itm_logits** (`torch.Tensor` من الشكل `(batch_size, 2)`، *اختياري*، يُعاد عند وجود `input_ids_masked` و`pixel_values`) -- القيم اللوجستية لخسارة ITM. لاحظ أن خسارة ITM تُحسب على الأزواج المقنّعة في FLAVA.
- **contrastive_logits_per_image** (`torch.Tensor` من الشكل `(image_batch_size, text_batch_size)`) -- درجات ضرب النقط المُقيّسة بين `image_embeddings` و`text_embeddings` لكن بعد تمريرها عبر طبقتي `image_projection` و`text_projection` في FLAVA على التوالي. يمثل هذا درجات التشابه بين الصورة والنص. يتم حساب ذلك على الصور والنصوص غير المقنّعة.
- **contrastive_logits_per_text** (`torch.Tensor` من الشكل `(text_batch_size, image_batch_size)`) -- درجات ضرب النقطة المُقيَّسة بين `text_embeddings` و`image_embeddings` بعد تمريرها عبر طبقتي `text_projection` و`image_projection` في FLAVA على التوالي. يتم حساب ذلك على الصور والنصوص غير المقنَّعة.
- **mmm_image_logits** (`torch.Tensor` من الشكل `(batch_size, num_image_patches, image_vocab_size)` أو من الشكل`(total_masked_patches, image_vocab_size)`، *اختياري*، يُعاد عند وجود `pixel_values` و`input_ids_masked`) -- القيم اللوجستية لفقدان MMM متعدد الوسائط للصور. يستخدم `bool_masked_pos` للحصول على البقع المقنّعة. يُعاد المخرج المسطّح عندما تكون بعض البقع مقنّعة في `bool_masked_pos`.
- **mmm_text_logits** (`torch.Tensor` من الشكل `(batch_size, text_seq_length, text_vocab_size)` أو من الشكل `(total_masked_seq_length, text_vocab_size)`، *اختياري*، يُعاد عند وجود `pixel_values` و`input_ids_masked`) -- القيم اللوجستية لفقد MMM النصي متعدد الوسائط. يُعاد المخرج المسطّح عندما تكون بعض الرموز في `input_ids_masked` مقنّعة.

أمثلة:
```python
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> from transformers import FlavaForPreTraining, AutoProcessor

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> model = FlavaForPreTraining.from_pretrained("facebook/flava-full")
>>> processor = AutoProcessor.from_pretrained("facebook/flava-full")

>>> text = ["a photo of a cat"]

>>> inputs = processor(
...     images=[image],
...     text=text,
...     return_masks=True,
...     return_codebook_pixels=True,
...     padding=True,
...     max_length=77,
...     return_tensors="pt",
... )

>>> output = model(**inputs)
```

## FlavaModel[[transformers.FlavaModel]]

#### transformers.FlavaModel[[transformers.FlavaModel]]

```python
transformers.FlavaModel(config: FlavaConfig)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L935)

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

config ([FlavaConfig](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaConfig)) : فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. عند التهيئة باستخدام ملف إعدادات، لا يتم تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل أوزان النموذج.

نموذج Flava الأساسي الذي يُخرج حالات مخفية خام دون أي رأس محدد في الأعلى.

يرث هذا النموذج من [PreTrainedModel](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التنزيل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضاً فئة فرعية من [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

#### forward[[transformers.FlavaModel.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, pixel_values: typing.Optional[torch.Tensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, token_type_ids: typing.Optional[torch.Tensor] = None, bool_masked_pos: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.LongTensor] = None, image_attention_mask: typing.Optional[torch.Tensor] = None, skip_multimodal_encoder: bool | None = None, output_attentions: bool | None = None, output_hidden_states: bool = True, return_dict: bool | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L1078)

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

input_ids (`torch.LongTensor` من الشكل `(batch_size, image_num_patches + text_seq_len)`) : فهارس رموز تسلسل الإدخال في قاموس الكلمات. يمكن الحصول على الفهارس باستخدام [AutoTokenizer](/docs/transformers/main/ar/model_doc/auto#transformers.AutoTokenizer). راجع [PreTrainedTokenizer.encode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) و [PreTrainedTokenizer.__call__()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) للتفاصيل. [ما هي معرّفات الإدخال؟](../glossary#input-ids)

pixel_values (`torch.Tensor` من الشكل `(batch_size, num_channels, image_size, image_size)`، *اختياري*) : المصفوفات المقابلة لصور الإدخال. يمكن الحصول على قيم البكسل باستخدام [FlavaImageProcessor](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageProcessor). راجع [FlavaImageProcessor.__call__()](/docs/transformers/main/ar/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) للتفاصيل ([FlavaProcessor](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaProcessor) يستخدم [FlavaImageProcessor](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageProcessor) لمعالجة الصور).

attention_mask (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. قيم القناع المختارة من `[0, 1]`: - 1 للرموز التي **ليست مقنّعة**، - 0 للرموز التي **مقنّعة**.  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

token_type_ids (`torch.LongTensor` من الشكل `(batch_size, image_num_patches + text_seq_len)`، *اختياري*) : فهارس رموز المقاطع للإشارة إلى الجزء الأول والثاني من المدخلات. يتم اختيار الفهارس من `[0, 1]`: - 0 يقابل رمز *الجملة أ*، - 1 يقابل رمز *الجملة ب*. [ما هي معرفات أنواع الرموز؟](../glossary#token-type-ids)

bool_masked_pos (`torch.BoolTensor` من الشكل `(batch_size, image_num_patches)`) : مواضع مقنّعة من نوع منطقي. تُظهر أيّ البقع مقنّعة (1) وأيّها غير مقنّع (0).

position_ids (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس مواضع رموز كل تسلسل إدخال في تضمينات المواضع. يتم اختيارها من النطاق `[0, config.n_positions - 1]`.  [ما هي معرّفات المواضع؟](../glossary#position-ids)

image_attention_mask (`torch.Tensor` من الشكل `(batch_size, image_num_patches)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على قيم البكسلات المعبأة في مدخلات الصورة. قيم القناع المختارة في `[0, 1]`: - 1 لقيم البكسلات الحقيقية (أي **غير المقنعة**)، - 0 لقيم البكسلات المعبأة (أي **مقنعة**).

skip_multimodal_encoder (`*bool*`، *اختياري*) : تخطي أي حسابات لمشفّر متعدد الوسائط. مفيد إذا لم يتم استخدام التشفير متعدد الوسائط.

output_attentions (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع مصفوفات الانتباه لجميع طبقات الانتباه. راجع `attentions` ضمن المصفوفات المُرجعة لمزيد من التفاصيل.

output_hidden_states (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إرجاع حالات الإخفاء (hidden states) لجميع الطبقات أم لا. راجع `hidden_states` ضمن الموترات المُرجعة لمزيد من التفاصيل.

return_dict (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع [ModelOutput](/docs/transformers/main/ar/main_classes/output#transformers.utils.ModelOutput) بدلاً من tuple عادي.

**يعيد:** `FlavaModelOutput` أو `tuple(torch.Tensor)`

`FlavaModelOutput` أو مجموعة مرتبة من `torch.Tensor` (إذا تم تمرير `return_dict=False` أو عندما يكون `config.return_dict=False`) وتتضمن عناصر مختلفة اعتمادًا على الإعداد ([FlavaConfig](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaConfig)) والمدخلات.

تتجاوز طريقة [FlavaModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaModel) الخاصة بالتقديم (forward) الطريقة الخاصة `__call__`.

على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن `Module` بدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.

- **image_embeddings** (`torch.Tensor` من الشكل `(batch_size, output_dim)`، *اختياري*، يُعاد عند وجود `pixel_values`) -- تمثيلات الصور، وهي في الأساس المخرجات المجمعة لـ [FlavaImageModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageModel).
- **image_output** (`BaseModelOutputWithPooling`، *اختياري*، يُعاد عند وجود `pixel_values`) -- مخرجات [FlavaImageModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageModel).
- **text_embeddings** (`torch.Tensor` من الشكل `(batch_size, output_dim)`، *اختياري*، يُعاد عند وجود `input_ids`) -- تمثيلات النص، وهي في الأساس المخرجات المجمعة لنموذج [FlavaTextModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaTextModel).
- **text_output** (`BaseModelOutputWithPooling`، *اختياري*، يُعاد عند وجود `input_ids`) -- مخرجات [FlavaTextModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaTextModel).
- **multimodal_embeddings** (`torch.Tensor` من الشكل `(batch_size, output_dim)`، *اختياري*، يُعاد عند وجود `input_ids` و`pixel_values` وعندما يكون `skip_multimodal_encoder` هو `None` أو `False`) -- التضمينات متعددة الوسائط، وهي في الأساس المخرجات المجمعة لنموذج [FlavaTextModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaTextModel).
- **multimodal_output** (`BaseModelOutputWithPooling`، يُعاد عند وجود `input_ids` و`pixel_values` وعند كون `skip_multimodal_encoder` هو `None` أو `False`) -- مخرجات [FlavaMultimodalModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaMultimodalModel).

أمثلة:

```python
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> from transformers import AutoProcessor, FlavaModel

>>> model = FlavaModel.from_pretrained("facebook/flava-full")
>>> processor = AutoProcessor.from_pretrained("facebook/flava-full")

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> inputs = processor(text=["a photo of a cat"], images=image, return_tensors="pt", padding=True)

>>> outputs = model(**inputs)

>>> image_embeddings = outputs.image_embeddings
>>> text_embeddings = outputs.text_embeddings
>>> multimodal_embeddings = outputs.multimodal_embeddings

>>> outputs.image_embeddings.shape
torch.Size([1, 197, 768])

>>> text_embeddings.shape
torch.Size([1, 7, 768])

>>> multimodal_embeddings.shape
torch.Size([1, 205, 768])
```

#### get_text_features[[transformers.FlavaModel.get_text_features]]

```python
get_text_features(input_ids: Tensor, attention_mask: typing.Optional[torch.Tensor] = None, token_type_ids: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.Tensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L981)

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

input_ids (`torch.LongTensor` من الشكل `(batch_size, text_seq_length)`) : فهارس رموز تسلسل الإدخال في قاموس الكلمات. يمكن الحصول على الفهارس باستخدام [AutoTokenizer](/docs/transformers/main/ar/model_doc/auto#transformers.AutoTokenizer). راجع [PreTrainedTokenizer.encode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) و [PreTrainedTokenizer.__call__()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) للتفاصيل. [ما هي معرّفات الإدخال؟](../glossary#input-ids)

attention_mask (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. قيم القناع المختارة من `[0, 1]`: - 1 للرموز التي **ليست مقنّعة**، - 0 للرموز التي **مقنّعة**.  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

token_type_ids (`torch.LongTensor` من الشكل `(batch_size, text_seq_length)`، *اختياري*) : فهارس رموز المقاطع للإشارة إلى الجزء الأول والثاني من المدخلات. يتم اختيار الفهارس من `[0, 1]`: - 0 يقابل رمز *الجملة أ*، - 1 يقابل رمز *الجملة ب*. [ما هي معرّفات أنواع الرموز؟](../glossary#token-type-ids)

position_ids (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس مواضع رموز كل تسلسل إدخال في تضمينات المواضع. يتم اختيارها من النطاق `[0, config.n_positions - 1]`.  [ما هي معرّفات المواضع؟](../glossary#position-ids)

**يعيد:** [BaseModelOutputWithPooling](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) أو `tuple(torch.Tensor)`

[BaseModelOutputWithPooling](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) أو مجموعة من `torch.Tensor` (إذا تم تمرير `return_dict=False` أو عندما يكون `config.return_dict=False`) تتكون من عناصر مختلفة اعتماداً على الإعداد ([FlavaConfig](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaConfig)) والمدخلات.

- **last_hidden_state** (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`) -- تسلسل من حالات الإخفاء (hidden-states) عند مخرج الطبقة الأخيرة من النموذج.
- **pooler_output** (`torch.Tensor` من الشكل `(batch_size, hidden_size)`) -- حالة الطبقة المخفية الأخيرة للرمز الأول في التسلسل (رمز التصنيف) بعد المعالجة الإضافية عبر الطبقات المستخدمة في مهمة ما قبل التدريب المساعدة. على سبيل المثال، بالنسبة لعائلة نماذج BERT، تُرجع هذه الخاصية رمز التصنيف بعد معالجته عبر طبقة خطية ودالة تفعيل tanh. يتم تدريب أوزان الطبقة الخطية من هدف التنبؤ بالجملة التالية (التصنيف) أثناء ما قبل التدريب.
- **hidden_states** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) بأبعاد `(batch_size, sequence_length, hidden_size)`.

  حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.
- **attentions** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند تعيين `config.output_attentions=True`) -- مجموعة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

أمثلة:

```python
>>> import torch
>>> from transformers import AutoProcessor, FlavaModel

>>> model = FlavaModel.from_pretrained("{0}")
>>> processor = AutoProcessor.from_pretrained("{0}")

>>> inputs = processor(
...     text=["a photo of a cat", "a photo of a dog"], max_length=77, padding="max_length", return_tensors="pt"
... )
>>> with torch.inference_mode():
...     text_features = model.get_text_features(**inputs)
```

#### get_image_features[[transformers.FlavaModel.get_image_features]]

```python
get_image_features(pixel_values: Tensor, bool_masked_pos: typing.Optional[torch.BoolTensor] = None, interpolate_pos_encoding: bool | None = None, attention_mask: typing.Optional[torch.Tensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L1032)

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

pixel_values (`torch.Tensor` من الشكل `(batch_size, num_channels, image_size, image_size)`) : المصفوفات المتناظرة لصور الإدخال. يمكن الحصول على قيم البكسل باستخدام [FlavaImageProcessor](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageProcessor). راجع [FlavaImageProcessor.__call__()](/docs/transformers/main/ar/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) للتفاصيل ([FlavaProcessor](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaProcessor) يستخدم [FlavaImageProcessor](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageProcessor) لمعالجة الصور).

bool_masked_pos (`torch.BoolTensor` من الشكل `(batch_size, image_num_patches)`) : مواضع مقنّعة من نوع منطقي. تُظهر أيّ البقع مقنّعة (1) وأيّها غير مقنّع (0).

interpolate_pos_encoding (`bool`, *اختياري*) : ما إذا كان سيتم استيفاء ترميزات المواقع المُدرَّبة مسبقًا.

attention_mask (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. قيم القناع المختارة من `[0, 1]`: - 1 للرموز التي **ليست مقنّعة**، - 0 للرموز التي **مقنّعة**.  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

**يعيد:** [BaseModelOutputWithPooling](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) أو `tuple(torch.Tensor)`

[BaseModelOutputWithPooling](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) أو مجموعة من `torch.Tensor` (إذا تم تمرير `return_dict=False` أو عندما يكون `config.return_dict=False`) تتكون من عناصر مختلفة اعتماداً على الإعداد ([FlavaConfig](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaConfig)) والمدخلات.

- **last_hidden_state** (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`) -- تسلسل من حالات الإخفاء (hidden-states) عند مخرج الطبقة الأخيرة من النموذج.
- **pooler_output** (`torch.Tensor` من الشكل `(batch_size, hidden_size)`) -- حالة الطبقة المخفية الأخيرة للرمز الأول في التسلسل (رمز التصنيف) بعد المعالجة الإضافية عبر الطبقات المستخدمة في مهمة ما قبل التدريب المساعدة. على سبيل المثال، بالنسبة لعائلة نماذج BERT، تُرجع هذه الخاصية رمز التصنيف بعد معالجته عبر طبقة خطية ودالة تفعيل tanh. يتم تدريب أوزان الطبقة الخطية من هدف التنبؤ بالجملة التالية (التصنيف) أثناء ما قبل التدريب.
- **hidden_states** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) بأبعاد `(batch_size, sequence_length, hidden_size)`.

  حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.
- **attentions** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند تعيين `config.output_attentions=True`) -- مجموعة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

أمثلة:

```python
>>> import torch
>>> from transformers import AutoProcessor, FlavaModel
>>> from transformers.image_utils import load_image

>>> model = FlavaModel.from_pretrained("{0}")
>>> processor = AutoProcessor.from_pretrained("{0}")

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> image = load_image(url)

>>> inputs = processor(images=image, return_tensors="pt")

>>> with torch.inference_mode():
...     image_features = model.get_image_features(**inputs)
```

## FlavaImageCodebook[[transformers.FlavaImageCodebook]]

#### transformers.FlavaImageCodebook[[transformers.FlavaImageCodebook]]

```python
transformers.FlavaImageCodebook(config: FlavaImageCodebookConfig, **kwargs: Any)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L1289)

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

config ([FlavaImageCodebookConfig](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageCodebookConfig)) : فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. عند التهيئة باستخدام ملف إعدادات، لا يتم تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل أوزان النموذج.

يستلهم نموذج FLAVA الخاص بكود الكتابات المصورة من المُشفِّر الأصلي في DALL-E. يُخرج حالاتًا خفيةً خامة ويمكن استخدامه لتوليد رموز صورة لصورة معينة بناءً على قاموس DALL-E. يُستخدم لتوليد تسميات لـ MIM. استخدم `get_codebook_indices` للحصول على رموز الصورة لصورة معينة.

يرث هذا النموذج من [PreTrainedModel](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التنزيل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضاً فئة فرعية من [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

#### forward[[transformers.FlavaImageCodebook.forward]]

```python
forward(pixel_values: Tensor, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L1374)

#### get_codebook_indices[[transformers.FlavaImageCodebook.get_codebook_indices]]

```python
get_codebook_indices(pixel_values: Tensor)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L1340)

#### get_codebook_probs[[transformers.FlavaImageCodebook.get_codebook_probs]]

```python
get_codebook_probs(pixel_values: Tensor)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L1370)

## FlavaTextModel[[transformers.FlavaTextModel]]

#### transformers.FlavaTextModel[[transformers.FlavaTextModel]]

```python
transformers.FlavaTextModel(config: FlavaTextConfig, add_pooling_layer: bool = True)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L759)

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

config ([FlavaTextConfig](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaTextConfig)) : فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. عند التهيئة باستخدام ملف إعدادات، لا يتم تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل أوزان النموذج.

add_pooling_layer (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إضافة طبقة تجميع

نموذج Flava Text الخام الذي يُخرج حالات مخفية خام دون أي رأس محدد في الأعلى.

يرث هذا النموذج من [PreTrainedModel](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التنزيل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضاً فئة فرعية من [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

#### forward[[transformers.FlavaTextModel.forward]]

```python
forward(input_ids: typing.Optional[torch.Tensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, token_type_ids: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.Tensor] = None, output_attentions: bool | None = None, output_hidden_states: bool | None = None, return_dict: bool | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L787)

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

input_ids (`torch.LongTensor` من الشكل `(batch_size, text_seq_length)`) : فهارس رموز تسلسل الإدخال في قاموس الكلمات. يمكن الحصول على الفهارس باستخدام [AutoTokenizer](/docs/transformers/main/ar/model_doc/auto#transformers.AutoTokenizer). راجع [PreTrainedTokenizer.encode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) و [PreTrainedTokenizer.__call__()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) للتفاصيل. [ما هي معرّفات الإدخال؟](../glossary#input-ids)

attention_mask (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. قيم القناع المختارة من `[0, 1]`: - 1 للرموز التي **ليست مقنّعة**، - 0 للرموز التي **مقنّعة**.  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

token_type_ids (`torch.LongTensor` من الشكل `(batch_size, text_seq_length)`، *اختياري*) : فهارس رموز المقاطع للإشارة إلى الجزء الأول والثاني من المدخلات. يتم اختيار الفهارس من `[0, 1]`: - 0 يقابل رمز *الجملة أ*، - 1 يقابل رمز *الجملة ب*. [ما هي معرّفات أنواع الرموز؟](../glossary#token-type-ids)

position_ids (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس مواضع رموز كل تسلسل إدخال في تضمينات المواضع. يتم اختيارها من النطاق `[0, config.n_positions - 1]`.  [ما هي معرّفات المواضع؟](../glossary#position-ids)

output_attentions (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع مصفوفات الانتباه لجميع طبقات الانتباه. راجع `attentions` ضمن المصفوفات المُرجعة لمزيد من التفاصيل.

output_hidden_states (`bool`, *اختياري*) : ما إذا كان سيتم إرجاع الحالات المخفية لجميع الطبقات. راجع `hidden_states` ضمن الموترات المُرجعة لمزيد من التفاصيل.

return_dict (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع [ModelOutput](/docs/transformers/main/ar/main_classes/output#transformers.utils.ModelOutput) بدلاً من tuple عادي.

**يعيد:** [BaseModelOutputWithPooling](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) أو `tuple(torch.Tensor)`

[BaseModelOutputWithPooling](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) أو مجموعة من `torch.Tensor` (إذا تم تمرير `return_dict=False` أو عندما يكون `config.return_dict=False`) تتكون من عناصر مختلفة اعتماداً على الإعداد ([FlavaConfig](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaConfig)) والمدخلات.

تتجاوز طريقة [FlavaTextModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaTextModel) الخاصة بالتقديم (forward) الطريقة الخاصة `__call__`.

على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن `Module` بدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.

- **last_hidden_state** (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`) -- تسلسل من حالات الإخفاء (hidden-states) عند مخرج الطبقة الأخيرة من النموذج.
- **pooler_output** (`torch.Tensor` من الشكل `(batch_size, hidden_size)`) -- حالة الطبقة المخفية الأخيرة للرمز الأول في التسلسل (رمز التصنيف) بعد المعالجة الإضافية عبر الطبقات المستخدمة في مهمة ما قبل التدريب المساعدة. على سبيل المثال، بالنسبة لعائلة نماذج BERT، تُرجع هذه الخاصية رمز التصنيف بعد معالجته عبر طبقة خطية ودالة تفعيل tanh. يتم تدريب أوزان الطبقة الخطية من هدف التنبؤ بالجملة التالية (التصنيف) أثناء ما قبل التدريب.
- **hidden_states** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) بأبعاد `(batch_size, sequence_length, hidden_size)`.

  حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.
- **attentions** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند تعيين `config.output_attentions=True`) -- مجموعة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

## FlavaImageModel[[transformers.FlavaImageModel]]

#### transformers.FlavaImageModel[[transformers.FlavaImageModel]]

```python
transformers.FlavaImageModel(config: FlavaImageConfig, add_pooling_layer: bool = True)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L677)

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

config ([FlavaImageConfig](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageConfig)) : فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. عند التهيئة باستخدام ملف إعدادات، لا يتم تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل أوزان النموذج.

add_pooling_layer (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إضافة طبقة تجميع

نموذج Flava الأساسي الذي يُخرج حالات مخفية خام دون أي رأس محدد في الأعلى.

يرث هذا النموذج من [PreTrainedModel](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التنزيل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضاً فئة فرعية من [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

#### forward[[transformers.FlavaImageModel.forward]]

```python
forward(pixel_values: typing.Optional[torch.Tensor] = None, bool_masked_pos: typing.Optional[torch.BoolTensor] = None, interpolate_pos_encoding: bool | None = None, attention_mask: typing.Optional[torch.Tensor] = None, output_attentions: bool | None = None, output_hidden_states: bool | None = None, return_dict: bool | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L707)

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

pixel_values (`torch.Tensor` من الشكل `(batch_size, num_channels, image_size, image_size)`، *اختياري*) : المصفوفات المقابلة لصور الإدخال. يمكن الحصول على قيم البكسل باستخدام [FlavaImageProcessor](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageProcessor). راجع [FlavaImageProcessor.__call__()](/docs/transformers/main/ar/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) للتفاصيل ([FlavaProcessor](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaProcessor) يستخدم [FlavaImageProcessor](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageProcessor) لمعالجة الصور).

bool_masked_pos (`torch.BoolTensor` من الشكل `(batch_size, image_num_patches)`) : مواضع مقنّعة من نوع منطقي. تُظهر أيّ البقع مقنّعة (1) وأيّها غير مقنّع (0).

interpolate_pos_encoding (`bool`, *اختياري*) : ما إذا كان سيتم استيفاء ترميزات المواقع المُدرَّبة مسبقًا.

attention_mask (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. قيم القناع المختارة من `[0, 1]`: - 1 للرموز التي **ليست مقنّعة**، - 0 للرموز التي **مقنّعة**.  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

output_attentions (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع مصفوفات الانتباه لجميع طبقات الانتباه. راجع `attentions` ضمن المصفوفات المُرجعة لمزيد من التفاصيل.

output_hidden_states (`bool`, *اختياري*) : ما إذا كان سيتم إرجاع الحالات المخفية لجميع الطبقات. راجع `hidden_states` ضمن الموترات المُرجعة لمزيد من التفاصيل.

return_dict (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع [ModelOutput](/docs/transformers/main/ar/main_classes/output#transformers.utils.ModelOutput) بدلاً من tuple عادي.

**يعيد:** [BaseModelOutputWithPooling](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) أو `tuple(torch.Tensor)`

[BaseModelOutputWithPooling](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) أو مجموعة من `torch.Tensor` (إذا تم تمرير `return_dict=False` أو عندما يكون `config.return_dict=False`) تتكون من عناصر مختلفة اعتماداً على الإعداد ([FlavaConfig](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaConfig)) والمدخلات.

تتجاوز طريقة [FlavaImageModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaImageModel) الخاصة بالتقديم (forward) الطريقة الخاصة `__call__`.

على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن `Module` بدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.

- **last_hidden_state** (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`) -- تسلسل من حالات الإخفاء (hidden-states) عند مخرج الطبقة الأخيرة من النموذج.
- **pooler_output** (`torch.Tensor` من الشكل `(batch_size, hidden_size)`) -- حالة الطبقة المخفية الأخيرة للرمز الأول في التسلسل (رمز التصنيف) بعد المعالجة الإضافية عبر الطبقات المستخدمة في مهمة ما قبل التدريب المساعدة. على سبيل المثال، بالنسبة لعائلة نماذج BERT، تُرجع هذه الخاصية رمز التصنيف بعد معالجته عبر طبقة خطية ودالة تفعيل tanh. يتم تدريب أوزان الطبقة الخطية من هدف التنبؤ بالجملة التالية (التصنيف) أثناء ما قبل التدريب.
- **hidden_states** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) بأبعاد `(batch_size, sequence_length, hidden_size)`.

  حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.
- **attentions** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند تعيين `config.output_attentions=True`) -- مجموعة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

## FlavaMultimodalModel[[transformers.FlavaMultimodalModel]]

#### transformers.FlavaMultimodalModel[[transformers.FlavaMultimodalModel]]

```python
transformers.FlavaMultimodalModel(config: FlavaMultimodalConfig, add_pooling_layer = True)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L855)

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

config ([FlavaMultimodalConfig](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaMultimodalConfig)) : فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. عند التهيئة باستخدام ملف إعدادات، لا يتم تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل أوزان النموذج.

add_pooling_layer (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إضافة طبقة تجميع

نموذج Flava الأساسي الذي يُخرج حالات مخفية خام دون أي رأس محدد في الأعلى.

يرث هذا النموذج من [PreTrainedModel](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التنزيل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضاً فئة فرعية من [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

#### forward[[transformers.FlavaMultimodalModel.forward]]

```python
forward(hidden_states: Tensor, attention_mask: typing.Optional[torch.Tensor] = None, output_attentions: bool | None = None, output_hidden_states: bool | None = None, return_dict: bool | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L879)

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

hidden_states (`torch.Tensor` من الشكل `(batch_size, image_num_patches + text_seq_len, hidden_size)`) : حالات المخفي المدمجة لمشفّرات النمط الواحد.

attention_mask (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. قيم القناع المختارة من `[0, 1]`: - 1 للرموز التي **ليست مقنّعة**، - 0 للرموز التي **مقنّعة**.  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

output_attentions (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع مصفوفات الانتباه لجميع طبقات الانتباه. راجع `attentions` ضمن المصفوفات المُرجعة لمزيد من التفاصيل.

output_hidden_states (`bool`, *اختياري*) : ما إذا كان سيتم إرجاع الحالات المخفية لجميع الطبقات. راجع `hidden_states` ضمن الموترات المُرجعة لمزيد من التفاصيل.

return_dict (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع [ModelOutput](/docs/transformers/main/ar/main_classes/output#transformers.utils.ModelOutput) بدلاً من tuple عادي.

**يعيد:** [BaseModelOutputWithPooling](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) أو `tuple(torch.Tensor)`

[BaseModelOutputWithPooling](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) أو مجموعة من `torch.Tensor` (إذا تم تمرير `return_dict=False` أو عندما يكون `config.return_dict=False`) تتكون من عناصر مختلفة اعتماداً على الإعداد ([FlavaConfig](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaConfig)) والمدخلات.

تتجاوز طريقة [FlavaMultimodalModel](/docs/transformers/main/ar/model_doc/flava#transformers.FlavaMultimodalModel) الخاصة بالتقديم (forward) الطريقة الخاصة `__call__`.

على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن `Module` بدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.

- **last_hidden_state** (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`) -- تسلسل من حالات الإخفاء (hidden-states) عند مخرج الطبقة الأخيرة من النموذج.
- **pooler_output** (`torch.Tensor` من الشكل `(batch_size, hidden_size)`) -- حالة الطبقة المخفية الأخيرة للرمز الأول في التسلسل (رمز التصنيف) بعد المعالجة الإضافية عبر الطبقات المستخدمة في مهمة ما قبل التدريب المساعدة. على سبيل المثال، بالنسبة لعائلة نماذج BERT، تُرجع هذه الخاصية رمز التصنيف بعد معالجته عبر طبقة خطية ودالة تفعيل tanh. يتم تدريب أوزان الطبقة الخطية من هدف التنبؤ بالجملة التالية (التصنيف) أثناء ما قبل التدريب.
- **hidden_states** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) بأبعاد `(batch_size, sequence_length, hidden_size)`.

  حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.
- **attentions** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند تعيين `config.output_attentions=True`) -- مجموعة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

