Transformers documentation

أدوات لمعالجات الصور

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

أدوات لمعالجات الصور

تُدرج هذه الصفحة جميع دوال الأداة التي تستخدمها معالجات الصور، وتحديداً التحويلات الوظيفية المستخدمة لمعالجة الصور.

لا تُفيد معظم تلك المعلومات إلا إذا كنت تدرس كود معالجات الصور في المكتبة.

تحويلات الصور

transformers.image_transforms.center_crop

< >

( image: ndarraysize: tupledata_format: str | transformers.image_utils.ChannelDimension | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None ) → np.ndarray

المعاملات

  • image (np.ndarray) — الصورة التي سيتم اقتطاعها.
  • size (tuple[int, int]) — الحجم المستهدف للصورة المقصوصة.
  • data_format (str أو ChannelDimension, اختياري) — تنسيق بُعد القناة للصورة الناتجة. يمكن أن يكون أحد ما يلي:
    • "channels_first" أو ChannelDimension.FIRST: صورة بتنسيق (num_channels, height, width).
    • "channels_last" أو ChannelDimension.LAST: صورة بصيغة (الارتفاع، العرض، عدد القنوات). إذا لم يتم ضبطه، فسيتم استخدام الصيغة المستنتجة للصورة المدخلة.
  • input_data_format (str أو ChannelDimension, اختياري) — تنسيق بُعد القناة للصورة المُدخلة. يمكن أن يكون أحد ما يلي:
    • "channels_first" أو ChannelDimension.FIRST: صورة بتنسيق (num_channels, height, width).
    • "channels_last" أو ChannelDimension.LAST: صورة بصيغة (الارتفاع، العرض، عدد القنوات). إذا لم يتم ضبطه، فسيتم استخدام الصيغة المستنتجة للصورة المدخلة.

يعيد

np.ndarray

الصورة المقصوصة.

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

transformers.image_transforms.center_to_corners_format

< >

( bboxes_center: TensorType )

يحوّل صناديق الحدود من تنسيق المركز إلى تنسيق الزوايا.

center format: يحتوي على إحداثيات مركز الصندوق وأبعاده من حيث العرض والارتفاع (center_x, center_y, width, height) corners format: يحتوي على إحداثيات الزاوية العلوية اليسرى والزاوية السفلية اليمنى للصندوق (top_left_x, top_left_y, bottom_right_x, bottom_right_y)

transformers.image_transforms.corners_to_center_format

< >

( bboxes_corners: TensorType )

يحوّل صناديق الحدود من تنسيق الزوايا إلى تنسيق المركز.

صيغة الزوايا: تحتوي على إحداثيات الزاوية العلوية اليسرى والزاوية السفلية اليمنى للمربع <top_left_x, top_left_y, bottom_right_x, bottom_right_y> صيغة المركز: تحتوي على إحداثيات مركز المربع وأبعاده من حيث العرض والارتفاع <center_x, center_y, width, height>

transformers.image_transforms.id_to_rgb

< >

( id_map )

يحوّل المعرّف الفريد إلى لون RGB.

transformers.image_transforms.normalize

< >

( image: ndarraymean: float | collections.abc.Collection[float]std: float | collections.abc.Collection[float]data_format: transformers.image_utils.ChannelDimension | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None )

المعاملات

  • image (np.ndarray) — الصورة التي سيتم تطبيعها.
  • mean (float أو Collection[float]) — المتوسط المستخدم للتطبيع.
  • std (float أو Collection[float]) — انحراف المعيار المستخدم للتطبيع.
  • data_format (ChannelDimension، اختياري) — تنسيق بُعد القناة للصورة الناتجة. إذا لم يتم تعيينه، فسيتم استخدام التنسيق المستنتج من المدخلات.
  • input_data_format (ChannelDimension، اختياري) — تنسيق بُعد القناة للصورة المدخلة. إذا لم يتم تعيينه، فسيتم استخدام التنسيق المستنتج من المدخلات.

يقوم بتطبيع image باستخدام المتوسط والانحراف المعياري المحددين بواسطة mean وstd.

image = (image - mean) / std

transformers.image_transforms.pad

< >

( image: ndarraypadding: int | tuple[int, int] | collections.abc.Iterable[tuple[int, int]]mode: PaddingMode = <PaddingMode.CONSTANT: 'constant'>constant_values: float | collections.abc.Iterable[float] = 0.0data_format: str | transformers.image_utils.ChannelDimension | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None ) → np.ndarray

