Transformers documentation

SpeechT5

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

نُشر هذا النموذج في أوراق HF في 14 أكتوبر 2021، وأُضيف إلى مكتبة Hugging Face Transformers في 3 فبراير 2023.

SpeechT5

نظرة عامة

قُدِّم نموذج SpeechT5 في SpeechT5: Unified-Modal Encoder-Decoder Pre-Training for Spoken Language Processing من قِبل Junyi Ao وRui Wang وLong Zhou وChengyi Wang وShuo Ren وYu Wu وShujie Liu وTom Ko وQing Li وYu Zhang وZhihua Wei وYao Qian وJinyu Li وFuru Wei.

المستخلص من الورقة البحثية هو كالتالي:

بإلهام من نجاح T5 (Text-To-Text Transfer Transformer) في نماذج معالجة اللغة الطبيعية المُسبقة التدريب، نقترح إطار SpeechT5 الموحّد للأوضاع، الذي يستكشف التدريب المسبق لشبكة المُشفِّر-المُفكِّك لتعلّم التمثيل الذاتي الإشراف للكلام/النص. يتكون إطار SpeechT5 من شبكة مُشفِّر-مُفكِّك مشتركة وست شبكات ما قبل/ما بعد محددة لكل وضع (كلام/نص). بعد المعالجة المسبقة للكلام/النص المُدخل عبر شبكات ما قبل، تُنمذج شبكة المُشفِّر-المُفكِّك المشتركة التحويل من تسلسل إلى تسلسل، ثم تولّد شبكات ما بعد المخرج في وضع الكلام/النص بناءً على مخرج المُفكِّك. بالاستفادة من بيانات كلام ونص غير مُوسومة على نطاق واسع، نُدرّب SpeechT5 مسبقاً لتعلّم تمثيل موحّد للأوضاع، آملاً في تحسين قدرة النمذجة لكل من الكلام والنص. لمواءمة المعلومات النصية والمعلومات الصوتية في هذا الفضاء الدلالي الموحّد، نقترح نهج تكميم متجه عبر الأوضاع يخلط عشوائياً بين حالات الكلام/النص والوحدات الكامنة بوصفها الواجهة بين المُشفِّر والمُفكِّك. تُظهر التقييمات الواسعة تفوق إطار SpeechT5 المقترح على مجموعة واسعة من مهام معالجة اللغة المنطوقة، بما في ذلك التعرف التلقائي على الكلام، وتوليد الكلام، والترجمة الصوتية، وتحويل الصوت، وتحسين الكلام، وتحديد المتكلم.

تمت مساهمة هذا النموذج من قِبل Matthijs. يمكن العثور على الكود الأصلي هنا.

اضبط use_kernels=True في from_pretrained() لاستبدال الطبقات المدعومة بنوى مُحسَّنة من Hub. راجع تحميل النوى لمعرفة المزيد.

SpeechT5Config

فئة transformers.SpeechT5Config

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0id2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneis_encoder_decoder: bool = Truevocab_size: int = 81hidden_size: int = 768encoder_layers: int = 12encoder_attention_heads: int = 12encoder_ffn_dim: int = 3072encoder_layerdrop: float | int = 0.1decoder_layers: int = 6decoder_ffn_dim: int = 3072decoder_attention_heads: int = 12decoder_layerdrop: float | int = 0.1hidden_act: str = 'gelu'positional_dropout: float | int = 0.1hidden_dropout: float | int = 0.1attention_dropout: float | int = 0.1activation_dropout: float | int = 0.1initializer_range: float = 0.02layer_norm_eps: float = 1e-05scale_embedding: bool = Falsefeat_extract_norm: str = 'group'feat_proj_dropout: float | int = 0.0feat_extract_activation: str = 'gelu'conv_dim: list[int] | tuple[int, ...] = (512, 512, 512, 512, 512, 512, 512)conv_stride: list[int] | tuple[int, ...] = (5, 2, 2, 2, 2, 2, 2)conv_kernel: list[int] | tuple[int, ...] = (10, 3, 3, 3, 3, 2, 2)conv_bias: bool = Falsenum_conv_pos_embeddings: int = 128num_conv_pos_embedding_groups: int = 16apply_spec_augment: bool = Truemask_time_prob: float | int = 0.05mask_time_length: int = 10mask_time_min_masks: int = 2mask_feature_prob: float | int = 0.0mask_feature_length: int = 10mask_feature_min_masks: int = 0pad_token_id: int | None = 1bos_token_id: int | None = 0eos_token_id: int | list[int] | None = 2decoder_start_token_id: int | None = 2num_mel_bins: int = 80speech_decoder_prenet_layers: int = 2speech_decoder_prenet_units: int = 256speech_decoder_prenet_dropout: float | int = 0.5speaker_embedding_dim: int = 512speech_decoder_postnet_layers: int = 5speech_decoder_postnet_units: int = 256speech_decoder_postnet_kernel: int = 5speech_decoder_postnet_dropout: float | int = 0.5reduction_factor: int = 2max_speech_positions: int = 4000max_text_positions: int = 450encoder_max_relative_position: int = 160use_guided_attention_loss: bool = Trueguided_attention_loss_num_heads: int = 2guided_attention_loss_sigma: float = 0.4guided_attention_loss_scale: float = 10.0use_cache: bool = Truetie_word_embeddings: bool = True )

