# المعالجات

## المعالجات متعددة الوسائط[[transformers.ProcessorMixin]]

تتطلب أي نموذج متعدد الوسائط كائناً لتشفير البيانات أو فك تشفيرها، يجمع بين عدة وسائط (من بينها النص والرؤية والصوت). يتم التعامل مع ذلك عبر كائنات تُسمى المعالِجات (processors)، والتي تجمع بين كائنين أو أكثر من كائنات المعالجة، مثل المرمّزات (tokenizers) (لوسائط النص)، ومعالجات الصور (image processors) (لوسائط الرؤية)، ومستخرجات الميزات (feature extractors) (لوسائط الصوت).

ترث هذه المعالجات من الفئة الأساسية التالية التي تنفّذ وظيفة الحفظ والتحميل:

#### transformers.ProcessorMixin[[transformers.ProcessorMixin]]

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

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

هذا مزيج (mixin) يُستخدم لتوفير وظيفة الحفظ/التحميل لجميع فئات المعالج.

#### __call__[[transformers.ProcessorMixin.__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 للحصول على القائمة الكاملة للحجج المدعومة.

#### prepare_inputs_layout[[transformers.ProcessorMixin.prepare_inputs_layout]]

```python
prepare_inputs_layout(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#L714)

تطبيع المدخلات وجلبها مسبقًا قبل المعالجة. يغلّف النص داخل قائمة لمعالجات الوسائط المتعددة، ويجلب الصور والصوت عن بُعد إذا تم توفير عناوين URL، ويضمن تجميع الصوت بشكل صحيح. يعيد مجموعة `(images, text, videos, audio)` المطبّعة.

#### validate_inputs[[transformers.ProcessorMixin.validate_inputs]]

```python
validate_inputs(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#L743)

تحقّق من أن مدخلاً واحداً على الأقل قد تم توفيره، وأن كلمات مفتاحية غير مستخدمة لم تُستخدَم. وإلا ترفع `ValueError`.

تجاوز عند الحاجة إلى التحقق الإضافي من المعاملات المدخلة في المعالج.

#### get_text_with_replacements[[transformers.ProcessorMixin.get_text_with_replacements]]

```python
get_text_with_replacements(text: list, images_replacements: list = [], videos_replacements: list = [], audio_replacements: list = [])
```

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

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

text (*list[str]*) : دفعة من نصوص خام، قد تحتوي كل منها على رموز محجوزة متعددة الوسائط. يُرجى ملاحظة أن النص سيُعدَّل في مكانه ثم يُعاد.

images_replacements (*list[str]*، *اختياري*، القيمة الافتراضية *[]*) : نصوص الاستبدال الموسّعة لكل صورة، بالترتيب الذي تظهر به عبر الدفعة. يتم إنتاجها بواسطة *self._process_images*.

videos_replacements (*list[str]*، *اختياري*، القيمة الافتراضية هي *[]*) : نصوص الاستبدال الموسّعة لكل فيديو. يتم إنتاجها بواسطة *self._process_videos*.

audio_replacements (*list[str]*، *اختياري*، القيمة الافتراضية *[]*) : نصوص الاستبدال الموسّعة لكل مدخل صوتي. يتم إنتاجها بواسطة *self._process_audio*.

**يعيد:** *tuple[list[str], list[dict[str, Any]]]*

مجموعة من:
- دفعة *text* المعدلة مع توسيع جميع رموز المساحة الاحتياطية.
- *batch_replacement_offsets*: عنصر واحد لكل عنصر في الدفعة، حيث يكون كل عنصر
قائمة من القواميس بمفاتيح:
- *"type"* (*str*): اسم النمط — *"image"* أو *"video"* أو *"audio"*
- *"span"* (*tuple[int, int]*): إزاحات الأحرف الأصلية *(start, end)* لرمز المحل
- *"new_span"* (*tuple[int, int]*): إزاحات *(start, end)* للموضع الاحتياطي في النص الموسّع
- *"text"* (*str*): سلسلة رمز الوكيل الأصلية التي تم مطابقتها
- *"replacement"* (*str*): النص الذي تم الاستبدال به

استبدل رموز العلامات الموضعية متعددة الوسائط في دفعة من نصوص نصية بتمثيلاتها الموسّعة، وأعد النصوص المعدّلة إلى جانب بيانات إزاحة الوصف.

تُعدّ هذه الطريقة خطوة المعالجة المسبقة الأساسية على جانب النص للمدخلات متعددة الوسائط. فهي تفحص كل نص في الدفعة بحثاً عن الرموز الخاصة (صورة، فيديو، صوت) وتستبدلها بالترتيب مع سلاسل الاستبدال المحسوبة مسبقاً التي تنتجها *self.replace_image_token* / *self.replace_video_token* / *self.replace_audio_token*. يتم استهلاك عمليات الاستبدال من قائمة كل نمط تسلسلياً، بحيث يُستبدل مثلاً ظهور `self.image_token` رقم i بـ `images_replacements[i]`.

لإضافة معالج متعدد الوسائط جديد مع رموز محجوزة، يجب عليك تحديد *self.image_token* الصحيح، وهو الرمز نفسه المضمّن في النص المُدخل والمستخدم أيضاً كرمز محجوز ويُكرر عدة مرات. ثم عليك تجاوز *self.replace_image_token* لإرجاع سلسلة الاستبدال الصحيحة للصورة المعطاة عند الفهرس *i*. وينطبق الأمر نفسه على جميع الوسائط المدعومة الأخرى.

#### create_mm_token_type_ids[[transformers.ProcessorMixin.create_mm_token_type_ids]]

```python
create_mm_token_type_ids(input_ids: list)
```

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

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

input_ids (*list[list[int]]*) : دفعة من تسلسلات معرّفات الرموز. قد تكون غير مملوءة (بطول متغير)، لذا يُتوقع قائمة Python عادية من القوائم بدلاً من متجه أو مصفوفة بأبعاد موحدة.

**يعيد:** *list[list[int]]*

قائمة ذات بنية مماثلة لـ`input_ids`، حيث يمثل كل عدد صحيح معرّف نوع الوسائط (modality type ID) للرمز (token) المقابل.

أنشئ معرّفات نوع الوسائط لكل رمز (per-token) لدفعة من تسلسلات token_id.

يُسنَد إلى كل موضع عدد صحيح يحدد الوسيلة التي ينتمي إليها: `0` للنص العادي، و`1` لرموز الصور، و`2` لرموز الفيديو، و`3` لرموز الصوت. ويُحدَّد الانتماء من خلال المقارنة مع `self.image_token_ids` و`self.video_token_ids` و`self.audio_token_ids`.

#### apply_chat_template[[transformers.ProcessorMixin.apply_chat_template]]

```python
apply_chat_template(conversation: list[dict[str, str]] | list[list[dict[str, str]]], chat_template: str | None = None, tools: list[dict] | None = None, documents: list[dict[str, str]] | None = None, add_generation_prompt: bool = False, continue_final_message: bool | str = False, return_assistant_tokens_mask: bool = False, tokenize: bool = False, return_tensors: str | transformers.utils.generic.TensorType | None = 'auto', return_dict: bool = False, load_audio_from_video: bool = False, processor_kwargs: dict | None = None, **kwargs)
```

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

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

conversation (`Union[list[Dict, [str, str]], list[list[dict[str, str]]]]`) : المحادثة التي سيتم تنسيقها.

chat_template (`Optional[str]`، *اختياري*) : قالب Jinja المستخدم لتنسيق المحادثة. إذا لم يُقدَّم، يُستخدم قالب المحادثة الخاص بـ tokenizer.

بالمثل مع طريقة `apply_chat_template` في مُرمّزيات الرموز، تطبّق هذه طريقة قالب Jinja على محادثات الإدخال لتحويلها إلى نص واحد قابل للتقسيم إلى رموز.

يُتوقَّع أن يكون المدخل بالصيغة التالية، حيث يكون محتوى كل رسالة قائمة تتكوّن من نص، وإدخالات صور أو فيديو اختيارية. كما يمكن تقديم صورة أو فيديو أو عنوان URL أو مسار محلي، وسيُستخدم لتكوين `pixel_values` عندما يكون `return_dict=True`. إذا لم يُقدَّم، فسيتم الحصول على النص المنسَّق فقط، أو النص المُرمَّز اختيارياً.

conversation = [ { "role": "user", "content": [ {"type": "image", "url": "https://www.ilankelman.org/stopsigns/australia.jpg"}, {"type": "text", "text": "Please describe this image in detail."}, ], }, ]

### معالجة kwargs[[transformers.ProcessingKwargs]]

تقبل دوال `__call__` الخاصة بمعالج (Processor) حُججًا مُسمّاة منظمة حسب النمط (modality). تُعرّف فئات TypedDict التالية الحُجج المُسمّاة المتاحة لكل نمط. قد ترث معالجات محددة لنماذج معينة من هذه الفئات لإضافة حقول أو تجاوزها.

#### transformers.ProcessingKwargs[[transformers.ProcessingKwargs]]

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

الفئة الأساسية لتمرير معاملات kwargs إلى المعالجات. إذا كان للنموذج معاملات kwargs محددة غير موجودة في الفئة الأساسية أو قيم افتراضية للمفاتيح الموجودة، فيجب أن يكون لديه فئة `ModelProcessorKwargs` خاصة به ترث من `ProcessingKwargs` لتوفير:
1) مفاتيح إضافية مُعرَّفة النوع، والتي يتطلبها هذا النموذج لمعالجة المدخلات.
2) القيم الافتراضية للمفاتيح الموجودة تحت خاصية `_defaults`.
يجب تعريف المفاتيح الجديدة على النحو التالي لضمان تنفيذ تلميح الأنواع بشكل صحيح.