المعاملات

  • image (np.ndarray) — الصورة التي سيتم توسيطها.
  • padding (int أو tuple[int, int] أو Iterable[tuple[int, int]]) — الحشو الذي يُطبَّق على حواف محوري الارتفاع والعرض. يمكن أن يكون بأحد التنسيقات الثلاثة التالية:
    • ((before_height, after_height), (before_width, after_width)) عرض الحشو الفريد لكل محور.
    • ((before, after),) يُنتج نفس قيمة الحشو قبل وبعد لكل من الارتفاع والعرض.
    • (pad,) أو int هو اختصار لـ before = after = pad width لجميع المحاور.
  • mode (PaddingMode) — وضع الحشو المستخدم. يمكن أن يكون أحد الخيارات التالية:
    • "constant": يُضيف حشوة بقيمة ثابتة.
    • "reflect": يُضيف حشوة باستخدام انعكاس المتجه المُمرَّر على القيمتين الأولى والأخيرة من المتجه على طول كل محور.
    • "replicate": يملأ الفراغات بتكرار القيمة الأخيرة على حافة المصفوفة على طول كل محور.
    • "symmetric": يُضيف حشوة باستخدام انعكاس المتجه المُمرَّر على طول حافة المصفوفة.
  • constant_values (float أو Iterable[float]، اختياري) — القيمة المستخدمة للتعبئة إذا كان mode هو "constant".
  • data_format (str أو ChannelDimension, اختياري) — تنسيق بُعد القناة للصورة الناتجة. يمكن أن يكون أحد ما يلي:
    • "channels_first" أو ChannelDimension.FIRST: صورة بتنسيق (num_channels, height, width).
    • "channels_last" أو ChannelDimension.LAST: صورة بصيغة (الارتفاع، العرض، عدد القنوات). إذا لم يتم ضبطه، فسيتم استخدام نفس صيغة الصورة المدخلة.
  • input_data_format (str أو ChannelDimension, اختياري) — تنسيق بُعد القناة للصورة المُدخلة. يمكن أن يكون أحد ما يلي:
    • "channels_first" أو ChannelDimension.FIRST: صورة بتنسيق (num_channels, height, width).
    • "channels_last" أو ChannelDimension.LAST: صورة بصيغة (الارتفاع، العرض، عدد القنوات). إذا لم يتم ضبطه، فسيتم استخدام الصيغة المستنتجة للصورة المدخلة.

يعيد

np.ndarray

الصورة المُحشوة.

يضيف حشوة إلى image بالحشوة المحددة (الارتفاع، العرض) padding والوضع mode.

transformers.image_transforms.rgb_to_id

< >

( color )

يحوّل لون RGB إلى معرّف فريد.

transformers.image_transforms.rescale

< >

( image: ndarrayscale: floatdata_format: transformers.image_utils.ChannelDimension | None = Nonedtype: dtype = <class 'numpy.float32'>input_data_format: str | transformers.image_utils.ChannelDimension | None = None ) → np.ndarray

المعاملات

  • image (np.ndarray) — الصورة التي سيتم إعادة تحجيمها.
  • scale (float) — المقياس المستخدم لإعادة تحجيم الصورة.
  • data_format (ChannelDimension، اختياري) — تنسيق بُعد القناة للصورة. إذا لم يُقدَّم، فسيكون مطابقًا للصورة المدخلة.
  • dtype (np.dtype، اختياري، الافتراضي np.float32) — نوع البيانات (dtype) لصورة الإخراج. الافتراضي هو np.float32. يُستخدم من أجل التوافق الرجعي مع مستخرِجات الميزات.
  • input_data_format (ChannelDimension، اختياري) — تنسيق بُعد القناة للصورة المدخلة. إذا لم يُقدَّم، فسيتم استنتاجه من الصورة المدخلة.

يعيد

np.ndarray

الصورة المُعاد تحجيمها.

يعيد تحجيم image بمقدار scale.

transformers.image_transforms.resize

< >

( image: ndarraysize: tupleresample: typing.Optional[ForwardRef('PILImageResampling')] = Nonereducing_gap: int | None = Nonedata_format: transformers.image_utils.ChannelDimension | None = Nonereturn_numpy: bool = Trueinput_data_format: str | transformers.image_utils.ChannelDimension | None = None ) → np.ndarray