المعاملات

  • is_encoder_decoder (bool، اختياري، القيمة الافتراضية True) — ما إذا كان النموذج يُستخدم كمُشفِّر/مُفكِّك أم لا.
  • vocab_size (int، اختياري، القيمة الافتراضية 81) — حجم مفردات النموذج. يحدد عدد الرموز المختلفة التي يمكن تمثيلها بواسطة input_ids.
  • hidden_size (int، اختياري، القيمة الافتراضية 768) — أبعاد التمثيلات المخفية.
  • encoder_layers (int, اختياري، القيمة الافتراضية 12) — عدد الطبقات المخفية في مُشفِّر Transformer. سيستخدم نفس قيمة num_layers إذا لم يتم ضبطه.
  • encoder_attention_heads (int, اختياري، القيمة الافتراضية 12) — عدد رؤوس الانتباه لكل طبقة انتباه في مُشفِّر Transformer.
  • encoder_ffn_dim (int، اختياري، القيمة الافتراضية 3072) — أبعاد طبقة "الوسط" (التي تُسمّى غالباً بطبقة التغذية الأمامية) في المُشفِّر.
  • encoder_layerdrop (Union[float, int]، اختياري، القيمة الافتراضية 0.1) — احتمال LayerDrop للمُشفِّر. راجع [ورقة LayerDrop](انظر https://huggingface.co/papers/1909.11556) لمزيد من التفاصيل.
  • decoder_layers (int, اختياري، القيمة الافتراضية 6) — عدد الطبقات المخفية في مُفكِّك Transformer. سيُستخدم نفس قيمة num_layers إذا لم يتم تعيينه.
  • decoder_ffn_dim (int, اختياري، القيمة الافتراضية 3072) — أبعاد طبقة "الوسط" (التي تُسمّى غالباً بالطبقة الأمامية) في المُفكِّك.
  • decoder_attention_heads (int، اختياري، القيمة الافتراضية 12) — عدد رؤوس الانتباه لكل طبقة انتباه في مُفكِّك Transformer.
  • decoder_layerdrop (Union[float, int]، اختياري، القيمة الافتراضية 0.1) — احتمال LayerDrop الخاص بفك الترميز. راجع [ورقة LayerDrop](انظر https://huggingface.co/papers/1909.11556) لمزيد من التفاصيل.
  • hidden_act (str، اختياري، القيمة الافتراضية gelu) — دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، "gelu"، "relu"، "silu"، وما إلى ذلك.
  • positional_dropout (float، اختياري، القيمة الافتراضية 0.1) — احتمال الإسقاط (dropout) لطبقات ترميز موضع النص.
  • hidden_dropout (Union[float, int]، اختياري، القيمة الافتراضية 0.1) — احتمالية dropout لجميع الطبقات المتصلة بالكامل في التضمينات والمُشفِّر (encoder) والمُجمِّع (pooler).
  • attention_dropout (Union[float, int]، اختياري، القيمة الافتراضية 0.1) — نسبة الإسقاط (dropout) لاحتمالات الانتباه.
  • activation_dropout (Union[float, int]، اختياري، القيمة الافتراضية 0.1) — نسبة dropout للتفعيلات داخل الطبقة المتصلة بالكامل.
  • initializer_range (float، اختياري، القيمة الافتراضية 0.02) — الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.
  • layer_norm_eps (float, اختياري، القيمة الافتراضية 1e-05) — قيمة الإيبسلون المستخدمة في طبقات تطبيع الطبقة.
  • scale_embedding (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم توسيع التضمينات (embeddings) من خلال القسمة على sqrt(d_model).
  • feat_extract_norm (str، اختياري، القيمة الافتراضية "group") — التطبيع الذي يُطبَّق على طبقات الالتفاف أحادية البُعد في الشبكة المسبقة لمُشفِّر الكلام. إما "group" لتطبيع المجموعات على الطبقة الأولى أحادية البُعد فقط، أو "layer" لتطبيع الطبقات على جميع طبقات الالتفاف أحادية البُعد.
  • feat_proj_dropout (float, اختياري، القيمة الافتراضية 0.0) — احتمال الإسقاط (dropout) لمخرج الشبكة المسبقة (pre-net) في مشفّر الكلام.
  • feat_extract_activation (str, optional, defaults to “gelu”) -- The non-linear activation function (function or string) in the 1D convolutional layers of the feature extractor. If string, “gelu”, “relu”, “selu”and“gelu_new”` are supported.
  • conv_dim (tuple[int] أو list[int]، اختياري، القيمة الافتراضية (512, 512, 512, 512, 512, 512, 512)) — مجموعة من الأعداد الصحيحة تُعرّف عدد قنوات الإدخال والإخراج لكل طبقة تلافيفية أحادية البُعد في الشبكة المسبقة لمُشفِّر الكلام. يحدد طول conv_dim عدد طبقات التلافيف أحادية البُعد.
  • conv_stride (tuple[int] أو list[int]، اختياري، القيمة الافتراضية (5, 2, 2, 2, 2, 2, 2)) — مجموعة من الأعداد الصحيحة تُعرّف خطوة كل طبقة تلافيفية أحادية البعد في الشبكة المسبقة لمُشفِّر الكلام. يحدد طول conv_stride عدد الطبقات التلافيفية، ويجب أن يطابق طول conv_dim.
  • conv_kernel (tuple[int] أو list[int]، اختياري، القيمة الافتراضية (10, 3, 3, 3, 3, 3, 3)) — مجموعة من الأعداد الصحيحة تحدد حجم النواة لكل طبقة تلافيفية أحادية البُعد في الشبكة المسبقة لمُشفِّر الكلام. يحدد طول conv_kernel عدد الطبقات التلافيفية، ويجب أن يطابق طول conv_dim.
  • conv_bias (bool، اختياري، القيمة الافتراضية False) — ما إذا كانت طبقات الالتفاف أحادية البعد تحتوي على انحياز.
  • num_conv_pos_embeddings (int، اختياري، القيمة الافتراضية 128) — عدد التضمينات الموضعية التلافيفية. يحدد حجم النواة لطبقة التضمينات الموضعية التلافيفية أحادية البعد.
  • num_conv_pos_embedding_groups (int، اختياري، القيمة الافتراضية 16) — عدد مجموعات طبقة التضمينات الموضعية التحويلية أحادية البُعد.
  • apply_spec_augment (bool، اختياري، القيمة الافتراضية True) — ما إذا كان سيتم تطبيق توسيع البيانات SpecAugment على مخرجات الشبكة المسبقة لمشفّر الكلام. للاطلاع على المرجع، راجع SpecAugment: A Simple Data Augmentation Method for Automatic Speech Recognition.
  • mask_time_prob (float, optional, defaults to 0.05) — Percentage (between 0 and 1) of all feature vectors along the time axis which will be masked. The masking procedure generates ”mask_time_problen(time_axis)/mask_time_length” independent masks over the axis. If reasoning from the probability of each feature vector to be chosen as the start of the vector span to be masked, mask_time_prob should be `prob_vector_startmask_time_length. Note that overlap may decrease the actual percentage of masked vectors. This is only relevant if apply_spec_augment is True`.
  • mask_time_length (int، اختياري، القيمة الافتراضية 10) — طول امتداد المتجه على محور الزمن.
  • mask_time_min_masks (int, اختياري، القيمة الافتراضية 2)، — الحد الأدنى لعدد الأقنعة بطول mask_feature_length التي يتم توليدها على محور الزمن، في كل خطوة زمنية، بغض النظر عن mask_feature_prob. لا يكون ذا صلة إلا إذا كان ”mask_time_prob*len(time_axis)/mask_time_length < mask_time_min_masks”
  • mask_feature_prob (float, optional, defaults to 0.0) — Percentage (between 0 and 1) of all feature vectors along the feature axis which will be masked. The masking procedure generates ”mask_feature_problen(feature_axis)/mask_time_length” independent masks over the axis. If reasoning from the probability of each feature vector to be chosen as the start of the vector span to be masked, mask_feature_prob should be `prob_vector_startmask_feature_length. Note that overlap may decrease the actual percentage of masked vectors. This is only relevant if apply_spec_augment is True`.
  • mask_feature_prob (Union[float, int]، اختياري، القيمة الافتراضية 0.0) — النسبة المئوية (بين 0 و 1) لجميع متجهات الميزات على محور الميزات التي سيتم إخفاؤها. يولّد إجراء الإخفاء mask_feature_prob*len(feature_axis)/mask_time_length أقنعة مستقلة على المحور. إذا كنت تستنتج من احتمال اختيار كل متجه ميزات كنقطة بداية للمدى الذي سيُخفى، فيجب أن تكون قيمة mask_feature_prob هي prob_vector_start*mask_feature_length. لاحظ أن التداخل قد يقلل من النسبة الفعلية للمتجهات المخفية. لا ينطبق هذا إلا إذا كانت قيمة apply_spec_augment هي True.
  • mask_feature_length (int، اختياري، القيمة الافتراضية 10) — طول النطاق المتجهي على محور الميزة.
  • mask_feature_min_masks (int, اختياري، القيمة الافتراضية 0)، — الحد الأدنى لعدد الأقنعة بطول mask_feature_length التي يتم توليدها على طول محور الميزة، في كل خطوة زمنية، بغض النظر عن mask_feature_prob. لا ينطبق إلا إذا كان ”mask_feature_prob*len(feature_axis)/mask_feature_length < mask_feature_min_masks”
  • num_mel_bins (int, اختياري، القيمة الافتراضية 80) — عدد ميزات mel المستخدمة لكل ميزات الإدخال. يُستخدم في الشبكة المسبقة لفكّ ترميز الكلام. يجب أن يتوافق مع القيمة المستخدمة في فئة SpeechT5Processor.
  • pad_token_id (int، اختياري، القيمة الافتراضية 1) — معرّف الرمز المستخدم للتعبئة في المفردات.
  • bos_token_id (int, اختياري، القيمة الافتراضية 0) — معرّف الرمز المستخدم لبدء البث في المفردات.
  • eos_token_id (Union[int, list[int]]، اختياري، القيمة الافتراضية 2) — معرّف الرمز المستخدم لنهاية التدفق في المفردات.
  • decoder_start_token_id (int, اختياري، القيمة الافتراضية 2) — إذا بدأ نموذج المُشفِّر-المُفكِّك عملية فك التشفير برمز مختلف عن bos، فإن هذا هو المعرّف الخاص بذلك الرمز.
  • num_mel_bins (int، اختياري، القيمة الافتراضية 80) — عدد ميزات mel المستخدمة لكل إطار إدخال. يجب أن يتوافق مع القيمة المستخدمة في فئة AutoFeatureExtractor.
  • speech_decoder_prenet_layers (int، اختياري، القيمة الافتراضية 2) — عدد الطبقات في الشبكة المسبقة (pre-net) لفك ترميز الكلام.
  • speech_decoder_prenet_units (int، اختياري، القيمة الافتراضية 256) — أبعاد الطبقات في الشبكة المسبقة لفك ترميز الكلام.
  • speech_decoder_prenet_dropout (float, اختياري، القيمة الافتراضية 0.5) — احتمالية dropout لطبقات الشبكة المسبقة (pre-net) في مُفكِّك الكلام.
  • speaker_embedding_dim (int، اختياري، القيمة الافتراضية 512) — أبعاد متجهات التضمين XVector.
  • speech_decoder_postnet_layers (int, اختياري، القيمة الافتراضية 5) — عدد الطبقات في الشبكة الخلفية لمفكك الترميز الصوتي.
  • speech_decoder_postnet_units (int، اختياري، القيمة الافتراضية 256) — أبعاد الطبقات في الشبكة الخلفية لمفكك الترميز الصوتي.
  • speech_decoder_postnet_kernel (int، اختياري، القيمة الافتراضية 5) — عدد قنوات المرشحات التلافيفية في الشبكة الخلفية لمفكك الترميز الصوتي.
  • speech_decoder_postnet_dropout (float, اختياري، القيمة الافتراضية 0.5) — احتمالية الإسقاط (dropout) لطبقات الشبكة الخلفية (post-net) في مُفكِّك الصوت.
  • reduction_factor (int, اختياري، القيمة الافتراضية 2) — معامل تقليل طول الطيف الصوتي لإدخالات فك ترميز الكلام.
  • max_speech_positions (int، اختياري، القيمة الافتراضية 4000) — أقصى طول تسلسل لميزات الكلام التي قد يُستخدم هذا النموذج معها.
  • max_text_positions (int، اختياري، القيمة الافتراضية 450) — أقصى طول تسلسل لميزات النص الذي قد يُستخدم مع هذا النموذج.
  • encoder_max_relative_position (int، اختياري، القيمة الافتراضية 160) — أقصى مسافة لتضمين الموضع النسبي في المُشفِّر.
  • use_guided_attention_loss (bool، اختياري، القيمة الافتراضية True) — ما إذا كان سيتم تطبيق خسارة الانتباه الموجّه أثناء تدريب نموذج TTS.
  • guided_attention_loss_num_heads (int, اختياري، القيمة الافتراضية 2) — عدد رؤوس الانتباه التي سيُطبَّق عليها خسارة الانتباه الموجَّه. استخدم -1 لتطبيق هذه الخسارة على جميع رؤوس الانتباه.
  • guided_attention_loss_sigma (float, اختياري، القيمة الافتراضية 0.4) — الانحراف المعياري لخسارة الانتباه الموجَّه.
  • guided_attention_loss_scale (float، اختياري، القيمة الافتراضية 10.0) — معامل التوسيع لخسارة الانتباه الموجَّه (المعروف أيضاً بـ lambda).
  • use_cache (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب على النموذج إرجاع قيم المفاتيح/القيم الأخيرة للانتباه (لا تستخدمها جميع النماذج). لا ينطبق إلا إذا كان config.is_decoder=True أو إذا كان النموذج نموذجًا توليديًا يعتمد على المُفكِّك فقط.
  • tie_word_embeddings (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب ربط ترميزات الأوزان (weight embeddings) وفقاً لخريطة tied_weights_keys الخاصة بالنموذج.

هذه فئة الإعدادات المخزنة لإعدادات نموذج SpeechT5Model. تُستخدم لتوليد نموذج Speecht5 وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن إنشاء إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ microsoft/speecht5_asr

ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.

مثال:

>>> from transformers import SpeechT5Model, SpeechT5Config

>>> # Initializing a "microsoft/speecht5_asr" style configuration
>>> configuration = SpeechT5Config()

>>> # Initializing a model (with random weights) from the "microsoft/speecht5_asr" style configuration
>>> model = SpeechT5Model(configuration)

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

SpeechT5HifiGanConfig

فئة transformers.SpeechT5HifiGanConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonemodel_in_dim: int = 80sampling_rate: int = 16000upsample_initial_channel: int = 512upsample_rates: list[int] | tuple[int, ...] = (4, 4, 4, 4)upsample_kernel_sizes: list[int] | tuple[int, ...] = (8, 8, 8, 8)resblock_kernel_sizes: list[int] | tuple[int, ...] = (3, 7, 11)resblock_dilation_sizes: list | tuple = ((1, 3, 5), (1, 3, 5), (1, 3, 5))initializer_range: float = 0.01leaky_relu_slope: float = 0.1normalize_before: bool = True )

المعاملات

  • model_in_dim (int، اختياري، القيمة الافتراضية 80) — عدد أشرطة التردد في مطياف اللوغ-ميل المدخلات.
  • sampling_rate (int، اختياري، القيمة الافتراضية 16000) — معدل أخذ العينات الذي يجب أن تُرقَم به ملفات الصوت، ويُعبَّر عنه بالهرتز (Hz).
  • upsample_initial_channel (int، اختياري، القيمة الافتراضية 512) — عدد قنوات الإدخال إلى شبكة التوسيع.
  • upsample_rates (tuple[int] أو list[int]، اختياري، القيمة الافتراضية [4, 4, 4, 4]) — مجموعة من الأعداد الصحيحة تُعرّف الخطوة (stride) لكل طبقة تلافيفية أحادية البعد في شبكة رفع العينة. يحدد طول upsample_rates عدد الطبقات التلافيفية، ويجب أن يطابق طول upsample_kernel_sizes.
  • upsample_kernel_sizes (tuple[int] أو list[int]، اختياري، القيمة الافتراضية [8, 8, 8, 8]) — مجموعة من الأعداد الصحيحة تُعرّف حجم النواة لكل طبقة تلافيفية أحادية البعد في شبكة إعادة التوسيع. يحدد طول upsample_kernel_sizes عدد الطبقات التلافيفية، ويجب أن يطابق طول upsample_rates.
  • resblock_kernel_sizes (tuple[int] أو list[int]، اختياري، القيمة الافتراضية [3, 7, 11]) — مجموعة من الأعداد الصحيحة تحدد أحجام النوى للطبقات التلافيفية أحادية البعد في وحدة الدمج متعددة مجالات الاستقبال (MRF).
  • resblock_dilation_sizes (tuple[tuple[int]] أو list[list[int]]، اختياري، القيمة الافتراضية هي [[1, 3, 5], [1, 3, 5], [1, 3, 5]]) — مجموعة من الأعداد الصحيحة المتداخلة تُعرّف معدلات التمدد (dilation rates) لطبقات الالتفاف أحادية البُعد المتمددة (dilated 1D convolutional layers) داخل وحدة دمج الحقول متعددة الاستقبال (MRF).
  • initializer_range (float، اختياري، القيمة الافتراضية 0.01) — انحراف معياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.
  • leaky_relu_slope (float, اختياري، القيمة الافتراضية 0.1) — زاوية الميل السالب المستخدمة في دالة التنشيط Leaky ReLU.
  • normalize_before (bool، اختياري، القيمة الافتراضية True) — ما إذا كان سيتم تطبيع الطيف الصوتي قبل الترميز الصوتي باستخدام المتوسط والتباين المتعلمين من مُرمِّز الصوت.

هذه فئة الإعدادات المخزنة لإعدادات نموذج SpeechT5Model. تُستخدم لتوليد نموذج Speecht5 وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن إنشاء إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ microsoft/speecht5_asr

ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.

مثال:

>>> from transformers import SpeechT5HifiGan, SpeechT5HifiGanConfig

>>> # Initializing a "microsoft/speecht5_hifigan" style configuration
>>> configuration = SpeechT5HifiGanConfig()

>>> # Initializing a model (with random weights) from the "microsoft/speecht5_hifigan" style configuration
>>> model = SpeechT5HifiGan(configuration)

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

SpeechT5Tokenizer

فئة transformers.SpeechT5Tokenizer

< >

( vocab_filebos_token = '<s>'eos_token = '</s>'unk_token = '<unk>'pad_token = '<pad>'normalize = Falsesp_model_kwargs: dict[str, typing.Any] | None = None**kwargs )

المعاملات

  • vocab_file (str) — ملف SentencePiece (يحمل عادةً الامتداد .spm) يحتوي على المفردات اللازمة لإنشاء مُجزِّئ.
  • bos_token (str، اختياري، القيمة الافتراضية "<s>") — رمز بداية التسلسل.
  • eos_token (str، اختياري، القيمة الافتراضية "</s>") — رمز نهاية التسلسل.
  • unk_token (str، اختياري، القيمة الافتراضية "<unk>") — رمز المجهول. لا يمكن تحويل الرمز غير الموجود في المفردات إلى معرّف، لذا يُعيَّن هذا الرمز بدلاً منه.
  • pad_token (str، اختياري، القيمة الافتراضية "<pad>") — الرمز المستخدم للتعبئة، على سبيل المثال عند تجميع تسلسلات ذات أطوال مختلفة.
  • normalize (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب تحويل الكميات الرقمية في النص إلى نظيرتها الإنجليزية المكتوبة بالحروف.
  • sp_model_kwargs (dict, اختياري) — سيتم تمريره إلى SentencePieceProcessor.__init__() طريقة. يمكن استخدام الغلاف البرمجي بلغة بايثون لـ SentencePiece لأغراض أخرى، بما في ذلك ضبط:
    • enable_sampling: تفعيل تنعيم الوحدات الفرعية.

    • nbest_size: معلمات العينة أحادية الكلمة. غير صالحة لـ BPE-Dropout.

      • nbest_size = {0,1}: لا يتم إجراء أي أخذ عينات.
      • nbest_size > 1: يُجري أخذ عينات من نتائج nbest_size.
      • nbest_size < 0: يُفترض أن nbest_size لا نهائية، ويتم أخذ العينات من جميع الفرضيات (الشبكة) باستخدام خوارزمية التصفية الأمامية والعينة الخلفية.
    • alpha: معامل التنعيم لعينة الأحادية، واحتمال إسقاط عمليات الدمج في BPE-dropout.

  • sp_model (SentencePieceProcessor) — معالج SentencePiece المستخدم لكل عملية تحويل (النص، الرموز والمعرّفات).

أنشئ مُرمِّز SpeechT5. مبني على SentencePiece.

يرث هذا المُجزِّئ من PreTrainedTokenizer الذي يحتوي على معظم الطرق الرئيسية. ينبغي للمستخدمين الرجوع إلى هذه الفئة الأصلية لمزيد من المعلومات حول تلك الطرق.

__call__

< >

( text: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = Nonetext_pair: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = Nonetext_target: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = Nonetext_pair_target: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = Noneadd_special_tokens: bool = Truepadding: bool | str | PaddingStrategy = Falsetruncation: bool | str | TruncationStrategy | None = Nonemax_length: int | None = Nonestride: int = 0is_split_into_words: bool = Falsepad_to_multiple_of: int | None = Nonepadding_side: str | None = Nonereturn_tensors: str | TensorType | None = Nonereturn_token_type_ids: bool | None = Nonereturn_attention_mask: bool | None = Nonereturn_overflowing_tokens: bool = Falsereturn_special_tokens_mask: bool = Falsereturn_offsets_mapping: bool = Falsereturn_length: bool = Falseverbose: bool = Truetokenizer_kwargs: dict[str, Any] | None = None**kwargs ) → BatchEncoding

المعاملات

  • text (str، list[str]، list[list[str]]، اختياري) — التسلسل أو الدفعة من التسلسلات المراد ترميزها. يمكن أن يكون كل تسلسل نصًا أو قائمة من النصوص (نصوص مُقسّمة مسبقًا إلى رموز). إذا تم تقديم التسلسلات على شكل قائمة من النصوص (مقسّمة مسبقًا)، فيجب تعيين is_split_into_words=True (لرفع الغموض مع دفعة من التسلسلات).
  • text_pair (str، list[str]، list[list[str]]، اختياري) — التسلسل أو الدفعة من التسلسلات المراد ترميزها. يمكن أن يكون كل تسلسل نصًا أو قائمة من النصوص (نصوص مُقسّمة مسبقًا إلى رموز). إذا تم تقديم التسلسلات على شكل قائمة من النصوص (مقسّمة مسبقًا)، فيجب تعيين is_split_into_words=True (لرفع الغموض مع دفعة من التسلسلات).
  • text_target (str، list[str]، list[list[str]]، اختياري) — التسلسل أو الدفعة من التسلسلات التي سيتم ترميزها كنصوص هدف. يمكن أن يكون كل تسلسل نصًا أو قائمة من النصوص (نص مُقسَّم مسبقًا إلى وحدات). إذا تم تقديم التسلسلات على شكل قائمة من النصوص (مُقسَّمة مسبقًا)، فيجب عليك تعيين is_split_into_words=True (لرفع الغموض مع دفعة من التسلسلات).
  • text_pair_target (str، list[str]، list[list[str]]، اختياري) — التسلسل أو الدفعة من التسلسلات التي سيتم ترميزها كنصوص هدف. يمكن أن يكون كل تسلسل نصًا أو قائمة من النصوص (نص مُقسَّم مسبقًا إلى وحدات). إذا تم تقديم التسلسلات على شكل قائمة من النصوص (مُقسَّمة مسبقًا)، فيجب عليك تعيين is_split_into_words=True (لرفع الغموض مع دفعة من التسلسلات).
  • tokenizer_kwargs (dict[str, Any], اختياري) — معاملات إضافية (kwargs) تُمرَّر إلى مُجزِّئ النص (tokenizer). سيتم دمج هذه المعاملات مع المعاملات الصريحة ومعاملات أخرى، مع إعطاء الأولوية للمعاملات الصريحة.
  • add_special_tokens (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إضافة الرموز الخاصة عند ترميز التسلسلات أم لا. سيستخدم هذا الدالة الأساسية PretrainedTokenizerBase.build_inputs_with_special_tokens، التي تحدد الرموز التي تُضاف تلقائيًا إلى معرّفات الإدخال. يكون هذا مفيدًا إذا كنت ترغب في إضافة رموز bos أو eos تلقائيًا.
  • padding (bool, str أو PaddingStrategy, اختياري, الافتراضي هو False) — يُفعّل التحكم في الحشو. يقبل القيم التالية:
    • True أو 'longest': يتم ملء التسلسلات حتى أطول تسلسل في الدفعة (أو لا يتم أي ملء إذا تم تقديم تسلسل واحد فقط).
    • 'max_length': يتم ملء النص حتى الطول الأقصى المحدد عبر الحجة max_length أو حتى الطول الأقصى المقبول لإدخال النموذج إذا لم تُقدَّم تلك الحجة.
    • False أو 'do_not_pad' (الافتراضي): لا يوجد حشو (أي، يمكن إخراج دفعة تحتوي على تسلسلات بطول مختلف).
  • truncation (bool, str أو TruncationStrategy, اختياري, الافتراضي هو False) — تفعيل التحكم في القص. يقبل القيم التالية:
    • True أو 'longest_first': يُقصّ النص إلى الحد الأقصى للطول المحدد عبر الحجة max_length أو إلى الحد الأقصى المقبول لطول الإدخال للنموذج إذا لم تُقدَّم تلك الحجة. يتم هذا القص رمزًا تلو الآخر، حيث يُزال رمز من أطول تسلسل في الزوج إذا كان قد قُدِّم زوج من التسلسلات (أو دفعة من الأزواج).
    • 'only_first': يُقصّ النص إلى الحد الأقصى للطول المحدد عبر الحجة max_length أو إلى الحد الأقصى المقبول لطول الإدخال للنموذج إذا لم تُقدَّم تلك الحجة. لن يُقصّ هذا الخيار سوى التسلسل الأول من الزوج إذا قُدِّم زوج من التسلسلات (أو دفعة من الأزواج).
    • 'only_second': يُقصّ النص إلى الحد الأقصى للطول المحدد عبر الحجة max_length أو إلى الحد الأقصى المقبول لطول الإدخال للنموذج إذا لم تُقدَّم تلك الحجة. لن يتم قصّ النص الثاني من الزوج إلا إذا قُدِّم زوج من النصوص (أو دفعة من الأزواج).
    • False أو 'do_not_truncate' (الافتراضي): لا يوجد اقتطاع (أي، يمكن إخراج دفعة بأطوال تسلسلات أكبر من الحد الأقصى المقبول لحجم الإدخال في النموذج).
  • max_length (int, اختياري) — يتحكم في الحد الأقصى للطول الذي ستستخدمه إحدى معاملات القص/الحشو.

    إذا تُرك غير مُعيَّن أو عُدِّل إلى None، فسيتم استخدام الطول الأقصى المُعرَّف مسبقًا للنموذج إذا كان أحد معاملات القص/الحشو يتطلب طولًا أقصى. وإذا لم يكن للنموذج طول إدخال أقصى محدد (مثل XLNet)، فسيتم تعطيل القص/الحشو إلى طول أقصى.

  • stride (int، اختياري، القيمة الافتراضية 0) — إذا تم تعيينه إلى رقم مع max_length، فستحتوي الرموز الزائدة المُعاد عند return_overflowing_tokens=True على بعض الرموز من نهاية التسلسل المُقتطع المُعاد، لتوفير بعض التداخل بين التسلسلات المُقتطعة والتسلسلات الزائدة. تحدد قيمة هذا الحجة عدد الرموز المتداخلة.
  • is_split_into_words (bool، اختياري، القيمة الافتراضية False) — ما إذا كان المدخل مُجزَّأً مسبقاً (على سبيل المثال، مقسَّماً إلى كلمات). إذا تم ضبطه على True، يفترض المُجزِّئ أن المدخل مقسَّم بالفعل إلى كلمات (على سبيل المثال، عن طريق تقسيمه على المسافات) وسيُجزِّئها. هذا مفيد لتصنيف الكيانات الاسمية أو تصنيف الرموز.
  • pad_to_multiple_of (int, اختياري) — إذا تم ضبطه، سيتم توسيط التسلسل إلى مضاعف للقيمة المقدمة. يتطلب تفعيل padding. هذا مفيد بشكل خاص لتمكين استخدام نوى Tensor على أجهزة NVIDIA التي تتمتع بقابلية حساب >= 7.5 (Volta).
  • padding_side (str، اختياري) — الجهة التي يجب تطبيق الحشو عليها في النموذج. يجب اختيارها من بين [‘right’، ‘left’]. القيمة الافتراضية تُختار من سمة الفئة التي تحمل الاسم نفسه.
  • return_tensors (str أو TensorType, اختياري) — إذا تم تعيينه، فسيُعاد تينسورات بدلاً من قائمة من الأعداد الصحيحة في Python. القيم المقبولة هي:
    • 'pt': إرجاع كائنات torch.Tensor من PyTorch.
    • 'np': إرجاع كائنات np.ndarray من نوع Numpy.
  • return_token_type_ids (bool, اختياري) — ما إذا كان يجب إرجاع معرّفات أنواع الرموز. إذا تُركت القيمة الافتراضية، فسيتم إرجاع معرّفات أنواع الرموز وفقًا للقيمة الافتراضية الخاصة بمجزّئ الرموز المحدد، كما تحددها خاصية return_outputs .

    ما هي معرّفات أنواع الرموز؟

  • return_attention_mask (bool, اختياري) — ما إذا كان يجب إرجاع قناع الانتباه. إذا تُركت القيمة الافتراضية، فسيتم إرجاع قناع الانتباه وفقًا للقيمة الافتراضية الخاصة بمجزّئ الرموز المحدد، كما هو معرّف بواسطة return_outputs الخاصية.

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

  • return_overflowing_tokens (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم إرجاع تسلسلات الرموز الزائدة أم لا. إذا تم تقديم زوج من تسلسلات معرفات الإدخال (أو دفعة من الأزواج) مع truncation_strategy = longest_first أو True، فسيتم رفع خطأ بدلاً من إرجاع الرموز الزائدة.
  • return_special_tokens_mask (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب إرجاع معلومات قناع الرموز الخاصة أم لا.
  • return_offsets_mapping (bool, اختياري, الافتراضي هو False) — ما إذا كان يجب إرجاع (char_start, char_end) لكل رمز.

    يتوفر هذا فقط على مُرمّزيات سريعة ترث من PreTrainedTokenizerFast، فإذا كنت تستخدم مُرمّزي Python، فسيُطلق هذا الدالة NotImplementedError.

  • return_length (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب إرجاع أطوال المدخلات المُرمّزة أم لا.
  • verbose (bool، اختياري، الافتراضي True) — ما إذا كان يجب طباعة مزيد من المعلومات والتحذيرات أم لا.
  • **kwargs — تُمرَّر إلى طريقة self.tokenize()

يعيد

BatchEncoding

BatchEncoding يحتوي على الحقول التالية:

  • input_ids — قائمة معرّفات الرموز التي تُغذّى بها النموذج.

    ما هي معرّفات الإدخال؟

  • token_type_ids — قائمة معرّفات أنواع الرموز التي تُمرَّر إلى النموذج (عندما يكون return_token_type_ids=True أو إذا كان “token_type_ids” ضمن self.model_input_names).

    ما هي معرّفات أنواع الرموز؟

  • attention_mask — قائمة بالفهارس تحدد الرموز التي ينبغي للنموذج الانتباه إليها (عندما يكون return_attention_mask=True أو إذا كان “attention_mask” ضمن self.model_input_names).

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

  • overflowing_tokens — قائمة تسلسلات الرموز المتجاوزة (عند تحديد max_length و return_overflowing_tokens=True).

  • num_truncated_tokens — عدد الرموز المقصوصة (عند تحديد max_length و return_overflowing_tokens=True).

  • special_tokens_mask — قائمة من الأصفار والواحدات، حيث تشير الواحدة إلى الرموز الخاصة المضافة وتصفّر إلى رموز التسلسل العادية (عندما يكون add_special_tokens=True وreturn_special_tokens_mask=True).

  • length — طول المدخلات (عندما يكون return_length=True)

الطريقة الرئيسية لتجزئة (tokenization) وتجهيز تسلسل واحد أو عدة تسلسلات، أو زوج واحد أو عدة أزواج من التسلسلات، للنموذج.

save_vocabulary

< >

( save_directory: strfilename_prefix: str | None = None ) → tuple(str)

المعاملات

  • save_directory (str) — المجلد الذي سيتم فيه حفظ المفردات.
  • filename_prefix (str, اختياري) — بادئة اختيارية تُضاف إلى أسماء الملفات المحفوظة.

يعيد

tuple(str)

مسارات الملفات المحفوظة.

احفظ مفردات sentencepiece (انسخ الملف الأصلي) إلى مجلد.

decode

< >

( token_ids: int | list[int] | list[list[int]] | np.ndarray | torch.Tensorskip_special_tokens: bool = False**kwargs ) → Union[str, list[str]]

المعاملات

  • token_ids (Union[int, list[int], list[list[int]], np.ndarray, torch.Tensor]) — تسلسل واحد أو دفعة (قائمة من التسلسلات) من معرّفات المدخلات المُرمّزة. يمكن الحصول عليها باستخدام طريقة __call__.
  • skip_special_tokens (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب إزالة الرموز الخاصة أثناء فك الترميز أم لا.
  • kwargs (معلمات إضافية بالكلمات المفتاحية، اختيارية) — سيتم تمريرها إلى طريقة فك الترميز المحددة للنموذج الأساسي.

يعيد

Union[str, list[str]]

النص المُفكَّك تسلسل واحد، أو قائمة من النصوص المُفكَّكة لدفعة من التسلسلات.

يحوّل تسلسلًا من المعرّفات إلى نص، أو قائمة من التسلسلات إلى قائمة من النصوص، باستخدام مُجزّئ الرموز (tokenizer) وقاموس الرموز (vocabulary)، مع خيارات لإزالة الرموز الخاصة وتنظيف مسافات تجزئة الرموز.

يشبه ذلك القيام بـ self.convert_tokens_to_string(self.convert_ids_to_tokens(token_ids)).

batch_decode

< >

( sequences: list[int] | list[list[int]] | np.ndarray | torch.Tensorskip_special_tokens: bool = Falseclean_up_tokenization_spaces: bool | None = None**kwargs ) → list[str]

المعاملات

  • sequences (Union[list[int], list[list[int]], np.ndarray, torch.Tensor]) — قائمة من معرّفات المدخلات المُرمّزة. يمكن الحصول عليها باستخدام طريقة __call__.
  • skip_special_tokens (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب إزالة الرموز الخاصة أثناء فك الترميز أم لا.
  • clean_up_tokenization_spaces (bool, اختياري) — ما إذا كان سيتم تنظيف مسافات الترميز أم لا. إذا كانت None، فسيتم افتراض self.clean_up_tokenization_spaces.
  • kwargs (معلمات إضافية بالكلمات المفتاحية، اختيارية) — سيتم تمريرها إلى طريقة فك الترميز المحددة للنموذج الأساسي.

يعيد

list[str]

قائمة الجمل المُفكَّكة.

تحويل قائمة من قوائم معرّفات الرموز إلى قائمة من النصوص عن طريق استدعاء decode.

يُوفَّر هذا الأسلوب من أجل التوافق مع الإصدارات السابقة. يتعامل أسلوب decode الآن مع المدخلات المجمعة بشكل أصلي، لذا يمكنك استخدام decode مباشرة بدلاً من batch_decode.

SpeechT5FeatureExtractor

فئة transformers.SpeechT5FeatureExtractor

< >

( feature_size: int = 1sampling_rate: int = 16000padding_value: float = 0.0do_normalize: bool = Falsenum_mel_bins: int = 80hop_length: int = 16win_length: int = 64win_function: str = 'hann_window'fmin: float = 80fmax: float = 7600mel_floor: float = 1e-10return_attention_mask: bool = True**kwargs )

المعاملات

  • feature_size (int، اختياري، القيمة الافتراضية 1) — أبعاد الميزة للميزات المستخرجة.
  • sampling_rate (int, اختياري، القيمة الافتراضية 16000) — معدل أخذ العينات الذي يجب أن تُرقَم به ملفات الصوت، ويُعبَّر عنه بالهرتز (Hz).
  • padding_value (float، اختياري، القيمة الافتراضية 0.0) — القيمة المستخدمة لملء قيم الحشو.
  • do_normalize (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم تطبيع المدخلات إلى متوسط صفري وتباين وحدة. يمكن أن يساعد التطبيع في تحسين أداء بعض النماذج بشكل كبير.
  • num_mel_bins (int، اختياري، القيمة الافتراضية 80) — عدد نوافذ ترددات ميل في ميزات الطيف الصوتي المستخرجة.
  • hop_length (int، اختياري، القيمة الافتراضية 16) — عدد الميلي ثانية بين النوافذ. ويُشار إليه أيضاً باسم "الإزاحة" في العديد من الأوراق البحثية.
  • win_length (int، اختياري، القيمة الافتراضية 64) — عدد الميلي ثانية لكل نافذة.
  • win_function (str، اختياري، القيمة الافتراضية "hann_window") — اسم لدالة النافذة المستخدمة للتقسيم إلى نوافذ، ويجب أن تكون قابلة للوصول عبر torch.{win_function}
  • fmin (float، اختياري، القيمة الافتراضية 80) — أدنى تردد ميل بالهرتز.
  • fmax (float، اختياري، القيمة الافتراضية 7600) — أقصى تردد ميل بالهرتز.
  • mel_floor (float، اختياري، القيمة الافتراضية 1e-10) — القيمة الدنيا لبنوك ترددات mel.
  • return_attention_mask (bool، اختياري، القيمة الافتراضية True) — ما إذا كان ينبغي لـ call() إرجاع attention_mask أم لا.

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

يمكن لهذا الصنف معالجة إشارة صوتية خام مسبقاً من خلال (اختيارياً) تطبيعها إلى متوسط صفري وتباين وحدة، وذلك لاستخدامها في شبكة ما قبل الترميز (prenet) لمُرمِّز الكلام في SpeechT5.

يمكن لهذه الفئة أيضاً استخراج ميزات بنك مرشحات اللوغ-ميل من الكلام الخام، لاستخدامها في شبكة ما قبل الترميز (prenet) لفك ترميز الكلام في SpeechT5.

يرث مستخرج الميزات هذا من SequenceFeatureExtractor الذي يحتوي على معظم الطرق الرئيسية. ينبغي للمستخدمين الرجوع إلى هذه الفئة الأصلية لمزيد من المعلومات حول تلك الطرق.

__call__

< >

( audio: numpy.ndarray | list[float] | list[numpy.ndarray] | list[list[float]] | None = Noneaudio_target: numpy.ndarray | list[float] | list[numpy.ndarray] | list[list[float]] | None = Nonepadding: bool | str | transformers.utils.generic.PaddingStrategy = Falsemax_length: int | None = Nonetruncation: bool = Falsepad_to_multiple_of: int | None = Nonereturn_attention_mask: bool | None = Nonereturn_tensors: str | transformers.utils.generic.TensorType | None = Nonesampling_rate: int | None = None**kwargs )

المعاملات

  • audio (np.ndarray، list[float]، list[np.ndarray]، list[list[float]]، اختياري) — التسلسل أو الدفعة من التسلسلات المراد معالجتها. يمكن أن يكون كل تسلسل مصفوفة numpy، أو قائمة من قيم float، أو قائمة من مصفوفات numpy، أو قائمة من قوائم قيم float. يُنتج هذا ميزات الموجة الصوتية. يجب أن يكون الصوت أحادي القناة (mono) وليس ستيريو، أي قيمة float واحدة لكل خطوة زمنية.
  • audio_target (np.ndarray، list[float]، list[np.ndarray]، list[list[float]]، اختياري) — التسلسل أو الدفعة من التسلسلات التي سيتم معالجتها كأهداف. يمكن أن يكون كل تسلسل مصفوفة numpy، أو قائمة من قيم float، أو قائمة من مصفوفات numpy، أو قائمة من قوائم قيم float. تُخرج هذه العملية ميزات طيف log-mel.
  • padding (bool, str أو PaddingStrategy, اختياري, الافتراضي هو False) — اختر استراتيجية لإضافة الحشو إلى التسلسلات المُعادَة (وفقًا لجانب الحشو وفهرس الحشو الخاص بالنموذج) من بين الخيارات التالية:
    • 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.
  • sampling_rate (int, اختياري) — معدل أخذ العينات الذي تم أخذ عينات مدخل audio أو audio_target به. يُوصى بشدة بتمرير sampling_rate عند استدعاء الأمامي لمنع الأخطاء الصامتة.

الطريقة الرئيسية لتحويل السلسلة أو السلاسل إلى ميزات وتجهيزها للنموذج.

مرّر قيمةً لـ audio لاستخراج ميزات الموجة. مرّر قيمةً لـ audio_target لاستخراج ميزات طيف اللوغ-ميل.

SpeechT5Processor

فئة transformers.SpeechT5Processor

< >

( feature_extractortokenizer )

المعاملات

  • feature_extractor (SpeechT5FeatureExtractor) — مستخرج الميزات هو مدخل مطلوب.
  • tokenizer (SpeechT5Tokenizer) — المُجزِّئ (tokenizer) هو مدخل إلزامي.

ينشئ SpeechT5Processor الذي يجمع مستخرج الميزات ومجزئ النص في معالج واحد.

يوفر SpeechT5Processor جميع وظائف SpeechT5FeatureExtractor وSpeechT5Tokenizer. راجع ~SpeechT5FeatureExtractor و~SpeechT5Tokenizer لمزيد من المعلومات.

__call__

< >

( *args**kwargs )

المعاملات

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

pad

< >

( *args**kwargs )

يجمع مدخلات الصوت والنص، بالإضافة إلى أهدافها، في دفعة مُسدَّدة.

تُملأ مدخلات الصوت بواسطة pad() الخاص بـ SpeechT5FeatureExtractor. وتُملأ مدخلات النص بواسطة pad() الخاص بـ SpeechT5Tokenizer.

المدخلات الصالحة هي:

  • input_ids فقط
  • input_values فقط
  • labels فقط، إما طيفيات لوج-ميل أو رموز نصية
  • input_ids ومطياف log-mel labels
  • input_values والنص labels

يرجى الرجوع إلى وِصف الدالة (docstring) للطريقتين المذكورتين أعلاه للحصول على مزيد من المعلومات.

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.
  • **kwargs — حجج إضافية بالكلمات المفتاحية تُمرَّر إلى كلٍّ من from_pretrained() و ~tokenization_utils_base.PreTrainedTokenizer.from_pretrained.

أنشئ معالجًا مرتبطًا بنموذج مُدرَّب مسبقًا.

تستدعي طريقة الفئة هذه ببساطة مستخرج الميزات from_pretrained() ومعالج الصور ImageProcessingMixin وطريقة المرمّز ~tokenization_utils_base.PreTrainedTokenizer.from_pretrained. يُرجى الرجوع إلى سلاسل التوثيق للطرق المذكورة أعلاه لمزيد من المعلومات.

save_pretrained

< >

( save_directorypush_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().

يحفظ سمات هذا المعالج (مستخرج الميزات، المرمّز…) في المجلد المحدد بحيث يمكن إعادة تحميله باستخدام طريقة from_pretrained().

تستدعي طريقة الفئة هذه ببساطة save_pretrained() و save_pretrained(). يُرجى الرجوع إلى توثيق طرق الاستدعاء أعلاه لمزيد من المعلومات.

batch_decode

< >

( *args**kwargs )

تُمرّر هذه الطريقة جميع معاملاتها إلى batch_decode() الخاصة بـ PreTrainedTokenizer. يُرجى الرجوع إلى سلسلة التوثيق (docstring) لهذه الطريقة لمزيد من المعلومات.

decode

< >

( *args**kwargs )

تُمرّر هذه الطريقة جميع معاملاتها إلى decode() الخاصة بـ PreTrainedTokenizer. يُرجى الرجوع إلى سلسلة التوثيق (docstring) لهذه الطريقة لمزيد من المعلومات.

SpeechT5Model

فئة transformers.SpeechT5Model

< >

( config: SpeechT5Configencoder: typing.Optional[torch.nn.Module] = Nonedecoder: typing.Optional[torch.nn.Module] = None )

المعاملات

  • config (SpeechT5Config) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعداد إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
  • encoder (PreTrainedModel، اختياري) — نموذج المُشفِّر الذي سيتم استخدامه.
  • decoder (PreTrainedModel، اختياري) — نموذج المُفكِّك (decoder) المراد استخدامه.

نموذج SpeechT5 Encoder-Decoder الأساسي الذي يُخرج حالات مخفية خام دون أي شبكات ما قبل أو ما بعد محددة.

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( input_values: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = Nonedecoder_input_values: typing.Optional[torch.Tensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.Tensor]] | None = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneuse_cache: bool | None = Nonespeaker_embeddings: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → Seq2SeqModelOutput or tuple(torch.Tensor)

المعاملات

  • input_values (torch.Tensor من الشكل (batch_size, sequence_length)) — حسب المُشفِّر المستخدم، تكون قيم input_values إما: قيمًا عشرية لموجة الصوت الخام المُدخلة، أو فهارس لرموز تسلسل الإدخال في قاموس الكلمات، أو حالات مخفية.
  • attention_mask (torch.LongTensor بشكل (batch_size, sequence_length), اختياري) — قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. القيم المختارة للقناع في [0, 1]:
    • 1 للرموز التي لم تُقنَّع،
    • 0 للرموز التي تم إخفاؤها.

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

  • decoder_input_values (torch.Tensor من الشكل (batch_size, target_sequence_length)، اختياري) — اعتمادًا على المُفكِّك المستخدم، تكون قيم decoder_input_values إما: قيمًا عشرية لميزات بنك مرشحات log-mel المستخرجة من موجة الصوت الخام، أو فهارس لرموز تسلسل إدخال المُفكِّك في قاموس الكلمات، أو حالات مخفية.
  • decoder_attention_mask (torch.LongTensor بشكل (batch_size, target_sequence_length), اختياري) — السلوك الافتراضي: إنشاء متجه يتجاهل رموز الحشو في decoder_input_values. سيتم استخدام قناع السببية أيضًا بشكل افتراضي.

    إذا كنت ترغب في تغيير سلوك الحشو، فيجب عليك قراءة SpeechT5Decoder._prepare_decoder_attention_mask وتعديله حسب احتياجاتك. راجع الشكل 1 في الورقة البحثية لمزيد من المعلومات حول الاستراتيجية الافتراضية.

  • encoder_outputs (tuple[tuple[torch.Tensor]]، اختياري) — مجموعة (توبل) تتكون من (last_hidden_state، اختياري: hidden_states، اختياري: attentions) last_hidden_state ذو الشكل (batch_size, sequence_length, hidden_size)، اختياري) هو تسلسل من حالات المخفية (hidden-states) عند مخرج الطبقة الأخيرة من المشفر. يُستخدم في الانتباه المتقاطع (cross-attention) داخل المُفكِّك (decoder).
  • past_key_values (~cache_utils.Cache, اختياري) — حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي وكتل الانتباه المتقاطع) يمكن استخدامها لتسريع فك الترميز التسلسلي. يتكون هذا عادةً من past_key_values الذي يعيده النموذج في مرحلة سابقة من فك الترميز، عندما use_cache=True أو config.use_cache=True.

    يُسمح فقط بمرجع Cache كمدخل، راجع دليل ذاكرة kv لدينا. إذا لم يتم تمرير past_key_values، فسيتم تهيئة DynamicCache افتراضياً.

    سيُخرج النموذج نفس صيغة الكاش التي تُمرَّر كمدخل.

    عند استخدام past_key_values، يُتوقَّع من المستخدم إدخال input_ids غير المعالجة فقط (تلك التي لم تُقدَّم حالات مفاتيحها وقيمها السابقة إلى هذا النموذج) بأبعاد (batch_size, unprocessed_length) بدلاً من جميع input_ids بأبعاد (batch_size, sequence_length).

  • use_cache (bool، اختياري) — إذا تم تعيينه إلى True، تُعاد حالات المفاتيح والقيم past_key_values ويمكن استخدامها لتسريع فك الترميز (انظر past_key_values).
  • speaker_embeddings (torch.Tensor من الشكل (batch_size, config.speaker_embedding_dim)، اختياري) — مصفوفة تحتوي على تمثيلات المتحدثين.
  • output_attentions (bool، اختياري) — ما إذا كان يجب إرجاع تensors الانتباه لجميع طبقات الانتباه أم لا. راجع attentions ضمن tensors المُرجعة لمزيد من التفاصيل.
  • output_hidden_states (bool، اختياري) — ما إذا كان يجب إرجاع حالات الطبقات المخفية لجميع الطبقات. راجع hidden_states ضمن الموترات المُرجعة للحصول على مزيد من التفاصيل.
  • return_dict (bool، اختياري) — ما إذا كان يجب إرجاع ModelOutput بدلاً من tuple عادي.

يعيد

Seq2SeqModelOutput أو tuple(torch.Tensor)

Seq2SeqModelOutput أو مجموعة مرتبة من torch.Tensor (في حال تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة تعتمد على الإعداد (SpeechT5Config) والمدخلات.

تتجاوز طريقة SpeechT5Model الخاصة بالتقديم (forward) الطريقة الخاصة __call__.

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

  • last_hidden_state (torch.Tensor من الشكل (batch_size, sequence_length, hidden_size)) — تسلسل من حالات الإخفاء عند مخرج الطبقة الأخيرة من فاحم النموذج.

    إذا تم استخدام past_key_values، فإن الحالة المخفية الأخيرة فقط من التسلسلات ذات الشكل (batch_size, 1, hidden_size) هي التي تُخرج.

  • past_key_values (EncoderDecoderCache، اختياري، يُعاد عند تمرير use_cache=True أو عند تعيين config.use_cache=True) — إنه كائن من نوع EncoderDecoderCache. لمزيد من التفاصيل، راجع دليل ذاكرة kv.

    تحتوي على حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي وكتل الانتباه المتقاطع) يمكن استخدامها (انظر مدخل past_key_values) لتسريع فك الترميز التسلسلي.

  • decoder_hidden_states (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_hidden_states=True أو عند تعيين config.output_hidden_states=True) — مجموعة من torch.Tensor (واحدة لإخراج الطبقات المضمنة، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لإخراج كل طبقة) بأبعاد (batch_size, sequence_length, hidden_size).

    حالات المخفية (Hidden-states) للوحدة الترميزية (decoder) عند مخرج كل طبقة، بالإضافة إلى مخرجات التضمين الأولي الاختيارية.

  • decoder_attentions (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_attentions=True أو عند تعيين config.output_attentions=True) — مجموعة من torch.Tensor (واحدة لكل طبقة) بأبعاد (batch_size, num_heads, sequence_length, sequence_length).

    أوزان الانتباه في المُفكِّك، بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

  • cross_attentions (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_attentions=True أو عند تعيين config.output_attentions=True) — مجموعة من torch.Tensor (واحدة لكل طبقة) بأبعاد (batch_size, num_heads, sequence_length, sequence_length).

    أوزان الانتباه لطبقة الانتباه المتقاطع في المُفكِّك، بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه المتقاطع.

  • encoder_last_hidden_state (torch.Tensor من الشكل (batch_size, sequence_length, hidden_size)، اختياري) — تسلسل حالات مخفية عند مخرج الطبقة الأخيرة من مُشفِّر النموذج.

  • encoder_hidden_states (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_hidden_states=True أو عند تعيين config.output_hidden_states=True) — مجموعة من torch.Tensor (واحدة لإخراج الطبقات المضمنة، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لإخراج كل طبقة) من الشكل (batch_size, sequence_length, hidden_size).

    حالات المخفية للمشفّر عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.

  • encoder_attentions (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_attentions=True أو عند تعيين config.output_attentions=True) — مجموعة من torch.Tensor (واحدة لكل طبقة) بأبعاد (batch_size, num_heads, sequence_length, sequence_length).

    أوزان الانتباه في المُشفِّر، بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

SpeechT5ForSpeechToText

فئة transformers.SpeechT5ForSpeechToText

< >

( config: SpeechT5Config )

المعاملات

  • config (SpeechT5Config) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعداد إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

نموذج SpeechT5 مع مشفّر صوتي ومفكّك نصي.

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( input_values: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = Nonedecoder_input_ids: typing.Optional[torch.LongTensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.Tensor]] | None = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = Nonelabels: typing.Optional[torch.LongTensor] = None**kwargs ) → Seq2SeqLMOutput or tuple(torch.Tensor)

المعاملات

  • 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، يجب استخدام SpeechT5Processor لإضافة الحشو وتحويلها إلى متجه من النوع torch.Tensor. راجع SpeechT5Processor.call() للتفاصيل.
  • attention_mask (torch.LongTensor بشكل (batch_size, sequence_length), اختياري) — قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. القيم المختارة للقناع في [0, 1]:
    • 1 للرموز التي لم تُقنَّع،
    • 0 للرموز التي تم إخفاؤها.

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

  • decoder_input_ids (torch.LongTensor بشكل (batch_size, target_sequence_length), اختياري) — مؤشرات رموز تسلسل مدخلات المُفكِّك في قاموس الكلمات. يمكن الحصول على المؤشرات باستخدام SpeechT5Tokenizer. راجع PreTrainedTokenizer.encode() و PreTrainedTokenizer.call() للتفاصيل. ما هي معرّفات مدخلات المُفكِّك؟ يستخدم SpeechT5 رمز eos_token_id كرمز بداية لتوليد decoder_input_ids. إذا تم استخدام past_key_values، فيجب إدخال آخر decoder_input_ids فقط بشكل اختياري (راجع past_key_values).

    يمكن الحصول على الفهارس باستخدام SpeechT5Tokenizer. راجع PreTrainedTokenizer.encode() و PreTrainedTokenizer.call() للحصول على التفاصيل.

    ما هي معرّفات مدخلات المُفكِّك؟

    يستخدم SpeechT5 الرمز eos_token_id كرمز بداية لتوليد decoder_input_ids. إذا تم استخدام past_key_values، فبشكل اختياري لا يتعين إدخال سوى آخر decoder_input_ids (انظر past_key_values).

  • decoder_attention_mask (torch.LongTensor بشكل (batch_size, target_sequence_length), اختياري) — السلوك الافتراضي: إنشاء متجه يتجاهل رموز الحشو في decoder_input_values. سيتم استخدام قناع السببية أيضًا بشكل افتراضي.

    إذا كنت ترغب في تغيير سلوك الحشو، فيجب عليك قراءة SpeechT5Decoder._prepare_decoder_attention_mask وتعديله حسب احتياجاتك. راجع الشكل 1 في الورقة البحثية لمزيد من المعلومات حول الاستراتيجية الافتراضية.

  • encoder_outputs (tuple[tuple[torch.Tensor]]، اختياري) — مجموعة (توبل) تتكون من (last_hidden_state، اختياري: hidden_states، اختياري: attentions) last_hidden_state ذو الشكل (batch_size, sequence_length, hidden_size)، اختياري) هو تسلسل من حالات المخفية (hidden-states) عند مخرج الطبقة الأخيرة من المشفر. يُستخدم في الانتباه المتقاطع (cross-attention) داخل المُفكِّك (decoder).
  • past_key_values (~cache_utils.Cache, اختياري) — حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي وكتل الانتباه المتقاطع) يمكن استخدامها لتسريع فك الترميز التسلسلي. يتكون هذا عادةً من past_key_values الذي يعيده النموذج في مرحلة سابقة من فك الترميز، عندما use_cache=True أو config.use_cache=True.

    يُسمح فقط بمرجع Cache كمدخل، راجع دليل ذاكرة kv لدينا. إذا لم يتم تمرير past_key_values، فسيتم تهيئة DynamicCache افتراضياً.

    سيُخرج النموذج نفس صيغة الكاش التي تُمرَّر كمدخل.

    عند استخدام past_key_values، يُتوقَّع من المستخدم إدخال input_ids غير المعالجة فقط (تلك التي لم تُقدَّم حالات مفاتيحها وقيمها السابقة إلى هذا النموذج) بأبعاد (batch_size, unprocessed_length) بدلاً من جميع input_ids بأبعاد (batch_size, sequence_length).

  • use_cache (bool، اختياري) — إذا تم تعيينه إلى True، تُعاد حالات المفاتيح والقيم past_key_values ويمكن استخدامها لتسريع فك الترميز (انظر past_key_values).
  • output_attentions (bool، اختياري) — ما إذا كان يجب إرجاع تensors الانتباه لجميع طبقات الانتباه أم لا. راجع attentions ضمن tensors المُرجعة لمزيد من التفاصيل.
  • output_hidden_states (bool، اختياري) — ما إذا كان يجب إرجاع حالات الطبقات المخفية لجميع الطبقات. راجع hidden_states ضمن الموترات المُرجعة للحصول على مزيد من التفاصيل.
  • return_dict (bool، اختياري) — ما إذا كان يجب إرجاع ModelOutput بدلاً من tuple عادي.
  • labels (torch.LongTensor بشكل (batch_size, sequence_length), اختياري) — تسميات لحساب خسارة نمذجة اللغة. يجب أن تكون الفهارس ضمن [0, ..., config.vocab_size] أو -100 (انظر input_ids توثيق الدالة). يتم تجاهل الرموز التي تكون فهارسها -100 تُحسب الخسارة فقط للرموز التي تسمياتها ضمن [0, ..., config.vocab_size].

    يمكن الحصول على فهارس التسميات باستخدام SpeechT5Tokenizer. راجع PreTrainedTokenizer.encode() و PreTrainedTokenizer.call() للحصول على التفاصيل.

يعيد

Seq2SeqLMOutput أو tuple(torch.Tensor)

Seq2SeqLMOutput أو مجموعة مرتبة من torch.Tensor (في حال تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة اعتماداً على الإعداد (SpeechT5Config) والمدخلات.

تتجاوز طريقة SpeechT5ForSpeechToText الخاصة بالتقديم (forward) الطريقة الخاصة __call__.

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

  • loss (torch.Tensor of shape (1,), اختياري, يُعاد عند توفير labels) — خسارة نمذجة اللغة.

  • logits (torch.Tensor من الشكل (batch_size, sequence_length, config.vocab_size)) — درجات التنبؤ لرأس نمذجة اللغة (درجات لكل رمز في المفردات قبل SoftMax).

  • past_key_values (EncoderDecoderCache، اختياري، يُعاد عند تمرير use_cache=True أو عند تعيين config.use_cache=True) — إنه كائن من نوع EncoderDecoderCache. لمزيد من التفاصيل، راجع دليل ذاكرة kv.

    تحتوي على حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي وكتل الانتباه المتقاطع) يمكن استخدامها (انظر مدخل past_key_values) لتسريع فك الترميز التسلسلي.

  • decoder_hidden_states (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_hidden_states=True أو عند تعيين config.output_hidden_states=True) — مجموعة من torch.Tensor (واحدة لإخراج الطبقات المضمنة، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لإخراج كل طبقة) بأبعاد (batch_size, sequence_length, hidden_size).

    حالات المخفية (Hidden states) لمفكّك الترميز (decoder) عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي (initial embedding).

  • decoder_attentions (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_attentions=True أو عند تعيين config.output_attentions=True) — مجموعة من torch.Tensor (واحدة لكل طبقة) بأبعاد (batch_size, num_heads, sequence_length, sequence_length).

    أوزان الانتباه في المُفكِّك، بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

  • cross_attentions (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_attentions=True أو عند تعيين config.output_attentions=True) — مجموعة من torch.Tensor (واحدة لكل طبقة) بأبعاد (batch_size, num_heads, sequence_length, sequence_length).

    أوزان الانتباه لطبقة الانتباه المتقاطع في المُفكِّك، بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه المتقاطع.

  • encoder_last_hidden_state (torch.Tensor من الشكل (batch_size, sequence_length, hidden_size)، اختياري) — تسلسل حالات مخفية عند مخرج الطبقة الأخيرة من مُشفِّر النموذج.

  • encoder_hidden_states (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_hidden_states=True أو عند تعيين config.output_hidden_states=True) — مجموعة من torch.Tensor (واحدة لإخراج الطبقات المضمنة، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لإخراج كل طبقة) من الشكل (batch_size, sequence_length, hidden_size).

    حالات المخفية للمشفّر عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي.

  • encoder_attentions (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_attentions=True أو عند تعيين config.output_attentions=True) — مجموعة من torch.Tensor (واحدة لكل طبقة) بأبعاد (batch_size, num_heads, sequence_length, sequence_length).

    أوزان الانتباه في المُشفِّر، بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

مثال:

>>> from transformers import SpeechT5Processor, SpeechT5ForSpeechToText
>>> from datasets import load_dataset

>>> dataset = load_dataset(
...     "hf-internal-testing/librispeech_asr_demo", "clean", split="validation"
... )  # doctest: +IGNORE_RESULT
>>> dataset = dataset.sort("id")
>>> sampling_rate = dataset.features["audio"].sampling_rate

>>> processor = SpeechT5Processor.from_pretrained("microsoft/speecht5_asr")
>>> model = SpeechT5ForSpeechToText.from_pretrained("microsoft/speecht5_asr")

>>> # audio file is decoded on the fly
>>> inputs = processor(audio=dataset[0]["audio"]["array"], sampling_rate=sampling_rate, return_tensors="pt")
>>> predicted_ids = model.generate(**inputs, max_length=100)

>>> # transcribe speech
>>> transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)
>>> transcription[0]
'mister quilter is the apostle of the middle classes and we are glad to welcome his gospel'
>>> inputs["labels"] = processor(text_target=dataset[0]["text"], return_tensors="pt").input_ids

>>> # compute loss
>>> loss = model(**inputs).loss
>>> round(loss.item(), 2)
19.68

SpeechT5ForTextToSpeech

فئة transformers.SpeechT5ForTextToSpeech

< >

( config: SpeechT5Config )

المعاملات

  • config (SpeechT5Config) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعداد إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

نموذج SpeechT5 مع مُشفِّر نصي ومُفكِّك صوتي.

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = Nonedecoder_input_values: typing.Optional[torch.Tensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.Tensor]] | None = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = Nonespeaker_embeddings: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.Tensor] = Nonestop_labels: typing.Optional[torch.Tensor] = None**kwargs ) → Seq2SeqSpectrogramOutput or tuple(torch.Tensor)

المعاملات

  • input_ids (torch.LongTensor بشكل (batch_size, sequence_length)) — مؤشرات رموز تسلسل الإدخال في قاموس الكلمات.

    يمكن الحصول على الفهارس باستخدام SpeechT5Tokenizer. راجع encode() و call() للحصول على التفاصيل.

    ما هي معرّفات الإدخال؟

  • attention_mask (torch.LongTensor بشكل (batch_size, sequence_length), اختياري) — قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. القيم المختارة للقناع في [0, 1]:
    • 1 للرموز التي لم تُقنَّع،
    • 0 للرموز التي تم إخفاؤها.

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

  • decoder_input_values (torch.Tensor بشكل (batch_size, sequence_length, config.num_mel_bins)) — قيم عشرية لطيف الميّل (mel spectrogram) المُدخل. يستخدم SpeechT5 طيفًا صفرًا بالكامل كرمز بداية لتوليد decoder_input_values. إذا تم استخدام past_key_values، فيجب إدخال decoder_input_values الأخيرة فقط بشكل اختياري (انظر past_key_values).

    يستخدم SpeechT5 طيفًا صفرًا بالكامل كرمز البداية لتوليد decoder_input_values. إذا تم استخدام past_key_values، فيجب إدخال decoder_input_values الأخيرة فقط بشكل اختياري (انظر past_key_values).

  • decoder_attention_mask (torch.LongTensor بشكل (batch_size, target_sequence_length), اختياري) — السلوك الافتراضي: إنشاء متجه يتجاهل رموز الحشو في decoder_input_values. سيتم استخدام قناع السببية أيضًا بشكل افتراضي.

    إذا كنت ترغب في تغيير سلوك الحشو، فيجب عليك قراءة SpeechT5Decoder._prepare_decoder_attention_mask وتعديله حسب احتياجاتك. راجع الشكل 1 في الورقة البحثية لمزيد من المعلومات حول الاستراتيجية الافتراضية.

  • encoder_outputs (tuple[tuple[torch.Tensor]]، اختياري) — مجموعة (توبل) تتكون من (last_hidden_state، اختياري: hidden_states، اختياري: attentions) last_hidden_state ذو الشكل (batch_size, sequence_length, hidden_size)، اختياري) هو تسلسل من حالات المخفية (hidden-states) عند مخرج الطبقة الأخيرة من المشفر. يُستخدم في الانتباه المتقاطع (cross-attention) داخل المُفكِّك (decoder).
  • past_key_values (~cache_utils.Cache, اختياري) — حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي وكتل الانتباه المتقاطع) يمكن استخدامها لتسريع فك الترميز التسلسلي. يتكون هذا عادةً من past_key_values الذي يعيده النموذج في مرحلة سابقة من فك الترميز، عندما use_cache=True أو config.use_cache=True.

    يُسمح فقط بمرجع Cache كمدخل، راجع دليل ذاكرة kv لدينا. إذا لم يتم تمرير past_key_values، فسيتم تهيئة DynamicCache افتراضياً.

    سيُخرج النموذج نفس صيغة الكاش التي تُمرَّر كمدخل.

    عند استخدام past_key_values، يُتوقَّع من المستخدم إدخال input_ids غير المعالجة فقط (تلك التي لم تُقدَّم حالات مفاتيحها وقيمها السابقة إلى هذا النموذج) بأبعاد (batch_size, unprocessed_length) بدلاً من جميع input_ids بأبعاد (batch_size, sequence_length).

  • use_cache (bool، اختياري) — إذا تم تعيينه إلى True، تُعاد حالات المفاتيح والقيم past_key_values ويمكن استخدامها لتسريع فك الترميز (انظر past_key_values).
  • output_attentions (bool، اختياري) — ما إذا كان يجب إرجاع تensors الانتباه لجميع طبقات الانتباه أم لا. راجع attentions ضمن tensors المُرجعة لمزيد من التفاصيل.
  • output_hidden_states (bool، اختياري) — ما إذا كان يجب إرجاع حالات الطبقات المخفية لجميع الطبقات. راجع hidden_states ضمن الموترات المُرجعة للحصول على مزيد من التفاصيل.
  • return_dict (bool، اختياري) — ما إذا كان يجب إرجاع ModelOutput بدلاً من tuple عادي.
  • speaker_embeddings (torch.Tensor من الشكل (batch_size, config.speaker_embedding_dim)، اختياري) — مصفوفة تحتوي على تمثيلات المتحدثين.
  • labels (torch.Tensor of shape (batch_size, sequence_length, config.num_mel_bins), اختياري) — قيم رقمية عشرية لطيف المييل المستهدف. تُتجاهل الخطوات الزمنية (تُخفى) التي قيمتها -100.0 عند حساب الخسارة. يمكن الحصول على الأطياف باستخدام SpeechT5Processor. راجع SpeechT5Processor.call() للحصول على التفاصيل.
  • stop_labels (torch.Tensor من الشكل (batch_size, sequence_length)، اختياري) — مصفوفة ثنائية تشير إلى موضع رمز التوقف في التسلسل.

يعيد

Seq2SeqSpectrogramOutput أو tuple(torch.Tensor)

Seq2SeqSpectrogramOutput أو مجموعة (tuple) من torch.Tensor (في حال تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة تعتمد على الإعداد (SpeechT5Config) والمدخلات.

تتجاوز طريقة SpeechT5ForTextToSpeech الخاصة بالتقديم (forward) الطريقة الخاصة __call__.

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

  • loss (torch.Tensor of shape (1,), اختياري, يُعاد عند توفير labels) — خسارة توليد الطيف الصوتي.

  • مطياف الصوت (torch.Tensor من الشكل (batch_size, sequence_length, num_bins)) — مطياف الصوت المتوقع.

  • past_key_values (EncoderDecoderCache، اختياري، يُعاد عند تمرير use_cache=True أو عند تعيين config.use_cache=True) — إنه كائن من نوع EncoderDecoderCache. لمزيد من التفاصيل، راجع دليل ذاكرة kv.

    تحتوي على حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي وكتل الانتباه المتقاطع) يمكن استخدامها (انظر مدخل past_key_values) لتسريع فك الترميز التسلسلي.

  • decoder_hidden_states (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_hidden_states=True أو عند تعيين config.output_hidden_states=True) — مجموعة من torch.Tensor (واحدة لإخراج الطبقات المضمنة، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لإخراج كل طبقة) بأبعاد (batch_size, sequence_length, hidden_size).

    حالات المخفية (Hidden states) لمفكّك الترميز (decoder) عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي (initial embedding).

  • decoder_attentions (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_attentions=True أو عند تعيين config.output_attentions=True) — مجموعة من torch.Tensor (واحدة لكل طبقة) بأبعاد (batch_size, num_heads, sequence_length, sequence_length).

    أوزان الانتباه في المُفكِّك، بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

  • cross_attentions (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_attentions=True أو عند تعيين config.output_attentions=True) — مجموعة من torch.Tensor (واحدة لكل طبقة) بأبعاد (batch_size, num_heads, sequence_length, sequence_length).

    أوزان الانتباه لطبقة الانتباه المتقاطع في المُفكِّك، بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه المتقاطع.

  • encoder_last_hidden_state (torch.Tensor من الشكل (batch_size, sequence_length, hidden_size)، اختياري) — تسلسل حالات مخفية عند مخرج الطبقة الأخيرة من مُشفِّر النموذج.

  • encoder_hidden_states (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_hidden_states=True أو عند تعيين config.output_hidden_states=True) — مجموعة من torch.Tensor (واحدة لإخراج الطبقات المضمنة، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لإخراج كل طبقة) من الشكل (batch_size, sequence_length, hidden_size).

    حالات المخفية للمشفّر عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي.

  • encoder_attentions (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_attentions=True أو عند تعيين config.output_attentions=True) — مجموعة من torch.Tensor (واحدة لكل طبقة) بأبعاد (batch_size, num_heads, sequence_length, sequence_length).

    أوزان الانتباه في المُشفِّر، بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

مثال:

>>> from transformers import SpeechT5Processor, SpeechT5ForTextToSpeech, SpeechT5HifiGan, set_seed
>>> import torch

>>> processor = SpeechT5Processor.from_pretrained("microsoft/speecht5_tts")
>>> model = SpeechT5ForTextToSpeech.from_pretrained("microsoft/speecht5_tts")
>>> vocoder = SpeechT5HifiGan.from_pretrained("microsoft/speecht5_hifigan")

>>> inputs = processor(text="Hello, my dog is cute", return_tensors="pt")
>>> speaker_embeddings = torch.zeros((1, 512))  # or load xvectors from a file

>>> set_seed(555)  # make deterministic

>>> # generate speech
>>> speech = model.generate(inputs["input_ids"], speaker_embeddings=speaker_embeddings, vocoder=vocoder)
>>> speech.shape
torch.Size([15872])

generate

< >

( input_ids: LongTensorattention_mask: typing.Optional[torch.LongTensor] = Nonespeaker_embeddings: typing.Optional[torch.Tensor] = Nonethreshold: float = 0.5minlenratio: float = 0.0maxlenratio: float = 20.0vocoder: typing.Optional[torch.nn.Module] = Noneoutput_cross_attentions: bool = Falsereturn_output_lengths: bool = False**kwargs ) → tuple(torch.Tensor) comprising various elements depending on the inputs

المعاملات

  • input_ids (torch.LongTensor بشكل (batch_size, sequence_length)) — مؤشرات رموز تسلسل الإدخال في قاموس الكلمات.

    يمكن الحصول على الفهارس باستخدام SpeechT5Tokenizer. راجع encode() و call() للحصول على التفاصيل.

    ما هي معرّفات الإدخال؟

  • attention_mask (torch.LongTensor من الشكل (batch_size, sequence_length)) — قناع الانتباه من مُجزِّئ الرموز، وهو مطلوب للاستدلال المجمّع (batched inference) لإبلاغ النموذج بالأماكن التي يجب تجاهل الرموز المحشوة (padded tokens) فيها من input_ids.
  • speaker_embeddings (torch.Tensor من الشكل (batch_size, config.speaker_embedding_dim)، اختياري) — مصفوفة تحتوي على تمثيلات المتحدثين.
  • threshold (float، اختياري، القيمة الافتراضية 0.5) — تنتهي التسلسل المولّد عندما تتجاوز احتمالية رمز الإيقاف المتوقع هذه القيمة.
  • minlenratio (float، اختياري، القيمة الافتراضية 0.0) — يُستخدم لحساب الحد الأدنى للطول المطلوب لسلسلة الإخراج.
  • maxlenratio (float، اختياري، القيمة الافتراضية 20.0) — يُستخدم لحساب الحد الأقصى المسموح به لطول تسلسل الإخراج.
  • vocoder (nn.Module, اختياري) — المُصوِّغ الذي يحوّل طيف الميّل إلى موجة صوتية. إذا كان None، فإن المخرَج هو طيف الميّل.
  • output_cross_attentions (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب إرجاع تensors الانتباه لطبقات الانتباه المتقاطع في المُفكِّك أم لا.
  • return_output_lengths (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب إرجاع أطوال الطيف الصوتي/الموجة الصوتية الفعلية أم لا.

يعيد

tuple(torch.Tensor) يتكوّن من عناصر مختلفة اعتمادًا على المدخلات

  • عندما تكون قيمة return_output_lengths False
    • مطياف التردد (اختياري، يُعاد عند عدم تقديم vocoder) torch.Tensor من الشكل (output_sequence_length, config.num_mel_bins) — مطياف log-mel المتوقع.
    • waveform (اختياري، يُعاد عند توفير vocoder) torch.Tensor من الشكل (num_frames,) — موجة الصوت المتوقعة.
    • cross_attentions (اختياري، يُعاد عند تعيين output_cross_attentions إلى True) torch.Tensor بأبعاد (config.decoder_layers, config.decoder_attention_heads, output_sequence_length, input_sequence_length) — مخرجات طبقات الانتباه المتقاطع في المُفكِّك.
  • عندما تكون return_output_lengths قيمة True
    • الطيف الصوتي (اختياري، يُعاد عند عدم تقديم vocoder) torch.Tensor من الشكل (batch_size, output_sequence_length, config.num_mel_bins) — الأطياف الصوتية اللوغاريتمية المتوقعة المُحشوة حتى الطول الأقصى.
    • spectrogram_lengths (اختياري، يُعاد عند عدم تقديم vocoder) list[Int] — قائمة بجميع الأطوال الفعلية لكل طيف صوتي.
    • الموجات الصوتية (اختياري، يُعاد عند توفير vocoder) torch.Tensor من الشكل (batch_size, num_frames) — الموجات الصوتية المتوقعة للكلام، وقد تم توسيدها حتى الطول الأقصى.
    • waveform_lengths (اختياري، يُعاد عند توفير vocoder) list[Int] — قائمة بجميع الأطوال الفعلية لكل موجة صوتية.
    • cross_attentions (اختياري، يُعاد عند تعيين output_cross_attentions إلى True) torch.Tensor بأبعاد (batch_size, config.decoder_layers, config.decoder_attention_heads, output_sequence_length, input_sequence_length) — مخرجات طبقات الانتباه المتقاطع في المُفكِّك.

يحوّل تسلسل الرموز المدخلة إلى تسلسل من مطيافات ميل، التي تُحوَّل بدورها إلى موجة صوتية باستخدام مُصوِّت.

SpeechT5ForSpeechToSpeech

فئة transformers.SpeechT5ForSpeechToSpeech

< >

( config: SpeechT5Config )

المعاملات

  • config (SpeechT5Config) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعداد إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

نموذج SpeechT5 مع مُشفِّر صوتي ومُفكِّك صوتي.

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( input_values: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = Nonedecoder_input_values: typing.Optional[torch.Tensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.Tensor]] | None = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = Nonespeaker_embeddings: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.Tensor] = Nonestop_labels: typing.Optional[torch.Tensor] = None**kwargs ) → Seq2SeqSpectrogramOutput or tuple(torch.Tensor)

المعاملات

  • 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، يجب استخدام SpeechT5Processor لإضافة الحشو والتحويل إلى مصفوفة من النوع torch.Tensor. راجع SpeechT5Processor.call() للتفاصيل.
  • attention_mask (torch.LongTensor بشكل (batch_size, sequence_length), اختياري) — قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. القيم المختارة للقناع في [0, 1]:
    • 1 للرموز التي لم تُقنَّع،
    • 0 للرموز التي تم إخفاؤها.

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

  • decoder_input_values (torch.Tensor بشكل (batch_size, sequence_length, config.num_mel_bins)) — قيم عشرية لطيف الميّل (mel spectrogram) المُدخل. يستخدم SpeechT5 طيفًا صفرًا بالكامل كرمز بداية لتوليد decoder_input_values. إذا تم استخدام past_key_values، فيجب إدخال decoder_input_values الأخيرة فقط بشكل اختياري (انظر past_key_values).

    يستخدم SpeechT5 طيفًا صفرًا بالكامل كرمز البداية لتوليد decoder_input_values. إذا تم استخدام past_key_values، فيجب إدخال decoder_input_values الأخيرة فقط بشكل اختياري (انظر past_key_values).

  • decoder_attention_mask (torch.LongTensor بشكل (batch_size, target_sequence_length), اختياري) — السلوك الافتراضي: إنشاء متجه يتجاهل رموز الحشو في decoder_input_values. سيتم استخدام قناع السببية أيضًا بشكل افتراضي.

    إذا كنت ترغب في تغيير سلوك الحشو، فيجب عليك قراءة SpeechT5Decoder._prepare_decoder_attention_mask وتعديله حسب احتياجاتك. راجع الشكل 1 في الورقة البحثية لمزيد من المعلومات حول الاستراتيجية الافتراضية.

  • encoder_outputs (tuple[tuple[torch.Tensor]]، اختياري) — مجموعة (توبل) تتكون من (last_hidden_state، اختياري: hidden_states، اختياري: attentions) last_hidden_state ذو الشكل (batch_size, sequence_length, hidden_size)، اختياري) هو تسلسل من حالات المخفية (hidden-states) عند مخرج الطبقة الأخيرة من المشفر. يُستخدم في الانتباه المتقاطع (cross-attention) داخل المُفكِّك (decoder).
  • past_key_values (~cache_utils.Cache, اختياري) — حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي وكتل الانتباه المتقاطع) يمكن استخدامها لتسريع فك الترميز التسلسلي. يتكون هذا عادةً من past_key_values الذي يعيده النموذج في مرحلة سابقة من فك الترميز، عندما use_cache=True أو config.use_cache=True.

    يُسمح فقط بمرجع Cache كمدخل، راجع دليل ذاكرة kv لدينا. إذا لم يتم تمرير past_key_values، فسيتم تهيئة DynamicCache افتراضياً.

    سيُخرج النموذج نفس صيغة الكاش التي تُمرَّر كمدخل.

    عند استخدام past_key_values، يُتوقَّع من المستخدم إدخال input_ids غير المعالجة فقط (تلك التي لم تُقدَّم حالات مفاتيحها وقيمها السابقة إلى هذا النموذج) بأبعاد (batch_size, unprocessed_length) بدلاً من جميع input_ids بأبعاد (batch_size, sequence_length).

  • use_cache (bool، اختياري) — إذا تم تعيينه إلى True، تُعاد حالات المفاتيح والقيم past_key_values ويمكن استخدامها لتسريع فك الترميز (انظر past_key_values).
  • output_attentions (bool، اختياري) — ما إذا كان يجب إرجاع تensors الانتباه لجميع طبقات الانتباه أم لا. راجع attentions ضمن tensors المُرجعة لمزيد من التفاصيل.
  • output_hidden_states (bool، اختياري) — ما إذا كان يجب إرجاع حالات الطبقات المخفية لجميع الطبقات. راجع hidden_states ضمن الموترات المُرجعة للحصول على مزيد من التفاصيل.
  • return_dict (bool، اختياري) — ما إذا كان يجب إرجاع ModelOutput بدلاً من tuple عادي.
  • speaker_embeddings (torch.Tensor من الشكل (batch_size, config.speaker_embedding_dim)، اختياري) — مصفوفة تحتوي على تمثيلات المتحدثين.
  • labels (torch.Tensor من الشكل (batch_size, sequence_length, config.num_mel_bins)، اختياري) — قيم رقمية عشرية لطيف المييل (mel spectrogram) المستهدف. يمكن الحصول على الأطياف باستخدام SpeechT5Processor. راجع SpeechT5Processor.call() للتفاصيل.
  • stop_labels (torch.Tensor من الشكل (batch_size, sequence_length)، اختياري) — مصفوفة ثنائية تشير إلى موضع رمز التوقف في التسلسل.

يعيد

Seq2SeqSpectrogramOutput أو tuple(torch.Tensor)

Seq2SeqSpectrogramOutput أو مجموعة (tuple) من torch.Tensor (في حال تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة تعتمد على الإعداد (SpeechT5Config) والمدخلات.

تتجاوز طريقة SpeechT5ForSpeechToSpeech الخاصة بالتقديم (forward) الطريقة الخاصة __call__.

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

  • loss (torch.Tensor of shape (1,), اختياري, يُعاد عند توفير labels) — خسارة توليد الطيف الصوتي.

  • مطياف الصوت (torch.Tensor من الشكل (batch_size, sequence_length, num_bins)) — مطياف الصوت المتوقع.

  • past_key_values (EncoderDecoderCache، اختياري، يُعاد عند تمرير use_cache=True أو عند تعيين config.use_cache=True) — إنه كائن من نوع EncoderDecoderCache. لمزيد من التفاصيل، راجع دليل ذاكرة kv.

    تحتوي على حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي وكتل الانتباه المتقاطع) يمكن استخدامها (انظر مدخل past_key_values) لتسريع فك الترميز التسلسلي.

  • decoder_hidden_states (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_hidden_states=True أو عند تعيين config.output_hidden_states=True) — مجموعة من torch.Tensor (واحدة لإخراج الطبقات المضمنة، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لإخراج كل طبقة) بأبعاد (batch_size, sequence_length, hidden_size).

    حالات المخفية (Hidden states) لمفكّك الترميز (decoder) عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي (initial embedding).

  • decoder_attentions (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_attentions=True أو عند تعيين config.output_attentions=True) — مجموعة من torch.Tensor (واحدة لكل طبقة) بأبعاد (batch_size, num_heads, sequence_length, sequence_length).

    أوزان الانتباه في المُفكِّك، بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

  • cross_attentions (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_attentions=True أو عند تعيين config.output_attentions=True) — مجموعة من torch.Tensor (واحدة لكل طبقة) بأبعاد (batch_size, num_heads, sequence_length, sequence_length).

    أوزان الانتباه لطبقة الانتباه المتقاطع في المُفكِّك، بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه المتقاطع.

  • encoder_last_hidden_state (torch.Tensor من الشكل (batch_size, sequence_length, hidden_size)، اختياري) — تسلسل حالات مخفية عند مخرج الطبقة الأخيرة من مُشفِّر النموذج.

  • encoder_hidden_states (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_hidden_states=True أو عند تعيين config.output_hidden_states=True) — مجموعة من torch.Tensor (واحدة لإخراج الطبقات المضمنة، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لإخراج كل طبقة) من الشكل (batch_size, sequence_length, hidden_size).

    حالات المخفية للمشفّر عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي.

  • encoder_attentions (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_attentions=True أو عند تعيين config.output_attentions=True) — مجموعة من torch.Tensor (واحدة لكل طبقة) بأبعاد (batch_size, num_heads, sequence_length, sequence_length).

    أوزان الانتباه في المُشفِّر، بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

مثال:

>>> from transformers import SpeechT5Processor, SpeechT5ForSpeechToSpeech, SpeechT5HifiGan, set_seed
>>> from datasets import load_dataset
>>> import torch

>>> dataset = load_dataset(
...     "hf-internal-testing/librispeech_asr_demo", "clean", split="validation"
... )  # doctest: +IGNORE_RESULT
>>> dataset = dataset.sort("id")
>>> sampling_rate = dataset.features["audio"].sampling_rate

>>> processor = SpeechT5Processor.from_pretrained("microsoft/speecht5_vc")
>>> model = SpeechT5ForSpeechToSpeech.from_pretrained("microsoft/speecht5_vc")
>>> vocoder = SpeechT5HifiGan.from_pretrained("microsoft/speecht5_hifigan")

>>> # audio file is decoded on the fly
>>> inputs = processor(audio=dataset[0]["audio"]["array"], sampling_rate=sampling_rate, return_tensors="pt")

>>> speaker_embeddings = torch.zeros((1, 512))  # or load xvectors from a file

>>> set_seed(555)  # make deterministic

>>> # generate speech
>>> speech = model.generate_speech(inputs["input_values"], speaker_embeddings, vocoder=vocoder)
>>> speech.shape
torch.Size([77824])

generate_speech

< >

( input_values: Tensorspeaker_embeddings: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = Nonethreshold: float = 0.5minlenratio: float = 0.0maxlenratio: float = 20.0vocoder: typing.Optional[torch.nn.Module] = Noneoutput_cross_attentions: bool = Falsereturn_output_lengths: bool = False ) → tuple(torch.Tensor) comprising various elements depending on the inputs

المعاملات

  • 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، يجب استخدام SpeechT5Processor للوسادة (padding) والتحويل إلى tensor من النوع torch.Tensor. راجع SpeechT5Processor.call() للتفاصيل.

    يمكن الحصول على القيم عن طريق تحميل ملف صوتي من نوع .flac أو .wav في مصفوفة من النوع list[float]، أو numpy.ndarray أو torch.Tensor، على سبيل المثال عبر مكتبة torchcodec (pip install torchcodec) أو مكتبة soundfile (pip install soundfile). لتجهيز المصفوفة إلى input_values، يجب استخدام SpeechT5Processor لعمل التعبئة والتحويل إلى متجه من النوع torch.Tensor. راجع SpeechT5Processor.call() للتفاصيل.

  • speaker_embeddings (torch.Tensor من الشكل (batch_size, config.speaker_embedding_dim)، اختياري) — مصفوفة تحتوي على تمثيلات المتحدثين.
  • attention_mask (torch.LongTensor بشكل (batch_size, sequence_length), اختياري) — قناع لتجنب تنفيذ الالتفاف والانتباه على فهارس رموز الحشو. القيم المختارة للقناع في [0, 1]:
    • 1 للرموز التي لم تُقنَّع،
    • 0 للرموز التي تم إخفاؤها.

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

  • threshold (float، اختياري، القيمة الافتراضية 0.5) — تنتهي التسلسل المولّد عندما تتجاوز احتمالية رمز الإيقاف المتوقع هذه القيمة.
  • minlenratio (float، اختياري، القيمة الافتراضية 0.0) — يُستخدم لحساب الحد الأدنى للطول المطلوب لسلسلة الإخراج.
  • maxlenratio (float، اختياري، القيمة الافتراضية 20.0) — يُستخدم لحساب الحد الأقصى المسموح به لطول تسلسل الإخراج.
  • vocoder (nn.Module, اختياري، القيمة الافتراضية None) — المُصوِّت الذي يحوّل طيف الميّل إلى موجة صوتية. إذا كانت None، فإن المخرَج هو طيف الميّل.
  • output_cross_attentions (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب إرجاع تensors الانتباه لطبقات الانتباه المتقاطع في المُفكِّك أم لا.
  • return_output_lengths (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب إرجاع أطوال الطيف الصوتي/الموجة الصوتية الفعلية أم لا.

يعيد

tuple(torch.Tensor) يتكوّن من عناصر مختلفة اعتمادًا على المدخلات

  • عندما تكون قيمة return_output_lengths False
    • مطياف التردد (اختياري، يُعاد عند عدم تقديم vocoder) torch.Tensor من الشكل (output_sequence_length, config.num_mel_bins) — مطياف log-mel المتوقع.
    • waveform (اختياري، يُعاد عند توفير vocoder) torch.Tensor من الشكل (num_frames,) — موجة الصوت المتوقعة.
    • cross_attentions (اختياري، يُعاد عند تعيين output_cross_attentions إلى True) torch.Tensor بأبعاد (config.decoder_layers, config.decoder_attention_heads, output_sequence_length, input_sequence_length) — مخرجات طبقات الانتباه المتقاطع في المُفكِّك.
  • عندما تكون return_output_lengths قيمة True
    • الطيف الصوتي (اختياري، يُعاد عند عدم تقديم vocoder) torch.Tensor من الشكل (batch_size, output_sequence_length, config.num_mel_bins) — الأطياف الصوتية اللوغاريتمية المتوقعة المُحشوة حتى الطول الأقصى.
    • spectrogram_lengths (اختياري، يُعاد عند عدم تقديم vocoder) list[Int] — قائمة بجميع الأطوال الفعلية لكل طيف صوتي.
    • الموجات الصوتية (اختياري، يُعاد عند توفير vocoder) torch.Tensor من الشكل (batch_size, num_frames) — الموجات الصوتية المتوقعة للكلام، وقد تم توسيدها حتى الطول الأقصى.
    • waveform_lengths (اختياري، يُعاد عند توفير vocoder) list[Int] — قائمة بجميع الأطوال الفعلية لكل موجة صوتية.
    • cross_attentions (اختياري، يُعاد عند تعيين output_cross_attentions إلى True) torch.Tensor بأبعاد (batch_size, config.decoder_layers, config.decoder_attention_heads, output_sequence_length, input_sequence_length) — مخرجات طبقات الانتباه المتقاطع في المُفكِّك.

يحوّل موجة صوت خام إلى سلسلة من مطيافات ميل، ثم تُعاد تحويلها إلى موجة صوت باستخدام مُصوِّت.

SpeechT5HifiGan

فئة transformers.SpeechT5HifiGan

< >

( config: SpeechT5HifiGanConfig )

المعاملات

  • config (SpeechT5HifiGanConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعداد إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

مُصوِّت HiFi-GAN.

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( spectrogram: Tensor**kwargs ) → torch.Tensor

المعاملات

  • spectrogram (torch.Tensor) — مصفوفة تحتوي على مطيافات log-mel. يمكن أن تكون مجمّعة (batched) وبشكل (batch_size, sequence_length, config.model_in_dim)، أو غير مجمّعة وبشكل (sequence_length, config.model_in_dim).

يعيد

torch.Tensor

مصفوفة تحتوي على موجة الصوت. إذا كان الطيف الصوتي المدخل مُجمَّعًا (batched)، فستكون على الشكل (batch_size, num_frames,). وإذا لم يكن مُجمَّعًا، فستكون على الشكل (num_frames,).

يحوّل طيف لوج-ميل (log-mel spectrogram) إلى موجة صوتية. عند تمرير دفعة من طيفات لوج-ميل، تُعاد دفعة من الموجات الصوتية. عند تمرير طيف لوج-ميل واحد غير مُجمَّع، تُعاد موجة صوتية واحدة غير مُجمَّعة.

Update on GitHub