# مستخرج الميزات

يتولى مستخرج الميزات مسؤولية تجهيز ميزات الإدخال لنماذج الصوت. ويشمل ذلك استخراج الميزات من التسلسلات، على سبيل المثال معالجة ملفات الصوت مسبقاً لتوليد ميزات طيف اللوغ-ميل، والتحويل إلى متجهات NumPy وPyTorch.

## FeatureExtractionMixin[[transformers.FeatureExtractionMixin]]

#### transformers.FeatureExtractionMixin[[transformers.FeatureExtractionMixin]]

```python
transformers.FeatureExtractionMixin(**kwargs)
```

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

هذا امتزاج لاستخراج الميزات يُستخدم لتوفير وظيفة الحفظ/التحميل لمُستخرجات الميزات التسلسلية والصوتية.

#### from_pretrained[[transformers.FeatureExtractionMixin.from_pretrained]]

```python
from_pretrained(pretrained_model_name_or_path: str | os.PathLike, cache_dir: str | os.PathLike | None = None, force_download: bool = False, local_files_only: bool = False, token: str | bool | None = None, revision: str = 'main', **kwargs)
```

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

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

pretrained_model_name_or_path (`str` أو `os.PathLike`) : يمكن أن يكون هذا: - نصًا، وهو *معرف النموذج* لمُستخرج ميزات مُدرَّب مسبقًا مُستضاف داخل مستودع نموذج على huggingface.co. - مسارًا إلى *مجلد* يحتوي على ملف مستخرج ميزات تم حفظه باستخدام طريقة [save_pretrained()](/docs/transformers/main/ar/main_classes/feature_extractor#transformers.FeatureExtractionMixin.save_pretrained)، على سبيل المثال `./my_model_directory/`. - مسارًا إلى ملف JSON *لمستخرج ميزات* محفوظ، على سبيل المثال `./my_model_directory/preprocessor_config.json`.

cache_dir (`str` أو `os.PathLike`، *اختياري*) : المسار إلى مجلد يجب تخزين مستخرج الميزات للنموذج المُسبَق التحميل فيه مؤقتًا إذا لم يُستخدم المجلد المؤقت القياسي.

force_download (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان يجب إجبار إعادة تنزيل ملفات مستخرج الميزات (re-download) وتجاوز النسخ المخزنة مؤقتًا إذا كانت موجودة.

proxies (`dict[str, str]`، *اختياري*) : قاموس لخوادم الوكيل (proxy servers) للاستخدام حسب البروتوكول أو نقطة النهاية، على سبيل المثال `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}.` تُستخدم هذه الوكلاء في كل طلب.

token (`str` أو `bool`، *اختياري*) : الرمز الذي يُستخدم كرمز تفويض HTTP bearer للملفات البعيدة. إذا كان `True`، أو لم يُحدد، فسيتم استخدام الرمز الذي تم إنشاؤه عند تشغيل `hf auth login` (المخزَّن في `~/.huggingface`).

revision (`str`، *اختياري*، القيمة الافتراضية `"main"`) : إصدار النموذج المحدد الذي سيتم استخدامه. يمكن أن يكون اسم فرع، أو اسم وسم، أو معرّف التزامن، نظرًا لأننا نستخدم نظامًا قائمًا على git لتخزين النماذج والمخرجات الأخرى على huggingface.co، لذا يمكن أن يكون `revision` أي معرّف مسموح به بواسطة git.     لاختبار طلب دمج قمت بإنشائه على Hub، يمكنك تمرير `revision="refs/pr/<pr_number>"`.

return_unused_kwargs (`bool`، *اختياري*، القيمة الافتراضية `False`) : إذا كانت `False`، فإن هذه الدالة تُرجع كائن مستخرج الميزات النهائي فقط. أما إذا كانت `True`، فإن هذه الدالة تُرجع `Tuple(feature_extractor, unused_kwargs)` حيث *unused_kwargs* هو قاموس يتكوّن من أزواج المفاتيح والقيم التي لا تُعدّ من سمات مستخرج الميزات؛ أي الجزء من `kwargs` الذي لم يُستخدم لتحديث `feature_extractor` ويُتجاهل في الحالات الأخرى.

kwargs (`dict[str, Any]`، *اختياري*) : القيم الموجودة في kwargs لأي مفاتيح تكون من سمات مستخرج الميزات (feature extractor) ستُستخدم لتجاوز القيم المحمّلة. أما السلوك المتعلق بالأزواج المفتاح/قيمة التي مفاتيحها *ليست* من سمات مستخرج الميزات، فيتحكم به معامل الكلمة المفتاحية `return_unused_kwargs`.

**يعيد:**

مستخرج ميزات من النوع [FeatureExtractionMixin](/docs/transformers/main/ar/main_classes/feature_extractor#transformers.FeatureExtractionMixin).

أنشئ كائنًا من نوع [FeatureExtractionMixin](/docs/transformers/main/ar/main_classes/feature_extractor#transformers.FeatureExtractionMixin) من مستخرج الميزات، *مثلًا* فئة مشتقة من [SequenceFeatureExtractor](/docs/transformers/main/ar/main_classes/feature_extractor#transformers.SequenceFeatureExtractor).

أمثلة:

```python
# We can't instantiate directly the base class *FeatureExtractionMixin* nor *SequenceFeatureExtractor* so let's show the examples on a
# derived class: *Wav2Vec2FeatureExtractor*
feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained(
    "facebook/wav2vec2-base-960h"
)  # Download feature_extraction_config from huggingface.co and cache.
feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained(
    "./test/saved_model/"
)  # E.g. feature_extractor (or model) was saved using *save_pretrained('./test/saved_model/')*
feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained("./test/saved_model/preprocessor_config.json")
feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained(
    "facebook/wav2vec2-base-960h", return_attention_mask=False, foo=False
)
assert feature_extractor.return_attention_mask is False
feature_extractor, unused_kwargs = Wav2Vec2FeatureExtractor.from_pretrained(
    "facebook/wav2vec2-base-960h", return_attention_mask=False, foo=False, return_unused_kwargs=True
)
assert feature_extractor.return_attention_mask is False
assert unused_kwargs == {"foo": False}
```

#### save_pretrained[[transformers.FeatureExtractionMixin.save_pretrained]]

```python
save_pretrained(save_directory: str | os.PathLike, push_to_hub: bool = False, **kwargs)
```

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

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

save_directory (`str` أو `os.PathLike`) : المجلد الذي سيُحفظ فيه ملف مستخرج الميزات بصيغة JSON (سيتم إنشاؤه إذا لم يكن موجودًا).

push_to_hub (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم دفع نموذجك إلى مستودع نماذج Hugging Face بعد حفظه. يمكنك تحديد المستودع الذي تريد الدفع إليه باستخدام `repo_id` (سيكون الافتراضي هو اسم `save_directory` ضمن نطاقك).

kwargs (`dict[str, Any]`، *اختياري*) : حُجج إضافية تُمرَّر إلى طريقة [push_to_hub()](/docs/transformers/main/ar/main_classes/model#transformers.utils.PushToHubMixin.push_to_hub).

Save a feature_extractor object to the directory `save_directory`, so that it can be re-loaded using the [from_pretrained()](/docs/transformers/main/ar/main_classes/feature_extractor#transformers.FeatureExtractionMixin.from_pretrained) class method.

## SequenceFeatureExtractor[[transformers.SequenceFeatureExtractor]]

#### transformers.SequenceFeatureExtractor[[transformers.SequenceFeatureExtractor]]

```python
transformers.SequenceFeatureExtractor(feature_size: int, sampling_rate: int, padding_value: float, **kwargs)
```

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

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

feature_size (`int`) : بُعد الميزة للميزات المستخرجة.

sampling_rate (`int`) : معدل أخذ العينات الذي يجب أن تُرقَم به ملفات الصوت، ويُعبَّر عنه بالهرتز (Hz).

padding_value (`float`) : القيمة المستخدمة لملء قيم الحشو / المتجهات.

هذه فئة عامة لاستخراج الميزات للتعرف على الكلام.

#### pad[[transformers.SequenceFeatureExtractor.pad]]

```python
pad(processed_features: transformers.feature_extraction_utils.BatchFeature | list[transformers.feature_extraction_utils.BatchFeature] | dict[str, transformers.feature_extraction_utils.BatchFeature] | dict[str, list[transformers.feature_extraction_utils.BatchFeature]] | list[dict[str, transformers.feature_extraction_utils.BatchFeature]], padding: bool | str | transformers.utils.generic.PaddingStrategy = True, max_length: int | None = None, truncation: bool = False, pad_to_multiple_of: int | None = None, return_attention_mask: bool | None = None, return_tensors: str | transformers.utils.generic.TensorType | None = None)
```

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

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

processed_features ([BatchFeature](/docs/transformers/main/ar/main_classes/feature_extractor#transformers.BatchFeature)، قائمة من [BatchFeature](/docs/transformers/main/ar/main_classes/feature_extractor#transformers.BatchFeature)، `dict[str, list[float]]`، `dict[str, list[list[float]]` أو `list[dict[str, list[float]]]`) : المدخلات المعالجة. يمكن أن تمثل مدخلًا واحدًا ([BatchFeature](/docs/transformers/main/ar/main_classes/feature_extractor#transformers.BatchFeature) أو `dict[str, list[float]]`) أو دفعة من قيم المدخلات / المتجهات (قائمة من [BatchFeature](/docs/transformers/main/ar/main_classes/feature_extractor#transformers.BatchFeature)، *dict[str, list[list[float]]]* أو *list[dict[str, list[float]]]*) بحيث يمكنك استخدام هذه الطريقة أثناء المعالجة المسبقة وكذلك في دالة collate الخاصة بـ PyTorch Dataloader. بدلاً من `list[float]`، يمكن أن تكون هناك تينسورات (مصفوفات numpy أو تينسورات PyTorch)، راجع الملاحظة أعلاه حول نوع الإرجاع.

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

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

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

pad_to_multiple_of (`int`، *اختياري*) : إذا تم ضبطه، سيتم توسيط التسلسل إلى مضاعف للقيمة المُقدَّمة. وهذا مفيد بشكل خاص لتفعيل استخدام نوى التينسور (Tensor Cores) على أجهزة NVIDIA التي تتمتع بقابلية معالجة `>= 7.5` (Volta)، أو على وحدات TPU التي تستفيد من أن تكون أطوال التسلسل مضاعفات للعدد 128.

return_attention_mask (`bool`، *اختياري*) : ما إذا كان يجب إرجاع قناع الانتباه. إذا تُركت القيمة الافتراضية، فسيتم إرجاع قناع الانتباه وفقاً للقيمة الافتراضية الخاصة بـ feature_extractor المعني. [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

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

ملء قيم الإدخال / متجهات الإدخال أو دفعة من قيم الإدخال / متجهات الإدخال حتى طول محدد مسبقاً أو حتى أقصى طول تسلسل في الدفعة.

تُعرَّف قيم الحشو (يسار/يمين) على مستوى مستخرج الميزات (باستخدام `self.padding_side`، `self.padding_value`)

إذا كانت `processed_features` المُمرَّرة عبارة عن قاموس من مصفوفات numpy أو تينسورات PyTorch، فسيستخدم الناتج نفس النوع ما لم تُقدِّم نوع تينسور مختلف عبر `return_tensors`. في حالة تينسورات PyTorch، ستفقد الجهاز المحدد الخاص بتنسوراتك.

## BatchFeature[[transformers.BatchFeature]]

#### transformers.BatchFeature[[transformers.BatchFeature]]

```python
transformers.BatchFeature(data: dict[str, typing.Any] | None = None, tensor_type: None | str | transformers.utils.generic.TensorType = None, skip_tensor_conversion: list[str] | set[str] | None = None)
```

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

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

data (`dict`، *اختياري*) : قاموس من القوائم/المصفوفات/الموترات التي تُعاد بواسطة طريقتي __call__/pad ('input_values'، 'attention_mask'، وما إلى ذلك).

tensor_type (`Union[None, str, TensorType]`، *اختياري*) : يمكنك تحديد tensor_type هنا لتحويل قوائم الأعداد الصحيحة إلى تينسورات PyTorch/Numpy عند التهيئة.

skip_tensor_conversion (`list[str]` أو `set[str]`، *اختياري*) : قائمة أو مجموعة من المفاتيح التي يجب ألا تُحوَّل إلى متجهات، حتى لو تم تحديد `tensor_type`.

يحتوي على مخرجات طريقة [pad()](/docs/transformers/main/ar/main_classes/feature_extractor#transformers.SequenceFeatureExtractor.pad) وطريقة `__call__` الخاصة بمستخرج الميزات.

تُشتق هذه الفئة من قاموس بايثون ويمكن استخدامها كقاموس.

#### convert_to_tensors[[transformers.BatchFeature.convert_to_tensors]]

```python
convert_to_tensors(tensor_type: str | transformers.utils.generic.TensorType | None = None, skip_tensor_conversion: list[str] | set[str] | None = None)
```

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

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

tensor_type (`str` أو [TensorType](/docs/transformers/main/ar/internal/file_utils#transformers.TensorType)، *اختياري*) : نوع المصفوفات (tensors) المراد استخدامه. إذا كان `str`، فيجب أن يكون أحد قيم التعداد [TensorType](/docs/transformers/main/ar/internal/file_utils#transformers.TensorType). إذا كان `None`، فلا يتم إجراء أي تعديل.

skip_tensor_conversion (`list[str]` أو `set[str]`، *اختياري*) : قائمة أو مجموعة من المفاتيح التي يجب ألا تُحوَّل إلى متجهات، حتى عند تحديد `tensor_type`.

قم بتحويل المحتوى الداخلي إلى متجهات.

ملاحظة: تُتجاهل تلقائيًا القيم التي لا تملك بنية تشبه المصفوفة (مثل السلاسل النصية، والقواميس، وقوائم السلاسل النصية) ولن يتم تحويلها إلى متجهات. أما المصفوفات غير المنتظمة (قوائم من المصفوفات بطول مختلف) فيُحاول تحويلها، لكنها قد تثير أخطاء أثناء عملية التحويل.

#### إلى[[transformers.BatchFeature.to]]

```python
to(*args, **kwargs)
```

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

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

args (`Tuple`) : سيتم تمريرها إلى دالة `to(...)` الخاصة بالمُتجهات.

kwargs (`Dict`، *اختياري*) : سيتم تمريره إلى دالة `to(...)` الخاصة بالمُتجهات. لتفعيل نقل البيانات غير المتزامن، اضبط علم `non_blocking` داخل `kwargs` (الافتراضي هو `False`).

**يعيد:** [BatchFeature](/docs/transformers/main/ar/main_classes/feature_extractor#transformers.BatchFeature)

نفس الكائن بعد التعديل.

أرسل جميع القيم إلى الجهاز عن طريق استدعاء `v.to(*args, **kwargs)` (PyTorch فقط). يجب أن يدعم هذا التحويل إلى أنواع بيانات `dtypes` مختلفة وإرسال `BatchFeature` إلى جهاز `device` مختلف.

## ImageFeatureExtractionMixin[[transformers.ImageFeatureExtractionMixin]]

#### transformers.ImageFeatureExtractionMixin[[transformers.ImageFeatureExtractionMixin]]

```python
transformers.ImageFeatureExtractionMixin()
```

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

خلطة تحتوي على أدوات لتحضير ميزات الصور.

#### center_crop[[transformers.ImageFeatureExtractionMixin.center_crop]]

```python
center_crop(image, size)
```

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

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

image (`PIL.Image.Image` أو `np.ndarray` أو `torch.Tensor` من الشكل (n_channels, height, width) أو (height, width, n_channels)) : الصورة التي سيتم تغيير حجمها.

size (`int` أو `tuple[int, int]`) : الحجم الذي يجب قصّ الصورة إليه.

**يعيد:** `new_image`

صورة مقصوصة من المنتصف من نوع `PIL.Image.Image` أو `np.ndarray` أو `torch.Tensor` بأبعاد: (n_channels, height, width).

يقوم `image` بقص الصورة إلى الحجم المحدد باستخدام قص مركزي. لاحظ أنه إذا كانت الصورة صغيرة جداً بحيث لا يمكن قصها إلى الحجم المطلوب، فسيتم ملؤها (لذا فإن النتيجة المُعادّة ستكون بالحجم المطلوب).

#### convert_rgb[[transformers.ImageFeatureExtractionMixin.convert_rgb]]

```python
convert_rgb(image)
```

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

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

image (`PIL.Image.Image`) : الصورة المراد تحويلها.

يحوّل `PIL.Image.Image` إلى تنسيق RGB.

#### expand_dims[[transformers.ImageFeatureExtractionMixin.expand_dims]]

```python
expand_dims(image)
```

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

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

image (`PIL.Image.Image` أو `np.ndarray` أو `torch.Tensor`) : الصورة المراد توسيعها.

يوسّع `image` ثنائي الأبعاد إلى ثلاثة أبعاد.

#### flip_channel_order[[transformers.ImageFeatureExtractionMixin.flip_channel_order]]

```python
flip_channel_order(image)
```

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

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

image (`PIL.Image.Image` أو `np.ndarray` أو `torch.Tensor`) : الصورة التي سيتم عكس قنوات ألوانها. إذا كان `np.ndarray` أو `torch.Tensor`، فيجب أن تكون بُعد القناة هو الأول.

يعكس ترتيب قنوات `image` من RGB إلى BGR، أو العكس. لاحظ أن هذا سيؤدي إلى تحويل `image` إلى مصفوفة NumPy إذا كانت صورة PIL.

#### تطبيع[[transformers.ImageFeatureExtractionMixin.normalize]]

```python
normalize(image, mean, std, rescale = False)
```

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

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

image (`PIL.Image.Image` أو `np.ndarray` أو `torch.Tensor`) : الصورة المراد تطبيعها.

mean (`list[float]` أو `np.ndarray` أو `torch.Tensor`) : المتوسط (لكل قناة) المستخدم في عملية التطبيع.

std (`list[float]` أو `np.ndarray` أو `torch.Tensor`) : الانحراف المعياري (لكل قناة) المستخدم في عملية التطبيع.

rescale (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم إعادة تحجيم الصورة لتكون بين 0 و1. إذا تم توفير صورة بصيغة PIL، فسيتم التحجيم تلقائيًا.

يقوم بتطبيع `image` باستخدام `mean` و`std`. لاحظ أن هذا سيؤدي إلى تحويل `image` إلى مصفوفة NumPy إذا كانت صورة PIL.

#### إعادة التحجيم[[transformers.ImageFeatureExtractionMixin.rescale]]

```python
rescale(image: ndarray, scale: float | int)
```

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

إعادة قياس صورة numpy بمقدار التحديد

#### تغيير الحجم[[transformers.ImageFeatureExtractionMixin.resize]]

```python
resize(image, size, resample = None, default_to_square = True, max_size = None)
```

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

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

image (`PIL.Image.Image` أو `np.ndarray` أو `torch.Tensor`) : الصورة التي سيتم تغيير حجمها.

size (`int` أو `tuple[int, int]`) : الحجم المستخدم لتغيير حجم الصورة. إذا كان `size` تسلسلاً مثل (h, w)، فسيتم مطابقة حجم الإخراج مع هذا التسلسل. إذا كان `size` عددًا صحيحًا وكان `default_to_square` هو `True`، فسيتم تغيير حجم الصورة إلى (size, size). إذا كان `size` عددًا صحيحًا وكان `default_to_square` هو `False`، فسيتم مطابقة الحافة الأصغر للصورة مع هذا الرقم. أي، إذا كان الارتفاع > العرض، فسيتم إعادة تحجيم الصورة إلى (size * height / width, size).

resample (`int`، *اختياري*، القيمة الافتراضية `PILImageResampling.BILINEAR`) : المرشّح المستخدم لإعادة أخذ العينات.

default_to_square (`bool`، *اختياري*، القيمة الافتراضية `True`) : كيفية تحويل `size` عندما يكون عددًا صحيحًا واحدًا. إذا تم ضبطه على `True`، فسيتم تحويل `size` إلى مربع (`size`،`size`). إذا تم ضبطه على `False`، فسيحاكي [`torchvision.transforms.Resize`](https://pytorch.org/vision/stable/transforms.html#torchvision.transforms.Resize) مع دعم تغيير حجم الحافة الأصغر فقط وتوفير `max_size` اختياري.

max_size (`int`، *اختياري*، القيمة الافتراضية `None`) : الحد الأقصى المسموح به للضلع الأطول للصورة بعد تغيير حجمها: إذا كان الضلع الأطول للصورة أكبر من `max_size` بعد تغيير حجمها وفقاً لـ `size`، يتم تغيير حجم الصورة مرة أخرى بحيث يساوي الضلع الأطول `max_size`. ونتيجة لذلك، قد يتم تجاوز `size`، أي أن الضلع الأصغر قد يكون أقصر من `size`. يُستخدم فقط إذا كان `default_to_square` هو `False`.

**يعيد:** `image`

صورة `PIL.Image.Image` مُعاد تحديدها.

يُعيد تحديد حجم `image`. يفرض تحويل المدخل إلى PIL.Image.

#### تدوير[[transformers.ImageFeatureExtractionMixin.rotate]]

```python
rotate(image, angle, resample = None, expand = 0, center = None, translate = None, fillcolor = None)
```

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

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

image (`PIL.Image.Image` أو `np.ndarray` أو `torch.Tensor`) : الصورة المراد تدويرها. إذا كانت `np.ndarray` أو `torch.Tensor`، فسيتم تحويلها إلى `PIL.Image.Image` قبل التدوير.

**يعيد:** `image`

صورة `PIL.Image.Image` مُدوَّرة.

يعيد نسخة مُدوَّرة من `image`. تُعيد هذه الطريقة نسخة من `image`، مُدوَّرةً بعدد الدرجات المحدد باتجاه عكس عقارب الساعة حول مركزها.

#### to_numpy_array[[transformers.ImageFeatureExtractionMixin.to_numpy_array]]

```python
to_numpy_array(image, rescale = None, channel_first = True)
```

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

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

image (`PIL.Image.Image` أو `np.ndarray` أو `torch.Tensor`) : الصورة التي سيتم تحويلها إلى مصفوفة NumPy.

rescale (`bool`، *اختياري*) : ما إذا كان سيتم تطبيق عامل التوسيع (لتحويل قيم البكسل إلى أرقام عشرية بين 0. و 1.) أم لا. سيكون الافتراضي `True` إذا كانت الصورة من نوع PIL Image أو مصفوفة/متجه من الأعداد الصحيحة، وإلا فسيكون `False`.

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

يحوّل `image` إلى مصفوفة numpy. ويمكنه اختيارياً إعادة تحجيمها ووضع بُعد القناة كبُعدٍ أول.

#### to_pil_image[[transformers.ImageFeatureExtractionMixin.to_pil_image]]

```python
to_pil_image(image, rescale = None)
```

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

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

image (`PIL.Image.Image` أو `numpy.ndarray` أو `torch.Tensor`) : الصورة التي سيتم تحويلها إلى صيغة صورة PIL.

rescale (`bool`, *اختياري*) : ما إذا كان سيتم تطبيق عامل التوسيع (لتحويل قيم البكسل إلى أعداد صحيحة بين 0 و255). سيكون الافتراضي `True` إذا كان نوع الصورة من النوع العائم، وإلا فسيكون `False`.

يحوّل `image` إلى صورة PIL. ويمكنه إعادة تحجيم الصورة اختيارياً، وإعادة بُعد القناة ليكون المحور الأخير عند الحاجة.

