Transformers documentation

مُرمِّز الصوت لـ Pocket TTS

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

تمت مساهمة هذا النموذج في Hugging Face Transformers في 2026-10-20.

مُرمِّز الصوت لـ Pocket TTS

نظرة عامة

مُرمِّز الصوت في Pocket TTS: وهو مُرمِّز (codec) يعتمد على بنية Mimi (تحويلات SEANet ومحوّل سببي صغير على كل جانب)، حيث يُستبدل مُكمِّم المتجهات المتبقية فيه عنق زجاجة مستمر بعرض 32 بُعداً، وهو نموذج VAE-GAN الخاص بـ Continuous Audio Language Models. يقوم بتحويل الصوت بمعدل 24 كيلوهرتز إلى كائنات كامنة (latents) بمعدل 12.5 هرتز والعكس. يمكن تحميل مُرمِّزه ومُفكِّكه بشكل مستقل (PocketTTSAudioTokenizerEncoderModel، PocketTTSAudioTokenizerDecoderModel). وهو يمثل audio_tokenizer الخاص بـ PocketTTSProcessor، وهو مشترك بين جميع نقاط التفتيش (checkpoints) الخاصة بـ Pocket TTS: حيث يقوم المُعالِج بتشفير أوامر الصوت باستخدامه وفك تشفير الكائنات الكامنة المُولَّدة.

تمت مساهمة هذا النموذج من قِبل Eustache Le Bihan. الكود الأصلي هو kyutai-labs/pocket-tts.

الاستخدام

from datasets import Audio, load_dataset
from transformers import AutoFeatureExtractor, AutoModel

model = AutoModel.from_pretrained("eustlb/pocket-tts-audio-tokenizer", device_map="auto")
feature_extractor = AutoFeatureExtractor.from_pretrained("eustlb/pocket-tts-audio-tokenizer")

dataset = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
dataset = dataset.cast_column("audio", Audio(sampling_rate=24000))
inputs = feature_extractor(dataset[0]["audio"]["array"], sampling_rate=24000, return_tensors="pt").to(model.device)

latents = model.encode(**inputs).latents
audio_values = model.decode(latents).audio_values

PocketTTSAudioTokenizerConfig

فئة transformers.PocketTTSAudioTokenizerConfig

< >

( 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 = Nonesampling_rate: int = 24000audio_channels: int = 1hidden_size: int = 512num_filters: int = 64num_residual_layers: int = 1upsampling_ratios: list[int] | None = Nonekernel_size: int = 7last_kernel_size: int = 3residual_kernel_size: int = 3dilation_growth_rate: int = 2use_causal_conv: bool = Truepad_mode: str = 'constant'compress: int = 2trim_right_ratio: float = 1.0use_conv_shortcut: bool = Falseupsample_groups: int = 512num_hidden_layers: int = 2intermediate_size: int = 2048num_attention_heads: int = 8num_key_value_heads: int = 8head_dim: int | None = Nonehidden_act: str = 'gelu_pytorch_tanh'max_position_embeddings: int = 8000initializer_range: float = 0.02norm_eps: float = 1e-05use_cache: bool = Falseuse_streaming: bool = Falserope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Nonesliding_window: int = 250attention_dropout: float | int = 0.0layer_scale_initial_scale: float = 0.01attention_bias: bool = Falselatent_stride: int = 16latent_dim: int = 32 )