المعاملات

  • image (np.ndarray) — الصورة التي سيتم تغيير حجمها.
  • size (tuple[int, int]) — الحجم المستخدم لتغيير حجم الصورة.
  • resample (int، اختياري، الافتراضي PILImageResampling.BILINEAR) — المرشّح المستخدم لإعادة أخذ العينات.
  • reducing_gap (int, اختياري) — تطبيق التحسين عن طريق تغيير حجم الصورة في خطوتين. كلما كان reducing_gap أكبر، كان الناتج أقرب إلى إعادة أخذ العينات العادلة. راجع وثائق Pillow المقابلة لمزيد من التفاصيل.
  • data_format (ChannelDimension، اختياري) — تنسيق بُعد القناة للصورة الناتجة. إذا لم يتم تعيينه، فسيتم استخدام التنسيق المستنتج من المدخلات.
  • return_numpy (bool، اختياري، القيمة الافتراضية True) — ما إذا كان سيتم إرجاع الصورة المُعاد تحديدها لحجمها كمصفوفة numpy أم لا. إذا كانت القيمة False، يتم إرجاع كائن PIL.Image.Image.
  • input_data_format (ChannelDimension، اختياري) — تنسيق بُعد القناة للصورة المدخلة. إذا لم يتم تعيينه، فسيتم استخدام التنسيق المستنتج من المدخلات.

يعيد

np.ndarray

الصورة المُعاد تغيير حجمها.

يُعيد تحديد حجم image إلى (height, width) المحدد بواسطة size باستخدام مكتبة PIL.

transformers.image_transforms.to_pil_image

< >

( image: typing.Union[numpy.ndarray, ForwardRef('PIL.Image.Image'), ForwardRef('torch.Tensor')]do_rescale: bool | None = Noneimage_mode: str | None = Noneinput_data_format: str | transformers.image_utils.ChannelDimension | None = None ) → PIL.Image.Image

المعاملات

  • image (PIL.Image.Image أو numpy.ndarray أو torch.Tensor) — الصورة التي سيتم تحويلها إلى صيغة PIL.Image.
  • do_rescale (bool، اختياري) — ما إذا كان سيتم تطبيق عامل التحجيم (لتحويل قيم البكسل إلى أعداد صحيحة بين 0 و255). سيكون الافتراضي True إذا كان نوع الصورة من النوع العائم وكان التحويل إلى int سيؤدي إلى فقدان الدقة، وFalse في الحالات الأخرى.
  • image_mode (str، اختياري) — الوضع المستخدم لصورة PIL. إذا لم يُضبط، فسيتم استخدام الوضع الافتراضي لنوع الصورة المُدخلة.
  • input_data_format (ChannelDimension، اختياري) — تنسيق بُعد القناة للصورة المدخلة. إذا لم يتم تعيينه، فسيتم استخدام التنسيق المستنتج من المدخلات.

يعيد

PIL.Image.Image

الصورة المحوّلة.

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

ImageProcessingMixin

فئة transformers.ImageProcessingMixin

< >

( **kwargs )

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

fetch_images

< >

( image_url_or_urls: str | list[str] | list[list[str]] )

تحويل عنوان URL واحد أو قائمة عناوين إلى كائنات PIL.Image المقابلة.

إذا تم تمرير عنوان URL واحد، فسيكون القيمة المُعادَة كائنًا واحدًا. أما إذا تم تمرير قائمة، فسيتم إرجاع قائمة من الكائنات.

from_dict

< >

( image_processor_dict: dict**kwargs ) → ImageProcessingMixin

المعاملات

  • image_processor_dict (dict[str, Any]) — قاموس سيُستخدم لإنشاء كائن معالج الصور. يمكن استرجاع مثل هذا القاموس من نقطة تحقق مُدرَّبة مسبقًا بالاستفادة من طريقة to_dict().
  • kwargs (dict[str, Any]) — معلمات إضافية يتم من خلالها تهيئة كائن معالج الصور.

كائن معالج الصور المُستخدَم من تلك المعاملات.

يُحدّد نوعًا من ImageProcessingMixin من قاموس Python للمعاملات.

from_json_file

< >

( json_file: str | os.PathLike ) → A image processor of type ImageProcessingMixin

المعاملات

  • json_file (str أو os.PathLike) — المسار إلى ملف JSON الذي يحتوي على المعلمات.

يعيد

معالج صور من النوع ImageProcessingMixin

كائن image_processor المُستخدَم من ذلك الملف بصيغة JSON.

يُحدّد معالج صور من النوع ImageProcessingMixin من المسار إلى ملف JSON يحتوي على المعلمات.

from_pretrained

< >

