# PE Audio

[PE Audio](https://huggingface.co/papers/2504.13181) هو الفرع الصوتي من عائلة Meta Perception Encoder. يقوم بمحاذاة موجات الصوت الخام مع النص بشكل تبايني في مساحة تضمين مشتركة، وقد تم تدريبه على بيانات صوتية–وصفية مزدوجة لأغراض الاسترجاع بين الوسائط والتصنيف الصوتي بدون تدريب مسبق.

يُعرَّض رأسان على قمة المُشفِّر نفسه. يُرجع [PeAudioModel](/docs/transformers/main/ar/model_doc/pe_audio#transformers.PeAudioModel) تضمينًا مجمَّعًا واحدًا لكل مقطع لاسترجاع على مستوى المقطع، بينما يُرجع [PeAudioFrameLevelModel](/docs/transformers/main/ar/model_doc/pe_audio#transformers.PeAudioFrameLevelModel) تضمينًا واحدًا كل 40 مللي ثانية لتحديد الأحداث والتحليل الزمني الدقيق.

يمكنك العثور على جميع نقاط التفتيش الرسمية لـ PE Audio ضمن مجموعة [perception-encoder-audio-visual](https://huggingface.co/collections/facebook/perception-encoder-audio-visual).

## البدء السريع

```py
import torch
from datasets import load_dataset
from transformers import AutoProcessor, PeAudioModel

processor = AutoProcessor.from_pretrained("facebook/pe-av-large")
model = PeAudioModel.from_pretrained(
    "facebook/pe-av-large",
    device_map="auto",
)

ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
audio = ds[0]["audio"]["array"]
labels = ["a dog barking", "a person speaking", "music playing"]

audio_inputs = processor.feature_extractor(audio, sampling_rate=48_000, return_tensors="pt").to(model.device)
text_inputs = processor.tokenizer(labels, padding=True, return_tensors="pt").to(model.device)
inputs = {**audio_inputs, **text_inputs}

with torch.no_grad():
    outputs = model(**inputs)

probs = outputs.logits_audio_text.sigmoid()
print({label: p.item() for label, p in zip(labels, probs[0])})
```

## نصائح وملاحظات حول الاستخدام

- يجب أن يكون الصوت أحادي القناة (`feature_size=1`) وأن يُعاد أخذ عيناته بمعدل 48 كيلوهرتز — حيث يُصدر مستخرج الميزات تحذيراً لكنه لا يعيد أخذ العينات نيابةً عنك. ولا يُدعم إدخال الصوت المجسم.
- يتم التعامل مع الصوت ذي الطول المتغير باستخدام `padding_mask` (وليس `attention_mask` المعتاد). يتم تقليل دقة القناع داخلياً بواسطة `dac_config.hop_length` قبل وصوله إلى المُشفِّر، لذا مرّر قناع الدقة الخام لمستوى الموجة الذي يعيده مستخرج الميزات.
- يعيد [PeAudioModel](/docs/transformers/main/ar/model_doc/pe_audio#transformers.PeAudioModel) قيم logits بأبعاد `(n_audio, n_text)`. ويعيد [PeAudioFrameLevelModel](/docs/transformers/main/ar/model_doc/pe_audio#transformers.PeAudioFrameLevelModel) قيمًا بأبعاد `(n_audio, n_text, n_frames)` مع إطار واحد كل 40 مللي ثانية. اختر الفئة التي تتناسب مع المهمة — فهي تشترك في الأوزان، لذا فإن التبديل بينهما عملية رخيصة.
- برج النص هو مُشفِّر مشترك يُحمَّل عبر `AutoModel` من `config.text_config`. يتم إرفاق مُجزِّئ الرموز بالمعالج عبر `AutoTokenizer`، وليس عبر فئة مخصصة.

## PeAudioConfig[[transformers.PeAudioConfig]]

#### transformers.PeAudioConfig[[transformers.PeAudioConfig]]

```python
transformers.PeAudioConfig(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, text_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, audio_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None)
```

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

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

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

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

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

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

مثال:

```python
>>> from transformers import PeAudioModel, PeAudioConfig

>>> # Initializing a PeAudioModel style configuration
>>> configuration = PeAudioConfig()

>>> # Initializing a model from the pe-av-large style configuration
>>> model = PeAudioModel(configuration)

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

## PeAudioEncoderConfig[[transformers.PeAudioEncoderConfig]]

#### transformers.PeAudioEncoderConfig[[transformers.PeAudioEncoderConfig]]

```python
transformers.PeAudioEncoderConfig(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, dac_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, hidden_size: int = 1792, intermediate_size: int = 4800, num_hidden_layers: int = 6, num_attention_heads: int = 14, num_key_value_heads: int | None = None, head_dim: int = 128, hidden_act: str = 'silu', max_position_embeddings: int = 10000, initializer_range: float = 0.02, rms_norm_eps: float = 1e-05, rope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = None, attention_bias: bool = False, attention_dropout: float | int = 0.0)
```

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

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

dac_config (`Union[PreTrainedConfig, dict]`، *اختياري*) : إعدادات مُشفِّر الصوت DAC المستخدم لتحويل مدخلات الصوت الخام إلى رموز. إذا تم تمرير قاموس، فسيُستخدم لإنشاء [DacConfig](/docs/transformers/main/ar/model_doc/dac#transformers.DacConfig) باستخدام معاملات DAC الافتراضية.

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

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

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

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

num_key_value_heads (`int`, *اختياري*) : هذا هو عدد رؤوس key_value التي يجب استخدامها لتنفيذ Grouped Query Attention. إذا كان `num_key_value_heads=num_attention_heads`، فسيستخدم النموذج Multi Head Attention (MHA)، وإذا كان `num_key_value_heads=1` فسيستخدم النموذج Multi Query Attention (MQA)، وإلا فسيتم استخدام GQA. عند تحويل نقطة تفتيش متعددة الرؤوس إلى نقطة تفتيش GQA، يجب بناء كل مجموعة من رؤوس key و value عن طريق meanpooling جميع الرؤوس الأصلية داخل تلك المجموعة. لمزيد من التفاصيل، راجع [هذا الورقة](https://huggingface.co/papers/2305.13245). إذا لم يتم تحديد القيمة، فسيتم افتراض `num_attention_heads`.

head_dim (`int`، *اختياري*، القيمة الافتراضية `128`) : بُعد رأس الانتباه. إذا كانت القيمة None، فستكون القيمة الافتراضية هي hidden_size // num_attention_heads

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

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

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

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

rope_parameters (`Union[~modeling_rope_utils.RopeParameters, dict]`، *اختياري*) : قاموس يحتوي على معاملات التهيئة الخاصة بتضمينات RoPE. يجب أن يحتوي القاموس على قيمة لـ `rope_theta`، وبشكل اختياري معاملات تُستخدم للتوسيع في حال رغبتَ في استخدام RoPE مع `max_position_embeddings` أطول.

attention_bias (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم استخدام انحياز في طبقات الإسقاط للاستعلام والمفتاح والقيمة والمخرجات أثناء الانتباه الذاتي.

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

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

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

```python
>>> from transformers import PeAudioEncoder, PeAudioEncoderConfig

>>> # Initializing a PeAudioEncoder style configuration
>>> configuration = PeAudioEncoderConfig()

>>> # Initializing a model from the pe-av-large style configuration
>>> model = PeAudioEncoder(configuration)

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

## PeAudioFeatureExtractor[[transformers.PeAudioFeatureExtractor]]

#### transformers.PeAudioFeatureExtractor[[transformers.PeAudioFeatureExtractor]]

```python
transformers.PeAudioFeatureExtractor(feature_size: int = 1, sampling_rate: int = 48000, padding_value: float = 0.0, hop_length: int = 1920, **kwargs)
```

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

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

feature_size (`int`، *اختياري*، القيمة الافتراضية 1) : بُعد الميزة للميزات المستخرجة. استخدم 1 للمono و2 للستيريو.

sampling_rate (`int`، *اختياري*، القيمة الافتراضية 48000) : معدل أخذ العينات الذي يجب من خلاله تحويل الموجة الصوتية إلى شكل رقمي، ويُعبَّر عنه بالهرتز (Hz).

padding_value (`float`، *اختياري*، القيمة الافتراضية 0.0) : القيمة المستخدمة للتعبئة.

hop_length (`int`، *اختياري*، القيمة الافتراضية 1920) : طول التداخل بين النوافذ المتتالية.

ينشئ مستخرج ميزات PeAudioFeatureExtractor.

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

#### __call__[[transformers.PeAudioFeatureExtractor.__call__]]

```python
__call__(raw_audio: numpy.ndarray | list[float] | list[numpy.ndarray] | list[list[float]] | str | list[str], padding: bool | str | transformers.utils.generic.PaddingStrategy | None = None, truncation: bool | None = False, max_length: int | None = None, return_tensors: str | transformers.utils.generic.TensorType | None = None, sampling_rate: int | None = None)
```

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

## PeAudioProcessor[[transformers.PeAudioProcessor]]

#### transformers.PeAudioProcessor[[transformers.PeAudioProcessor]]

```python
transformers.PeAudioProcessor(*args, **kwargs)
```

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

## PeAudioEncoder[[transformers.PeAudioEncoder]]

#### transformers.PeAudioEncoder[[transformers.PeAudioEncoder]]

```python
transformers.PeAudioEncoder(config: PeAudioEncoderConfig)
```

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

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

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

نموذج PeAudio Encoder.

يرث هذا النموذج من [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.PeAudioEncoder.forward]]

```python
forward(input_values: Tensor, padding_mask: typing.Optional[torch.Tensor] = None, **kwargs)
```

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

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

input_values (`torch.Tensor` من الشكل `(batch_size, sequence_length)`) : قيم رقمية عشرية لموجة الصوت الخام المُدخلة. يمكن الحصول على هذه القيم عن طريق تحميل ملف صوتي من نوع `.flac` أو `.wav` في مصفوفة من النوع `list[float]`، أو `numpy.ndarray`، أو `torch.Tensor`، *على سبيل المثال* عبر مكتبة torchcodec (`pip install torchcodec`) أو مكتبة soundfile (`pip install soundfile`). لتحضير المصفوفة إلى `input_values`، يجب استخدام [AutoProcessor](/docs/transformers/main/ar/model_doc/auto#transformers.AutoProcessor) لإضافة الحشو والتحويل إلى متجه من النوع `torch.Tensor`. راجع [PeAudioProcessor.__call__()](/docs/transformers/main/ar/main_classes/processors#transformers.ProcessorMixin.__call__) للتفاصيل.

padding_mask (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على عينات الحشو في `input_values`. قيم القناع المختارة من `[0, 1]`: - 1 للعينات التي **ليست مقنّعة**، - 0 للعينات التي **مقنّعة**.

**يعيد:** [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`) تتكون من عناصر مختلفة اعتماداً على الإعداد ([PeAudioConfig](/docs/transformers/main/ar/model_doc/pe_audio#transformers.PeAudioConfig)) والمدخلات.

تتجاوز طريقة [PeAudioEncoder](/docs/transformers/main/ar/model_doc/pe_audio#transformers.PeAudioEncoder) الخاصة بالتقديم (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 على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

## PeAudioModel[[transformers.PeAudioModel]]

#### transformers.PeAudioModel[[transformers.PeAudioModel]]

```python
transformers.PeAudioModel(config: PeAudioConfig)
```

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

#### forward[[transformers.PeAudioModel.forward]]

```python
forward(input_ids: Tensor, input_values: Tensor, attention_mask: typing.Optional[torch.Tensor] = None, padding_mask: typing.Optional[torch.Tensor] = None, return_loss: bool | None = None, **kwargs)
```

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

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

input_ids (`torch.Tensor` من الشكل `(batch_size, sequence_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)

input_values (`torch.Tensor` من الشكل `(batch_size, sequence_length)`) : قيم رقمية عشرية لموجة الصوت الخام المُدخلة. يمكن الحصول على هذه القيم عن طريق تحميل ملف صوتي من نوع `.flac` أو `.wav` في مصفوفة من النوع `list[float]`، أو `numpy.ndarray`، أو `torch.Tensor`، *على سبيل المثال* عبر مكتبة torchcodec (`pip install torchcodec`) أو مكتبة soundfile (`pip install soundfile`). لتحضير المصفوفة إلى `input_values`، يجب استخدام [AutoProcessor](/docs/transformers/main/ar/model_doc/auto#transformers.AutoProcessor) لإضافة الحشو والتحويل إلى متجه من النوع `torch.Tensor`. راجع [PeAudioProcessor.__call__()](/docs/transformers/main/ar/main_classes/processors#transformers.ProcessorMixin.__call__) للتفاصيل.

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

padding_mask (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على عينات الحشو في `input_values`. قيم القناع المختارة من `[0, 1]`: - 1 للعينات التي **ليست مقنّعة**، - 0 للعينات التي **مقنّعة**.

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

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

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

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

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

- **loss** (`torch.Tensor` of shape `(1,)`, *اختياري*) -- خسارة تباينية محسوبة بين تمثيلات الصوت والنص.
- **logits_audio_text** (`torch.Tensor` of shape `(batch_size, batch_size)`, *اختياري*) -- قيم التماثل (logits) بين تمثيلات الصوت والنص. تُرجع [PeAudioFrameLevelModel](/docs/transformers/main/ar/model_doc/pe_audio#transformers.PeAudioFrameLevelModel) قيم التماثل (logits) لكل إطار على شكل `(batch_size, batch_size, sequence_length)` بدلاً من ذلك.
- **text_audio_embeds** (`torch.Tensor` من الشكل `(batch_size, hidden_size)`، *اختياري*) -- تمثيلات نصية مُسقطَة إلى فضاء الصوت-النص.
- **audio_embeds** (`torch.Tensor` من الشكل `(batch_size, hidden_size)`، *اختياري*) -- تمثيلات صوتية مُسقطَة إلى فضاء النص والصوت. يُرجع [PeAudioFrameLevelModel](/docs/transformers/main/ar/model_doc/pe_audio#transformers.PeAudioFrameLevelModel) بدلاً من ذلك تمثيلات لكل إطار من الشكل `(batch_size, sequence_length, hidden_size)`.
- **text_outputs** (`BaseModelOutputWithPooling`، *اختياري*) -- مخرجات النموذج لمشفّر النص، بما في ذلك حالة الإخفاء الأخيرة والمخرجات المجمّعة.
- **audio_outputs** (`BaseModelOutputWithPooling`، *اختياري*) -- مخرجات النموذج لمشفّر الصوت، بما في ذلك الحالة المخفية الأخيرة والمخرجات المجمّعة.

## PeAudioFrameLevelModel[[transformers.PeAudioFrameLevelModel]]

#### transformers.PeAudioFrameLevelModel[[transformers.PeAudioFrameLevelModel]]

```python
transformers.PeAudioFrameLevelModel(config: PeAudioConfig)
```

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

#### forward[[transformers.PeAudioFrameLevelModel.forward]]

```python
forward(input_ids: Tensor, input_values: Tensor, attention_mask: typing.Optional[torch.Tensor] = None, padding_mask: typing.Optional[torch.Tensor] = None, return_loss: bool | None = None, **kwargs)
```

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

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

input_ids (`torch.Tensor` من الشكل `(batch_size, sequence_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)

input_values (`torch.Tensor` من الشكل `(batch_size, sequence_length)`) : قيم رقمية عشرية لموجة الصوت الخام المُدخلة. يمكن الحصول على هذه القيم عن طريق تحميل ملف صوتي من نوع `.flac` أو `.wav` في مصفوفة من النوع `list[float]`، أو `numpy.ndarray`، أو `torch.Tensor`، *على سبيل المثال* عبر مكتبة torchcodec (`pip install torchcodec`) أو مكتبة soundfile (`pip install soundfile`). لتحضير المصفوفة إلى `input_values`، يجب استخدام [AutoProcessor](/docs/transformers/main/ar/model_doc/auto#transformers.AutoProcessor) لإضافة الحشو والتحويل إلى متجه من النوع `torch.Tensor`. راجع [PeAudioProcessor.__call__()](/docs/transformers/main/ar/main_classes/processors#transformers.ProcessorMixin.__call__) للتفاصيل.

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

padding_mask (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على عينات الحشو في `input_values`. قيم القناع المختارة من `[0, 1]`: - 1 للعينات التي **ليست مقنّعة**، - 0 للعينات التي **مقنّعة**.

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

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

A `PeAudioOutput` or a tuple of `torch.Tensor` (if `return_dict=False` is passed or when `config.return_dict=False`) comprising various elements depending on the configuration ([PeAudioConfig](/docs/transformers/main/ar/model_doc/pe_audio#transformers.PeAudioConfig)) and inputs.

تُعيد طريقة [PeAudioFrameLevelModel](/docs/transformers/main/ar/model_doc/pe_audio#transformers.PeAudioFrameLevelModel) الخاصة بالتقديم (forward) تعريف الطريقة الخاصة `__call__`.

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

- **loss** (`torch.Tensor` of shape `(1,)`, *اختياري*) -- خسارة تباينية محسوبة بين تمثيلات الصوت والنص.
- **logits_audio_text** (`torch.Tensor` of shape `(batch_size, batch_size)`, *اختياري*) -- قيم التماثل (logits) بين تمثيلات الصوت والنص. تُرجع [PeAudioFrameLevelModel](/docs/transformers/main/ar/model_doc/pe_audio#transformers.PeAudioFrameLevelModel) قيم التماثل (logits) لكل إطار على شكل `(batch_size, batch_size, sequence_length)` بدلاً من ذلك.
- **text_audio_embeds** (`torch.Tensor` من الشكل `(batch_size, hidden_size)`، *اختياري*) -- تمثيلات نصية مُسقطَة إلى فضاء الصوت-النص.
- **audio_embeds** (`torch.Tensor` من الشكل `(batch_size, hidden_size)`، *اختياري*) -- تمثيلات صوتية مُسقطَة إلى فضاء النص والصوت. يُرجع [PeAudioFrameLevelModel](/docs/transformers/main/ar/model_doc/pe_audio#transformers.PeAudioFrameLevelModel) بدلاً من ذلك تمثيلات لكل إطار من الشكل `(batch_size, sequence_length, hidden_size)`.
- **text_outputs** (`BaseModelOutputWithPooling`، *اختياري*) -- مخرجات النموذج لمشفّر النص، بما في ذلك حالة الإخفاء الأخيرة والمخرجات المجمّعة.
- **audio_outputs** (`BaseModelOutputWithPooling`، *اختياري*) -- مخرجات النموذج لمشفّر الصوت، بما في ذلك الحالة المخفية الأخيرة والمخرجات المجمّعة.