المعاملات

  • sampling_rate (int, اختياري، القيمة الافتراضية 24000) — معدل أخذ العينات الذي يجب أن تُرقَم به ملفات الصوت، ويُعبَّر عنه بالهرتز (Hz).
  • audio_channels (int، اختياري، القيمة الافتراضية 1) — عدد القنوات في بيانات الصوت؛ نقاط التفتيش المنشورة، وهذا التنفيذ، أحادية القناة.
  • hidden_size (int، اختياري، القيمة الافتراضية 512) — أبعاد التمثيلات المخفية.
  • num_filters (int، اختياري، القيمة الافتراضية 64) — عدد نوى الالتفاف في طبقة PocketTTSAudioTokenizerConv1d الأولى من المُشفِّر.
  • num_residual_layers (int، اختياري، القيمة الافتراضية 1) — عدد طبقات الباقي.
  • upsampling_ratios (list[int], اختياري) — نسب حجم النواة والخطوة للتمارين المعكوسة في المُفكِّك؛ يستخدم المُرمِّزها بالترتيب العكسي. إذا لم يُحدَّد، فإن القيمة الافتراضية هي [6, 5, 4].
  • kernel_size (int، اختياري، القيمة الافتراضية 7) — حجم نواة الالتفاف.
  • last_kernel_size (int، اختياري، القيمة الافتراضية 3) — حجم النواة لطبقة الالتفاف الأخيرة.
  • residual_kernel_size (int، اختياري، القيمة الافتراضية 3) — حجم النواة للطبقات المتبقية.
  • dilation_growth_rate (int، اختياري، القيمة الافتراضية 2) — مقدار زيادة التمدد (dilation) في كل طبقة.
  • use_causal_conv (bool، اختياري، القيمة الافتراضية True) — ما إذا كان سيتم استخدام التمرير التكاملي السببي بالكامل.
  • pad_mode (str، اختياري، القيمة الافتراضية "constant") — وضع الحشو للعمليات التجميعية.
  • compress (int، اختياري، القيمة الافتراضية 2) — تقليل الأبعاد في الفروع المتبقية.
  • trim_right_ratio (float، اختياري، القيمة الافتراضية 1.0) — النسبة المستخدمة لقص الجزء الأيمن من الالتفاف المحوّر في إطار الإعداد use_causal_conv = True. إذا كانت تساوي 1.0، فهذا يعني أن كل عملية القص تتم على الجانب الأيمن.
  • use_conv_shortcut (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم استخدام عملية التمرير (convolution) كاتصال تخطي (skip connection) في كتل SEANet المتبقية؛ حيث لا تفعل نقاط التفتيش (checkpoints) المنشورة ذلك.
  • upsample_groups (int، اختياري، القيمة الافتراضية 512) — عدد مجموعات الالتفاف المعكوس الذي يعيد حجم الكامنات إلى معدل SEANet.
  • num_hidden_layers (int، اختياري، القيمة الافتراضية 2) — عدد الطبقات المخفية في مُفكِّك Transformer.
  • intermediate_size (int، اختياري، القيمة الافتراضية 2048) — بعد تمثيلات MLP.
  • num_attention_heads (int، اختياري، القيمة الافتراضية 8) — عدد رؤوس الانتباه لكل طبقة انتباه في مُفكِّك Transformer.
  • num_key_value_heads (int، اختياري، القيمة الافتراضية 8) — هذا هو عدد رؤوس key_value التي يجب استخدامها لتنفيذ Grouped Query Attention. إذا كان num_key_value_heads=num_attention_heads، فسيستخدم النموذج Multi Head Attention (MHA)، وإذا كان num_key_value_heads=1 فسيستخدم النموذج Multi Query Attention (MQA)، وإلا فسيتم استخدام GQA. عند تحويل نقطة تفتيش متعددة الرؤوس إلى نقطة تفتيش GQA، يجب بناء كل مجموعة من رؤوس key و value عن طريق تجميع المتوسط لجميع الرؤوس الأصلية داخل تلك المجموعة. لمزيد من التفاصيل، راجع هذا الورقة. إذا لم يتم تحديد القيمة، فستكون القيمة الافتراضية هي num_attention_heads.
  • head_dim (int، اختياري) — بعد بُعد رأس الانتباه. إذا كان None، فسيتم افتراضه على hidden_size // num_attention_heads
  • hidden_act (str، اختياري، القيمة الافتراضية gelu_pytorch_tanh) — دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، "gelu"، "relu"، "silu"، وغيرها.
  • max_position_embeddings (int، اختياري، القيمة الافتراضية 8000) — أقصى طول تسلسل قد يُستخدم مع هذا النموذج.
  • initializer_range (float، اختياري، القيمة الافتراضية 0.02) — الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.
  • norm_eps (float, اختياري، القيمة الافتراضية 1e-05) — قيمة الإيبسلون المستخدمة في طبقات تطبيع الطبقة.
  • use_cache (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب على النموذج إرجاع قيم المفاتيح/القيم الأخيرة للانتباه (لا تستخدمها جميع النماذج). لا ينطبق إلا إذا كان config.is_decoder=True أو عندما يكون النموذج نموذجًا توليديًا يعتمد على المُفكِّك فقط.
  • use_streaming (bool، اختياري، القيمة الافتراضية False) — ما إذا كان المُشفِّر يبثّ البيانات افتراضيًا: في هذه الحالة يعيد كاش التوسيد وكاش المفاتيح والقيم لتُمرَّر إلى الاستدعاء التالي.
  • rope_parameters (Union[~modeling_rope_utils.RopeParameters, dict], اختياري) — قائمة تحتوي على معاملات التهيئة الخاصة بتضمينات RoPE. يجب أن تحتوي القائمة على قيمة لـ rope_theta، ومعاملات اختيارية تُستخدم للتوسيع في حال رغبتَ في استخدام RoPE مع max_position_embeddings أطول.
  • sliding_window (int، اختياري، القيمة الافتراضية 250) — حجم نافذة الانتباه المنزلقة. إذا كانت None، فلا تُطبَّق نافذة منزلقة.
  • attention_dropout (Union[float, int]، اختياري، القيمة الافتراضية 0.0) — نسبة إسقاط (dropout) لاحتمالات الانتباه.
  • layer_scale_initial_scale (float, اختياري، القيمة الافتراضية 0.01) — المقياس المستخدم في طبقات الانتباه الذاتي. 0.1 للنموذج الأساسي، و1e-6 للنماذج الكبيرة. اضبط القيمة على 0 لتعطيل مقياس الطبقة.
  • attention_bias (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم استخدام انحياز في طبقات الإسقاط للاستعلام والمفتاح والقيمة والمخرجات أثناء الانتباه الذاتي.
  • latent_stride (int، اختياري، القيمة الافتراضية 16) — عدد إطارات SEANet لكل إطار كامن: وهو خطوة التمرير (convolution) في المُشفِّر التي تُقلِّل حجم مخرجات SEANet إلى الإطارات الكامنة، وخطوة التمرير المعكوس (transposed) في المُفكِّك الذي يُعيد رفع حجمها. يغطي الإطار الكامن prod(upsampling_ratios) * latent_stride من عينات الصوت (frame_size، وقيمتها 1920 في نقاط التفتيش المُصدَّرة).
  • latent_dim (int، اختياري، القيمة الافتراضية 32) — أبعاد الكمّات المستمرة. يُستبدل مُكمِّم المتجهات المتبقية في Mimi بهذا عنق الزجاجة: تُخرج طبقة الالتفاف المُصغِّرة في المُشفِّر latent_dim قناة، ثم يعيد المُفكِّك إسقاطها إلى hidden_size قبل عملية التكبير.

هذه فئة الإعدادات (Configuration) لتخزين إعدادات نموذج PocketTTSAudioTokenizerModel. تُستخدم لاستحداث نموذج Pocket Tts Audio Tokenizer وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث فئة الإعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ eustlb/pocket-tts-audio-tokenizer

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

مثال:

>>> from transformers import PocketTTSAudioTokenizerConfig, PocketTTSAudioTokenizerModel

>>> # a full codec, and its decoder alone
>>> model = PocketTTSAudioTokenizerModel(PocketTTSAudioTokenizerConfig())
>>> decoder_only = PocketTTSAudioTokenizerModel(PocketTTSAudioTokenizerConfig(encoder_config=None))

PocketTTSAudioTokenizerEncoderConfig

فئة transformers.PocketTTSAudioTokenizerEncoderConfig

< >

( 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 = Nonesampling_rate: int = 24000audio_channels: int = 1hidden_size: int = 512num_filters: int = 64num_residual_layers: int = 1upsampling_ratios: list[int] | None = Nonekernel_size: int = 7last_kernel_size: int = 3residual_kernel_size: int = 3dilation_growth_rate: int = 2use_causal_conv: bool = Truepad_mode: str = 'constant'compress: int = 2trim_right_ratio: float = 1.0use_conv_shortcut: bool = Falseupsample_groups: int = 512num_hidden_layers: int = 2intermediate_size: int = 2048num_attention_heads: int = 8num_key_value_heads: int = 8head_dim: int | None = Nonehidden_act: str = 'gelu_pytorch_tanh'max_position_embeddings: int = 8000initializer_range: float = 0.02norm_eps: float = 1e-05use_cache: bool = Falseuse_streaming: bool = Falserope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Nonesliding_window: int = 250attention_dropout: float | int = 0.0layer_scale_initial_scale: float = 0.01attention_bias: bool = Falselatent_stride: int = 16latent_dim: int = 32 )

تكوين النصف المُشفِّر من PocketTTSAudioTokenizer (مُشفِّر SEANet، ومحوّل المُشفِّر، والخفض). يتشارك كل حقل مع PocketTTSAudioTokenizerConfig (راجع توثيقه لمعرفة الحُجج)، لذا يمكن تحميله مباشرةً من نقطة تحقق كاملة لـ PocketTTSAudioTokenizer.

PocketTTSAudioTokenizerDecoderConfig

فئة transformers.PocketTTSAudioTokenizerDecoderConfig

< >

( 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 = Nonesampling_rate: int = 24000audio_channels: int = 1hidden_size: int = 512num_filters: int = 64num_residual_layers: int = 1upsampling_ratios: list[int] | None = Nonekernel_size: int = 7last_kernel_size: int = 3residual_kernel_size: int = 3dilation_growth_rate: int = 2use_causal_conv: bool = Truepad_mode: str = 'constant'compress: int = 2trim_right_ratio: float = 1.0use_conv_shortcut: bool = Falseupsample_groups: int = 512num_hidden_layers: int = 2intermediate_size: int = 2048num_attention_heads: int = 8num_key_value_heads: int = 8head_dim: int | None = Nonehidden_act: str = 'gelu_pytorch_tanh'max_position_embeddings: int = 8000initializer_range: float = 0.02norm_eps: float = 1e-05use_cache: bool = Falseuse_streaming: bool = Falserope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Nonesliding_window: int = 250attention_dropout: float | int = 0.0layer_scale_initial_scale: float = 0.01attention_bias: bool = Falselatent_stride: int = 16latent_dim: int = 32 )

إعدادات نصف المُفكِّك (decoder) في PocketTTSAudioTokenizer (الترقية، محوّل المُفكِّك، ومُفكِّك SEANet). يتشارك كل حقل مع PocketTTSAudioTokenizerConfig (راجع توثيقه لمعرفة المعاملات)، لذا يمكن تحميله مباشرة من نقطة تفتيش كاملة لـ PocketTTSAudioTokenizer.

PocketTTSAudioTokenizerModel

فئة transformers.PocketTTSAudioTokenizerModel

< >

( config: PocketTTSAudioTokenizerConfig )

المعاملات

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

مُرمِّز الصوت Pocket TTS: مُرمِّز بهيكل Mimi يحتوي على كامن مستمر ذي 32 بُعداً عند 12.5 هرتز (وهو VAE-GAN الخاص بنماذج اللغة الصوتية المستمرة)، يحوّل الصوت بمعدل 24 كيلوهرتز إلى كامنات ويعيدها.

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

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

encode

< >

( input_values: Tensorpadding_mask: typing.Optional[torch.Tensor] = Noneencoder_past_key_values: transformers.cache_utils.Cache | None = Nonepadding_cache: transformers.models.pocket_tts_audio_tokenizer.modeling_pocket_tts_audio_tokenizer.PocketTTSAudioTokenizerConv1dPaddingCache | None = Noneuse_streaming: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> )

المعاملات

  • input_values (torch.Tensor من الشكل (batch_size, audio_channels, num_samples)) — موجة صوتية، كما تُرجعها EncodecFeatureExtractor، حيث تُضيف أصفاراً في نهايتها حتى يصبح عدد العينات مضاعفاً لـ config.frame_size تماماً كما في الأصل.
  • padding_mask (torch.Tensor من الشكل (batch_size, num_samples)، اختياري) — قناع لعينات الصوت (1) على عكس الحشو (0)، ويُحسب منه latents_mask.
  • encoder_past_key_values (Cache، اختياري) — ذاكرة مؤقتة لمفاتيح وقيم محوّل المُشفِّر، تُعاد من الاستدعاء السابق عند البث.
  • padding_cache (PocketTTSAudioTokenizerConv1dPaddingCache، اختياري) — ذاكرة مؤقتة للتوسيط الخاصة باللافحات السببية في المُشفِّر، تُعاد من الاستدعاء السابق عند البث.
  • use_streaming (bool, اختياري) — ما إذا كان سيتم الترميز في وضع البث، مع إرجاع الكاشات لتمريرها إلى الاستدعاء التالي.

يقوم بتشفير الصوت إلى كامنات مستمرة من الشكل (batch_size, num_frames, latent_dim): وهي الكامنات الخاصة بـ PocketTTSAudioTokenizerEncoderModel.forward()، مع وضع الإطارات أولاً.

decode

< >

( latents: Tensordecoder_past_key_values: transformers.cache_utils.Cache | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> )

المعاملات

  • latents (torch.Tensor من الشكل (batch_size, num_frames, latent_dim)) — متغيرات مستمرة (latents) لفك الترميز، حيث يمثل كل إطار config.frame_size عينة صوت.
  • decoder_past_key_values (Cache، اختياري) — ذاكرة مؤقتة لمفاتيح وقيم محوّل المُفكِّك، تُعاد من الاستدعاء السابق عند فك الترميز على دفعات.

يفكك الكامنات المستمرة إلى صوت: تُسقط الكامنات إلى hidden_size، ثم تُفكك بواسطة PocketTTSAudioTokenizerDecoderModel.forward().

forward

< >

( input_values: Tensorpadding_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → PocketTTSAudioTokenizerOutput or tuple(torch.Tensor)

المعاملات

  • input_values (torch.Tensor من الشكل (batch_size, audio_channels, num_samples)) — موجة صوتية، كما تُعاد بواسطة EncodecFeatureExtractor.
  • padding_mask (torch.Tensor من الشكل (batch_size, num_samples)، اختياري) — قناع لعينات الصوت (1) على عكس الحشو (0).

يعيد

PocketTTSAudioTokenizerOutput أو tuple(torch.Tensor)

أُكْجَاز PocketTTSAudioTokenizerOutput أو مجموعة مرتبة من torch.Tensor (في حال تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة تعتمد على الإعدادات (PocketTTSAudioTokenizerConfig) والمدخلات.

تتجاوز طريقة PocketTTSAudioTokenizerModel الخاصة بـ forward الطريقة الخاصة __call__.

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

  • latents (torch.Tensor من الشكل (batch_size, num_frames, latent_dim)) — الكامنات المستمرة للصوت.
  • latents_mask (torch.LongTensor من الشكل (batch_size, num_frames)، اختياري) — قناع للإطارات الكامنة المحسوبة من عينات الصوت (1) بدلاً من الحشو (0).
  • audio_values (torch.Tensor من الشكل (batch_size, audio_channels, num_samples)) — موجة الصوت المُعاد بناؤها من المتغيرات الكامنة.
  • hidden_states (tuple(torch.Tensor)، اختياري، يُعاد عند output_hidden_states=True) — حالات المخفية لمحوّل المُشفِّر عند مخرج كل طبقة بالإضافة إلى مدخلها.
  • attentions (tuple(torch.Tensor)، اختياري، يُعاد عند output_attentions=True) — أوزان الانتباه لكل طبقة محوّل المُشفِّر.

PocketTTSAudioTokenizerEncoderModel

فئة transformers.PocketTTSAudioTokenizerEncoderModel

< >

( config: PocketTTSAudioTokenizerEncoderConfig )

المعاملات

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

النصف المُشفِّر من PocketTTSAudioTokenizer: مُشفِّر SEANet، ومحوّل المُشفِّر، والخفض، من الصوت إلى الكمّات المستمرة.

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

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

forward

< >

( input_values: Tensorpadding_mask: typing.Optional[torch.Tensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Nonepadding_cache: transformers.models.pocket_tts_audio_tokenizer.modeling_pocket_tts_audio_tokenizer.PocketTTSAudioTokenizerConv1dPaddingCache | None = Noneuse_streaming: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → PocketTTSAudioTokenizerEncoderModelOutput or tuple(torch.Tensor)

المعاملات

  • input_values (torch.Tensor من الشكل (batch_size, channels, sequence_length)) — قيمات عشرية لموجة الصوت المدخلة.
  • padding_mask (torch.Tensor من الشكل (batch_size, channels, sequence_length)، اختياري) — يُحدد المدخلات التي يجب تجاهلها بسبب الحشو، حيث تكون العناصر إما 1 لـ غير مقنّعة أو 0 لـ مقنّعة.
  • past_key_values (Cache، اختياري) — حالات مخفية محسوبة مسبقاً (المفاتيح والقيم في كتل الانتباه الذاتي) لمحوّل المُشفِّر، وتُستخدم لتسريع التشفير المتدفق.
  • padding_cache (PocketTTSAudioTokenizerConv1dPaddingCache، اختياري) — ذاكرة مؤقتة للتبطين الخاصة باللافحات السببية، تُستخدم للتشفير البثي.
  • use_streaming (bool, اختياري) — ما إذا كان سيتم الترميز في وضع البث، مع إرجاع الكاشات لتمريرها إلى الاستدعاء التالي.
  • Encodes موجة الصوت المدخلة إلى كامنات مستمرة من الشكل (batch_size, latent_dim, frames). —

يعيد

PocketTTSAudioTokenizerEncoderModelOutput أو tuple(torch.Tensor)

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

تُعيد طريقة PocketTTSAudioTokenizerEncoderModel الخاصة بالتقديم (forward) تعريف الطريقة الخاصة __call__.

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

  • latents (torch.Tensor من الشكل (batch_size, latent_dim, frames)) — كامنات مستمرة للصوت، إطار واحد لكل config.frame_size من عينات الصوت.
  • past_key_values (Cache، اختياري) — حالات مخفية محسوبة مسبقاً (المفاتيح والقيم في كتل الانتباه الذاتي) لمحوّل المُشفِّر، تُعاد عند البث.
  • padding_cache (PocketTTSAudioTokenizerConv1dPaddingCache، اختياري) — ذاكرة مؤقتة للتوسيد (Padding) للعمليات التلافيفية السببية في PocketTTSAudioTokenizerConv1d، لدعم البث عبر توسيد الذاكرة المؤقتة.
  • hidden_states (tuple(torch.Tensor)، اختياري، يُعاد عند output_hidden_states=True) — حالات المخفية لمحوّل المُشفِّر عند مخرج كل طبقة بالإضافة إلى مدخلها.
  • attentions (tuple(torch.Tensor)، اختياري، يُعاد عند output_attentions=True) — أوزان الانتباه لكل طبقة محوّل المُشفِّر.

PocketTTSAudioTokenizerDecoderModel

فئة transformers.PocketTTSAudioTokenizerDecoderModel

< >

( config: PocketTTSAudioTokenizerDecoderConfig )

المعاملات

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

نصف المُفكِّك في PocketTTSAudioTokenizer: التوسيع، ومحوّل المُفكِّك، ومُفكِّك SEANet، من الكمونيات المستمرة إلى الصوت.

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

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

forward

< >

( latents: Tensorpadding_mask: typing.Optional[torch.Tensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → PocketTTSAudioTokenizerDecoderOutput or tuple(torch.Tensor)

المعاملات

  • latents (torch.Tensor من الشكل (batch_size, hidden_size, frames)) — كُتل مستمرة (latents) لفك الترميز، كما تُحسب بواسطة PocketTTSAudioTokenizerModel.decode().
  • padding_mask (torch.Tensor من الشكل (batch_size, channels, sequence_length)، اختياري) — يُحدد المدخلات التي يجب تجاهلها بسبب الحشو، حيث تكون العناصر إما 1 لـ غير مقنّعة أو 0 لـ مقنّعة.
  • past_key_values (Cache، اختياري) — حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي) لمحوّل المُفكِّك، وتُستخدم لتسريع فك الترميز المتدفق.
  • Decodes الإطارات المعطاة إلى موجة صوتية ناتجة. لاحظ أن الناتج قد يكون أكبر قليلاً من —
  • input. في هذه الحالة، يمكن حذف أي خطوات إضافية في النهاية. —

يعيد

PocketTTSAudioTokenizerDecoderOutput أو tuple(torch.Tensor)

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

تُعيد طريقة PocketTTSAudioTokenizerDecoderModel الخاصة بالتقديم (forward) تعريف الطريقة الخاصة __call__.

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

  • audio_values (torch.Tensor من الشكل (batch_size, audio_channels, num_samples)، اختياري) — قيم الصوت المُفكّكة، المُستخرجة باستخدام جزء المُفكّك في PocketTTSAudioTokenizer.

  • decoder_past_key_values (Cache، اختياري) — حالات مخفية محسوبة مسبقاً (المفاتيح والقيم في كتل الانتباه الذاتي) يمكن استخدامها لتسريع فك الترميز التسلسلي لمحوّل المُفكِّك. يتكوّن هذا عادةً من past_key_values التي يعيدها النموذج في مرحلة سابقة من فك الترميز، عندما يكون use_cache=True أو config.use_cache=True.

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

    عند استخدام past_key_values، يمكن للمستخدم اختيارياً إدخال audio_values الأخيرة فقط أو `audio_codes (تلك التي لم تُقدَّم حالات مفاتيحها السابقة إلى هذا النموذج).

  • hidden_states (tuple(torch.Tensor)، اختياري، يُعاد عند output_hidden_states=True) — حالات المخفية لمحوّل المُفكِّك عند مخرج كل طبقة بالإضافة إلى مدخلها.

  • attentions (tuple(torch.Tensor)، اختياري، يُعاد عند output_attentions=True) — أوزان الانتباه لكل طبقة محوّل المُفكِّك.

Update on GitHub