Transformers documentation
مُرمِّز الصوت لـ Pocket TTS
تمت مساهمة هذا النموذج في 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_valuesPocketTTSAudioTokenizerConfig
فئة transformers.PocketTTSAudioTokenizerConfig
< source >( 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
< source >( 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
< source >( 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
< source >( config: PocketTTSAudioTokenizerConfig )
المعاملات
- config (PocketTTSAudioTokenizerConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
مُرمِّز الصوت Pocket TTS: مُرمِّز بهيكل Mimi يحتوي على كامن مستمر ذي 32 بُعداً عند 12.5 هرتز (وهو VAE-GAN الخاص بنماذج اللغة الصوتية المستمرة)، يحوّل الصوت بمعدل 24 كيلوهرتز إلى كامنات ويعيدها.
يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).
هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.
encode
< source >( 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
< source >( latents: Tensordecoder_past_key_values: transformers.cache_utils.Cache | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> )
المعاملات
يفكك الكامنات المستمرة إلى صوت: تُسقط الكامنات إلى hidden_size، ثم تُفكك بواسطة PocketTTSAudioTokenizerDecoderModel.forward().
forward
< source >( 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
< source >( config: PocketTTSAudioTokenizerEncoderConfig )
المعاملات
- config (PocketTTSAudioTokenizerEncoderConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
النصف المُشفِّر من PocketTTSAudioTokenizer: مُشفِّر SEANet، ومحوّل المُشفِّر، والخفض، من الصوت إلى الكمّات المستمرة.
يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).
هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.
forward
< source >( 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
< source >( config: PocketTTSAudioTokenizerDecoderConfig )
المعاملات
- config (PocketTTSAudioTokenizerDecoderConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
نصف المُفكِّك في PocketTTSAudioTokenizer: التوسيع، ومحوّل المُفكِّك، ومُفكِّك SEANet، من الكمونيات المستمرة إلى الصوت.
يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).
هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.
forward
< source >( 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) — أوزان الانتباه لكل طبقة محوّل المُفكِّك.