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

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

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

FeatureExtractionMixin

فئة transformers.FeatureExtractionMixin

< >

( **kwargs )

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

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.

أنشئ كائنًا من نوع FeatureExtractionMixin من مستخرج الميزات، مثلًا فئة مشتقة من SequenceFeatureExtractor.

أمثلة:

# 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

< >

( 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 a feature_extractor object to the directory save_directory, so that it can be re-loaded using the from_pretrained() class method.

SequenceFeatureExtractor

فئة transformers.SequenceFeatureExtractor

< >

( feature_size: intsampling_rate: intpadding_value: float**kwargs )

المعاملات

  • feature_size (int) — أبعاد الميزة للميزات المستخرجة.
  • sampling_rate (int) — معدل أخذ العينات الذي يجب أن تُرقَم به ملفات الصوت، ويُعبَّر عنه بالهرتز (Hz).
  • padding_value (float) — القيمة المستخدمة لملء قيم الحشو / متجهات الحشو.

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

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 = Truemax_length: int | None = Nonetruncation: bool = Falsepad_to_multiple_of: int | None = Nonereturn_attention_mask: bool | None = Nonereturn_tensors: str | transformers.utils.generic.TensorType | None = None )

المعاملات

  • processed_features (BatchFeature, قائمة من BatchFeature, dict[str, list[float]], dict[str, list[list[float]] أو list[dict[str, list[float]]]) — المدخلات المعالجة. يمكن أن تمثل مدخلًا واحدًا (BatchFeature أو dict[str, list[float]]) ) أو دفعة من قيم / متجهات المدخلات (قائمة من BatchFeature, dict[str, list[list[float]]] أو list[dict[str, list[float]]]) حتى تتمكن من استخدام هذه الطريقة أثناء المعالجة المسبقة وكذلك في دالة collate الخاصة بـ PyTorch Dataloader.

    بدلاً من list[float]، يمكن أن تكون القيم تينسورات (مصفوفات numpy أو تينسورات PyTorch)، راجع الملاحظة أعلاه حول نوع الإرجاع.

  • padding (bool, str أو 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) المعني.

    ما هي أقنعة الانتباه؟

  • return_tensors (str أو TensorType, اختياري) — إذا تم تعيينه، فسيُعاد تينسورات بدلاً من قائمة من الأعداد الصحيحة في Python. القيم المقبولة هي:
    • 'pt': إرجاع كائنات torch.Tensor من PyTorch.
    • 'np': إرجاع كائنات np.ndarray من نوع Numpy.

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

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

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

BatchFeature

فئة transformers.BatchFeature

< >

( data: dict[str, typing.Any] | None = Nonetensor_type: None | str | transformers.utils.generic.TensorType = Noneskip_tensor_conversion: list[str] | set[str] | None = None )

المعاملات

  • 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() وطريقة __call__ الخاصة بمستخرج الميزات.

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

convert_to_tensors

< >

( tensor_type: str | transformers.utils.generic.TensorType | None = Noneskip_tensor_conversion: list[str] | set[str] | None = None )

المعاملات

  • tensor_type (str أو TensorType، اختياري) — نوع المصفوفات (tensors) المراد استخدامه. إذا كان str، فيجب أن يكون أحد قيم التعداد TensorType. إذا كان None، فلا يتم إجراء أي تعديل.
  • skip_tensor_conversion (list[str] أو set[str]، اختياري) — قائمة أو مجموعة من المفاتيح التي يجب ألا تُحوَّل إلى متجهات، حتى لو تم تحديد tensor_type.

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

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

إلى

< >

( *args**kwargs ) → BatchFeature

المعاملات

  • args (Tuple) — سيتم تمريرها إلى دالة to(...) الخاصة بالمصفوفات.
  • kwargs (Dict, اختياري) — سيتم تمريرها إلى دالة to(...) الخاصة بالمصفوفات. لتفعيل نقل البيانات غير المتزامن، اضبط علم non_blocking داخل kwargs (الافتراضي هو False).

يعيد

BatchFeature

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

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

ImageFeatureExtractionMixin

فئة transformers.ImageFeatureExtractionMixin

< >

( )

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

center_crop

< >

( imagesize ) → new_image

المعاملات

  • 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

< >

( image )

المعاملات

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

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

expand_dims

< >

( image )

المعاملات

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

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

flip_channel_order

< >

( image )

المعاملات

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

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

normalize

< >

( imagemeanstdrescale = False )

المعاملات

  • 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.

rescale

< >

( image: ndarrayscale: float | int )

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

resize

< >

( imagesizeresample = Nonedefault_to_square = Truemax_size = None ) → image

المعاملات

  • 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 مع دعم تغيير حجم الحافة الأصغر فقط وتوفير max_size اختياري.
  • max_size (int، اختياري، القيمة الافتراضية None) — الحد الأقصى المسموح به للضلع الأطول للصورة بعد تغيير حجمها: إذا كان الضلع الأطول للصورة أكبر من max_size بعد تغيير حجمها وفقاً لـsize، يتم تغيير حجم الصورة مرة أخرى بحيث يساوي الضلع الأطول max_size. ونتيجة لذلك، قد يتم تجاوز size، أي أن الضلع الأصغر قد يكون أقصر من size. يُستخدم فقط إذا كانت default_to_square هي False.

يعيد

صورة

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

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

rotate

< >

( imageangleresample = Noneexpand = 0center = Nonetranslate = Nonefillcolor = None ) → image

المعاملات

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

يعيد

صورة

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

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

to_numpy_array

< >

( imagerescale = Nonechannel_first = True )

المعاملات

  • image (PIL.Image.Image أو np.ndarray أو torch.Tensor) — الصورة التي سيتم تحويلها إلى مصفوفة NumPy.
  • rescale (bool, اختياري) — ما إذا كان سيتم تطبيق عامل التحجيم (لتحويل قيم البكسل إلى أرقام عشرية بين 0. و 1.) أم لا. سيكون الافتراضي True إذا كانت الصورة صورة PIL أو مصفوفة/متنصّل من الأعداد الصحيحة، وإلا فسيكون False.
  • channel_first (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب تبديل أبعاد الصورة لجعل بُعد القناة في المقدمة.

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

to_pil_image

< >

( imagerescale = None )

المعاملات

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

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

Update on GitHub