( pretrained_model_name_or_path: str | os.PathLikecache_dir: str | os.PathLike | None = Noneforce_download: bool = Falselocal_files_only: bool = Falsetoken: str | bool | None = Nonerevision: str = 'main'**kwargs )

المعاملات

  • pretrained_model_name_or_path (str أو os.PathLike) — يمكن أن يكون هذا:
    • سلسلة نصية، وهي معرف النموذج لمعالج صور مُدرَّب مسبقًا مستضاف داخل مستودع نموذج على huggingface.co.
    • مسار إلى مجلد يحتوي على معالج صور محفوظ باستخدام طريقة save_pretrained()، على سبيل المثال ./my_model_directory/.
    • مسار إلى ملف JSON لمعالج صور محفوظ، على سبيل المثال ./my_model_directory/preprocessor_config.json.
  • cache_dir (str أو os.PathLike، اختياري) — المسار إلى مجلد يجب تخزين مُعالج الصور المُسبق التدريب في الموديل المُحمّل فيه إذا لم يُستخدم المجلد المؤقت القياسي.
  • force_download (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب إجبار (إعادة) تنزيل ملفات معالج الصور وتجاوز الإصدارات المخزنة مؤقتًا إذا كانت موجودة.
  • proxies (dict[str, str], اختياري) — قاموس لخوادم الوكيل (proxy) للاستخدام حسب البروتوكول أو نقطة النهاية، على سبيل المثال {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. تُستخدم هذه الوكلاء في كل طلب.
  • token (str أو bool، اختياري) — الرمز الذي يُستخدم كتفويض حامل HTTP للملفات البعيدة. إذا كان True، أو لم يُحدد، فسيتم استخدام الرمز الذي تم إنشاؤه عند تشغيل hf auth login (المخزَّن في ~/.huggingface).
  • revision (str، اختياري، القيمة الافتراضية "main") — الإصدار المحدد من النموذج الذي سيتم استخدامه. يمكن أن يكون اسم فرع، أو اسم وسم، أو معرف commit، نظرًا لاستخدامنا نظامًا قائمًا على git لتخزين النماذج والمخرجات الأخرى على huggingface.co، لذا يمكن أن يكون revision أي معرّف يسمح به git.

أنشئ نوعًا من ImageProcessingMixin من معالج الصور.

أمثلة:

# We can't instantiate directly the base class *ImageProcessingMixin* so let's show the examples on a
# derived class: *CLIPImageProcessor*
image_processor = CLIPImageProcessor.from_pretrained(
    "openai/clip-vit-base-patch32"
)  # Download image_processing_config from huggingface.co and cache.
image_processor = CLIPImageProcessor.from_pretrained(
    "./test/saved_model/"
)  # E.g. image processor (or model) was saved using *save_pretrained('./test/saved_model/')*
image_processor = CLIPImageProcessor.from_pretrained("./test/saved_model/preprocessor_config.json")
image_processor = CLIPImageProcessor.from_pretrained(
    "openai/clip-vit-base-patch32", do_normalize=False, foo=False
)
assert image_processor.do_normalize is False
image_processor, unused_kwargs = CLIPImageProcessor.from_pretrained(
    "openai/clip-vit-base-patch32", do_normalize=False, foo=False, return_unused_kwargs=True
)
assert image_processor.do_normalize is False
assert unused_kwargs == {"foo": False}

get_image_processor_dict

< >

( pretrained_model_name_or_path: str | os.PathLike**kwargs ) → tuple[Dict, Dict]

المعاملات

  • pretrained_model_name_or_path (str أو os.PathLike) — المعرّف لنقطة التفتيش المُدرَّبة مسبقًا التي نرغب في الحصول على قاموس المعلمات منها.
  • subfolder (str، اختياري، الافتراضي "") — في حال كانت الملفات ذات الصلة موجودة داخل مجلد فرعي من مستودع النموذج على huggingface.co، يمكنك تحديد اسم المجلد هنا.
  • image_processor_filename (str، اختياري، الافتراضي "config.json") — اسم الملف في مجلد النموذج الذي يُستخدم لإعدادات معالج الصور.

يعيد

tuple[Dict, Dict]

المعجم(ات) الذي سيتم استخدامه لإنشاء كائن معالج الصور.

من pretrained_model_name_or_path، يتم التحويل إلى قاموس من المعلمات، ليُستخدم في إنشاء معالج صور من النوع ~image_processor_utils.ImageProcessingMixin باستخدام from_dict.

push_to_hub

< >

( repo_id: strcommit_message: str | None = Nonecommit_description: str | None = Noneprivate: bool | None = Nonetoken: bool | str | None = Nonerevision: str | None = Nonecreate_pr: bool = Falsemax_shard_size: int | str | None = '50GB'tags: list[str] | None = None )

المعاملات

  • repo_id (str) — اسم المستودع الذي تريد دفع مُعالج الصور إليه. يجب أن يحتوي على اسم مؤسستك عند الدفع إلى مؤسسة معينة.
  • commit_message (str, اختياري) — الرسالة التي سيتم الالتزام بها أثناء الدفع. ستكون الافتراضية "Upload image processor".
  • commit_description (str, اختياري) — وصف الالتزام الذي سيتم إنشاؤه
  • private (bool، اختياري) — ما إذا كان سيتم جعل المستودع خاصًا. إذا كان None (الافتراضي)، فسيكون المستودع عامًا ما لم يكن الافتراضي للمنظمة هو الخاص. يتم تجاهل هذه القيمة إذا كان المستودع موجودًا بالفعل.
  • token (bool أو str، اختياري) — الرمز الذي يُستخدم كتفويض حامل HTTP للملفات البعيدة. إذا كان True (الافتراضي)، فسيتم استخدام الرمز الذي تم إنشاؤه عند تشغيل hf auth login (المخزَّن في ~/.huggingface).
  • revision (str، اختياري) — الفرع الذي سيتم دفع الملفات المرفوعة إليه.
  • create_pr (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم إنشاء طلب سحب (PR) بالملفات المرفوعة أم الالتزام مباشرة.
  • max_shard_size (int أو str، اختياري، القيمة الافتراضية "50GB") — ينطبق على النماذج فقط. الحد الأقصى لحجم نقطة التفتيش قبل تقسيمها إلى أجزاء. ستكون نقاط التفتيش المقسمة كل منها بحجم أقل من هذا الحجم. إذا تم التعبير عنه كنص، فيجب أن يتكون من أرقام تليها وحدة (مثل "5MB").
  • tags (list[str]، اختياري) — قائمة بالوسوم التي سيتم دفعها إلى Hub.

ارفع ملف معالج الصور إلى 🤗 Model Hub.

أمثلة:

from transformers import AutoImageProcessor

image processor = AutoImageProcessor.from_pretrained("google-bert/bert-base-cased")

# Push the image processor to your namespace with the name "my-finetuned-bert".
image processor.push_to_hub("my-finetuned-bert")

# Push the image processor to an organization with the name "my-finetuned-bert".
image processor.push_to_hub("huggingface/my-finetuned-bert")

register_for_auto_class

< >

( auto_class = 'AutoImageProcessor' )

المعاملات

  • auto_class (str أو type، اختياري، القيمة الافتراضية "AutoImageProcessor ") — فئة auto التي سيتم تسجيل هذا المعالج الجديد للصور بها.

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

save_pretrained

< >

( save_directory: str | os.PathLikepush_to_hub: bool = False**kwargs )

المعاملات

  • save_directory (str أو os.PathLike) — المجلد الذي سيتم حفظ ملف JSON لمعالج الصور فيه (سيتم إنشاؤه إذا لم يكن موجودًا).
  • push_to_hub (bool، اختياري، الافتراضي False) — ما إذا كان سيتم دفع نموذجك إلى مركز نماذج Hugging Face بعد حفظه. يمكنك تحديد المستودع الذي تريد الدفع إليه باستخدام repo_id (سيكون الافتراضي هو اسم save_directory في نطاقك).
  • kwargs (dict[str, Any]، اختياري) — حجج إضافية بأسماء تُمرَّر إلى طريقة push_to_hub().

احفظ كائن معالج الصور في المجلد save_directory حتى يمكن إعادة تحميله باستخدام طريقة الفئة from_pretrained().

to_dict

< >

( ) → dict[str, Any]

يعيد

dict[str, Any]

قاموس بجميع السمات التي تُشكّل هذا المثال من معالج الصور.

يسلسل هذه النسخة إلى قاموس بايثون.

to_json_file

< >

( json_file_path: str | os.PathLike )

المعاملات

  • json_file_path (str أو os.PathLike) — المسار إلى ملف JSON الذي سيتم حفظ معاملات هذه النسخة من image_processor فيه.

احفظ هذه النسخة في ملف JSON.

to_json_string

< >

( ) → str

يعيد

str

سلسلة تحتوي على جميع السمات التي تُشكّل هذا المثال من feature_extractor بتنسيق JSON.

يسلسل هذه النسخة إلى نص JSON.

Update on GitHub