```python
# adding a new image kwarg for this model
class ModelImagesKwargs(ImagesKwargs, total=False):
    new_image_kwarg: Optional[bool]

class ModelProcessorKwargs(ProcessingKwargs, total=False):
    images_kwargs: ModelImagesKwargs
    _defaults = {
        "images_kwargs: {
            "new_image_kwarg": False,
        }
        "text_kwargs": {
            "padding": "max_length",
        },
    }

```

لتوافق Python 3.8، عند الوراثة من هذه الفئة وتجاوز أحد معاملات kwargs،

تحتاج إلى تحديث قاموس __annotations__ يدوياً. يمكن القيام بذلك على النحو التالي:

```python
class CustomProcessorKwargs(ProcessingKwargs, total=False):
    images_kwargs: CustomImagesKwargs

CustomProcessorKwargs.__annotations__["images_kwargs"] = CustomImagesKwargs  # python 3.8 compatibility
```

#### transformers.TextKwargs[[transformers.TextKwargs]]

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

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

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

padding (`bool` أو `str` أو [PaddingStrategy](/docs/transformers/main/ar/internal/file_utils#transformers.utils.PaddingStrategy)، *اختياري*) : يُفعّل التحكم في الحشو.

truncation (`bool` أو `str` أو [TruncationStrategy](/docs/transformers/main/ar/internal/tokenization_utils#transformers.tokenization_utils_base.TruncationStrategy)، *اختياري*) : يُفعّل التحكم في القص.

max_length (`int`, *اختياري*) : يتحكم في الحد الأقصى للطول المستخدم بواسطة أحد معاملات القص/الحشو.

stride (`int`، *اختياري*) : إذا تم ضبطه، فستحتوي الرموز المتجاوزة على بعض الرموز من نهاية التسلسل المقطوع.

is_split_into_words (`bool`، *اختياري*) : ما إذا كانت المدخلات مُجزّأة مسبقًا أم لا.

pad_to_multiple_of (`int`، *اختياري*) : إذا تم ضبطه، فسيتم ملء التسلسل حتى يصبح مضاعفًا للقيمة المُقدَّمة.

return_token_type_ids (`bool`، *اختياري*) : ما إذا كان يجب إرجاع معرّفات أنواع الرموز.

return_attention_mask (`bool`، *اختياري*) : ما إذا كان يجب إرجاع قناع الانتباه.

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

return_special_tokens_mask (`bool`، *اختياري*) : ما إذا كان يجب إرجاع معلومات قناع الرموز الخاصة أم لا.

return_offsets_mapping (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع `(char_start, char_end)` لكل رمز.

return_length (`bool`، *اختياري*) : ما إذا كان يجب إرجاع أطوال المدخلات المُرمَّزة أم لا.

verbose (`bool`، *اختياري*) : ما إذا كان يجب طباعة مزيد من المعلومات والتحذيرات أم لا.

padding_side (`str`، *اختياري*) : الجانب الذي سيُطبَّق عليه الحشو.

return_mm_token_type_ids (`bool`، *اختياري*) : ما إذا كان يجب إرجاع معرّفات أنواع الرموز متعددة الوسائط التي تشير إلى مواضع رموز المحلّلات (placeholder) الخاصة بالوسائط المتعددة.

return_text_replacement_offsets (`bool`، *اختياري*) : ما إذا كان يجب إرجاع إزاحات الأحرف لكل رمز نائب mm واستبداله.

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

…

#### transformers.ImagesKwargs[[transformers.ImagesKwargs]]

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

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

do_convert_rgb (`bool`) : ما إذا كان سيتم تحويل الصورة إلى تنسيق RGB.

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

size (`dict[str, int]`، *اختياري*) : إعادة تحجيم باستخدام أحد قواميس الأحجام المدعومة. تستخدم حدود مساحة البكسلات `{"min_pixels": int, "max_pixels": int}`.

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

crop_size (`dict[str, int]`، *اختياري*) : الحجم المطلوب للمخرجات عند تطبيق القص المركزي.

resample (`PILImageResampling`، *اختياري*) : مرشح إعادة العينة المستخدم عند تغيير حجم الصورة.

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

rescale_factor (`int` أو `float`، *اختياري*) : معامل المقياس المستخدم عند إعادة تحجيم الصورة.

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

image_mean (`float` أو `list[float] or tuple[float, float, float]`، *اختياري*) : المتوسط المستخدم عند تطبيع الصورة.

image_std (`float` أو `list[float] or tuple[float, float, float]`، *اختياري*) : الانحراف المعياري المستخدم عند تطبيع الصورة.

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

pad_size (`dict[str, int]`، *اختياري*) : الحجم `{"height": int, "width" int}` الذي يجب توسيد الصور إليه.

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

data_format (`ChannelDimension` أو `str`، *اختياري*) : تنسيق بُعد القناة للصورة الناتجة.

input_data_format (`ChannelDimension` أو `str`، *اختياري*) : تنسيق بُعد القناة للصورة المدخلة.

device (`Union[str, torch.Tensor]`، *اختياري*) : الجهاز المستخدم للمعالجة (مثل "cpu" أو "cuda")، وهو ذو صلة فقط بواجهة torchvision.

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

disable_grouping (`bool`, *اختياري*) : ما إذا كان سيتم تجميع الصور حسب الأشكال عند المعالجة أم لا، وهو أمر ذو صلة فقط بواجهة torchvision.

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

حجج الكلمات المفتاحية لمعالجة الصور. للحصول على توثيق موسّع، راجع طرق فئة ImageProcessor المناسبة ووثائقها.

#### transformers.VideosKwargs[[transformers.VideosKwargs]]

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

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

do_convert_rgb (`bool`) : ما إذا كان سيتم تحويل الفيديو إلى تنسيق RGB.

do_resize (`bool`) : ما إذا كان يجب تغيير حجم الفيديو.

size (`dict[str, int]`، *اختياري*) : يُعيد ضبط الجانب الأقصر من المدخل إلى `size["shortest_edge"]`.

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

resample (`PILImageResampling`، *اختياري*) : مرشح إعادة العينة المستخدم عند تغيير حجم الفيديو.

do_rescale (`bool`, *اختياري*) : ما إذا كان سيتم إعادة تحجيم الفيديو حسب معامل التحجيم المحدد `rescale_factor`.

rescale_factor (`int` أو `float`، *اختياري*) : معامل المقياس المستخدم عند إعادة تحجيم الفيديو.

do_normalize (`bool`، *اختياري*) : ما إذا كان سيتم تطبيع الفيديو.

image_mean (`float` أو `list[float] or tuple[float, float, float]`، *اختياري*) : المتوسط المستخدم عند تطبيع الفيديو.

image_std (`float` أو `list[float] or tuple[float, float, float]`، *اختياري*) : الانحراف المعياري المستخدم عند تطبيع الفيديو.

do_center_crop (`bool`، *اختياري*) : ما إذا كان سيتم قصّ الفيديو من المنتصف.

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

do_sample_frames (`bool`، *اختياري*) : ما إذا كان يجب أخذ عينات من الإطارات من الفيديو قبل المعالجة أم معالجة الفيديو بالكامل.

video_metadata (`Union[VideoMetadata, dict]`، *اختياري*) : بيانات وصفية للفيديو تتضمن معلومات عن المدة الإجمالية، ومعدل الإطارات في الثانية، والعدد الإجمالي للإطارات.

num_frames (`int`، *اختياري*) : الحد الأقصى لعدد الإطارات التي يجب أخذها كعينة عند تعيين `do_sample_frames=True`.

fps (`int` أو `float`، *اختياري*) : عدد الإطارات المستهدفة التي يجب أخذ عينات منها في الثانية الواحدة عندما يكون `do_sample_frames=True`.

crop_size (`dict[str, int]`، *اختياري*) : الحجم المطلوب للمخرجات عند تطبيق القص المركزي.

data_format (`ChannelDimension` أو `str`، *اختياري*) : تنسيق بُعد القناة للفيديو الناتج.

input_data_format (`ChannelDimension` أو `str`، *اختياري*) : تنسيق بُعد القناة للفيديو المُدخل.

device (`Union[str, torch.Tensor]`، *اختياري*) : الجهاز المستخدم للمعالجة (مثل "cpu" أو "cuda")، وهو ذو صلة فقط بمعالجة الصور السريعة.

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

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

معلمات الكلمات المفتاحية لمعالجة الفيديو.

#### transformers.AudioKwargs[[transformers.AudioKwargs]]

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

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

sampling_rate (`int`، *اختياري*) : معدل أخذ العينات الذي تم أخذ عينات مدخل `raw_speech` بناءً عليه.

raw_speech (`np.ndarray`، `list[float]`، `list[np.ndarray]`، `list[list[float]]`) : التسلسل أو الدفعة من التسلسلات التي سيتم ملؤها. يمكن أن يكون كل تسلسل مصفوفة numpy، أو قائمة من قيم float، أو قائمة من مصفوفات numpy، أو قائمة من قوائم قيم float. يجب أن يكون الصوت أحادي القناة وليس ستيريو، أي قيمة float واحدة لكل خطوة زمنية.

padding (`bool` أو `str` أو [PaddingStrategy](/docs/transformers/main/ar/internal/file_utils#transformers.utils.PaddingStrategy)، *اختياري*) : اختر استراتيجية لحشو التسلسلات المُعادَة (وفقًا لجانب الحشو وفهرس الحشو الخاص بالنموذج) من بين ما يلي: - `True` أو `'longest'`: حشو حتى أطول تسلسل في الدفعة (أو بدون حشو إذا تم تقديم تسلسل واحد فقط). - `'max_length'`: حشو حتى طول أقصى محدد بالحجة `max_length` أو حتى أقصى طول إدخال مقبول للنموذج إذا لم يتم تقديم تلك الحجة. - `False` أو `'do_not_pad'`

max_length (`int`، *اختياري*) : الحد الأقصى لطول القائمة المُعاد، وطول الحشو اختياريًا (انظر أعلاه).

truncation (`bool`، *اختياري*) : يُفعّل القصّ لقطع تسلسلات الإدخال الأطول من *max_length* إلى *max_length*.

pad_to_multiple_of (`int`، *اختياري*) : إذا تم ضبطه، فسيتم ملء التسلسل حتى يصبح مضاعفًا للقيمة المُقدَّمة.

return_attention_mask (`bool`، *اختياري*) : ما إذا كان ينبغي لـ [__call__()](/docs/transformers/main/ar/model_doc/audio-spectrogram-transformer#transformers.ASTFeatureExtractor.__call__) أن يعيد `attention_mask` أم لا.

device (`str` أو `torch.device`، *اختياري*) : الجهاز الذي تُحسب عليه ميزات الصوت (مثل "cpu" أو "cuda")، وهو ذو صلة فقط بمستخلصات الميزات التي تحسبها باستخدام torch.

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

load_audio_backend (`str`، *اختياري*) : الخلفية المستخدمة بواسطة `load_audio()` لفك ترميز/إعادة أخذ عينات الصوت المشار إليه عبر عنوان URL/مسار في `apply_chat_template`. أحد القيم التالية: `"auto"`، `"torchcodec"`، `"librosa"`، `"torchaudio"`.

معلمات الكلمات المفتاحية لمعالجة الصوت.

