# Bark

## نظرة عامة

[Bark](https://huggingface.co/suno/bark) هو نموذج لتحويل النص إلى كلام يعتمد على معمارية الترانسفورمر، وقد اقترحه Suno AI في [suno-ai/bark](https://github.com/suno-ai/bark).

يتكوّن Bark من أربعة نماذج رئيسية:

- [BarkSemanticModel](/docs/transformers/main/ar/model_doc/bark#transformers.BarkSemanticModel) (يُشار إليه أيضًا بنموذج «النص»): نموذج Transformer ذاتي التراجع السببي يأخذ نصًا مُرمَّزًا برموز كمدخل، ويتنبأ برموز نصية دلالية تلتقط معنى النص.
- [BarkCoarseModel](/docs/transformers/main/ar/model_doc/bark#transformers.BarkCoarseModel) (المعروف أيضًا بنموذج «الاستطيقا الخشنة»): ترانسفورمر سببي ذاتي التوليد، يأخذ كمدخلات نتائج نموذج [BarkSemanticModel](/docs/transformers/main/ar/model_doc/bark#transformers.BarkSemanticModel). يهدف إلى التنبؤ بكودكتيبات الصوت الأولى واللازمة لـ EnCodec.
- [BarkFineModel](/docs/transformers/main/ar/model_doc/bark#transformers.BarkFineModel) (نموذج «الصوتيات الدقيقة»)، هذه المرة محوّل مُشفِّر ذاتي غير سببي، يتنبأ تكراريًا بآخر كتيّبات الرموز بناءً على مجموع تمثيلات كتيّبات الرموز السابقة.
- بعد أن يتنبأ بجميع قنوات كتاب الرموز من [EncodecModel](/docs/transformers/main/ar/model_doc/encodec#transformers.EncodecModel)، يستخدم Bark ذلك لفك ترميز مصفوفة الصوت الناتجة.

يجب الإشارة إلى أن كلًا من الوحدات الثلاث الأولى يمكن أن تدعم تضمينات المتحدث الشرطية (conditional speaker embeddings) لتكييف الصوت الناتج وفقًا لصوت محدد مسبقًا.

ساهم [Yoach Lacombe (ylacombe)](https://huggingface.co/ylacombe) و[Sanchit Gandhi (sanchit-gandhi)](https://github.com/sanchit-gandhi) في هذا النموذج. يمكن العثور على الكود الأصلي [هنا](https://github.com/suno-ai/bark).

### تحسين Bark

يمكن تحسين Bark بعدد قليل من الأسطر الإضافية من الكود، مما **يقلل بصمة الذاكرة الخاصة به بشكل كبير** و**يسرّع الاستدلال**.

#### استخدام الدقة النصفية

يمكنك تسريع الاستدلال وتقليل بصمة الذاكرة بنسبة 50% ببساطة عن طريق تحميل النموذج بدقة نصفية.

```python
from transformers import BarkModel

model = BarkModel.from_pretrained("suno/bark-small", device_map="auto")
```

#### استخدام تفريغ المعالج

كما ذُكر أعلاه، يتكوّن Bark من أربعة نماذج فرعية، تُستدعى بالتتابع أثناء توليد الصوت. بعبارة أخرى، بينما يُستخدم أحد النماذج الفرعية، تبقى النماذج الفرعية الأخرى خاملة.

إذا كنت تستخدم بطاقة CUDA GPU أو Intel XPU، فإن الحل البسيط للاستفادة من تقليل حجم الذاكرة المستهلكة بنسبة 80% هو نقل النماذج الفرعية من الجهاز إلى CPU عندما تكون خاملة. تُسمى هذه العملية *النقل إلى CPU*. يمكنك استخدامه بسطر برمجي واحد على النحو التالي:

```python
model.enable_cpu_offload()
```

يُرجى ملاحظة أنه يجب تثبيت 🤗 Accelerate قبل استخدام هذه الميزة. [إليك طريقة تثبيته.](https://huggingface.co/docs/accelerate/basic_tutorials/install)

#### استخدام Flash Attention 2

Flash Attention 2 هي نسخة أسرع وأكثر تحسينًا من التحسين السابق.

##### التثبيت

أولاً، تحقق من توافق عتادك مع Flash Attention 2. يمكن العثور على أحدث قائمة بالأجهزة المتوافقة في [التوثيق الرسمي](https://github.com/Dao-AILab/flash-attention#installation-and-features). ثم [ثبّت](https://github.com/Dao-AILab/flash-attention#installation-and-features) أحدث إصدار من Flash Attention 2:

```bash
pip install -U flash-attn --no-build-isolation
```

##### الاستخدام

لتحميل نموذج باستخدام Flash Attention 2، يمكننا تمرير العلم `attn_implementation="flash_attention_2"` إلى [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained). سنقوم أيضًا بتحميل النموذج بدقة نصفية (مثل `torch.float16`)، بما أنه يؤدي إلى تدهور شبه معدوم في جودة الصوت لكنه يقلل استهلاك الذاكرة بشكل كبير ويسرّع الاستدلال:

```python
model = BarkModel.from_pretrained("suno/bark-small", attn_implementation="flash_attention_2", device_map="auto")
```

##### مقارنة الأداء

يُظهر المخطط أدناه زمن الاستجابة لتنفيذ الانتباه الأصلي (بدون تحسين) مقارنةً بـ Flash Attention 2. في جميع الحالات، قمنا بتوليد 400 رمز دلالي على بطاقة GPU من طراز A100 بسعة 40GB باستخدام PyTorch 2.1:

لإعطاء صورة أوضح، على بطاقة NVIDIA A100 وعند توليد 400 رمز دلالي بحجم دفعة (batch size) يساوي 16، يمكنك الحصول على [معدل إنتاجية](https://huggingface.co/blog/optimizing-bark#throughput) أعلى بـ 17 مرة، مع أن يكون أسرع بثانيتين مقارنةً بتوليد الجمل واحدة تلو الأخرى باستخدام التنفيذ الأصلي للنموذج. بمعنى آخر، سيتم توليد جميع العينات أسرع بـ 17 مرة.

#### دمج تقنيات التحسين

يمكنك دمج تقنيات التحسين، واستخدام CPU offload والدقة النصفية وFlash Attention 2 جميعها في آنٍ واحد.

```python
from transformers import BarkModel

# load in fp16 and use Flash Attention 2
model = BarkModel.from_pretrained("suno/bark-small", attn_implementation="flash_attention_2", device_map="auto")

# enable CPU offload
model.enable_cpu_offload()
```

اطّلع على المزيد حول تقنيات تحسين الاستدلال [هنا](https://huggingface.co/docs/transformers/perf_infer_gpu_one).

### نصائح للاستخدام

توفر Suno مكتبة من الإعدادات الصوتية المسبقة بعدة لغات [هنا](https://suno-ai.notion.site/8b8e8749ed514b0cbf3f699013548683?v=bc67cff786b04b50b3ceb756fd05f68c). كما تم رفع هذه الإعدادات في Hub [هنا](https://huggingface.co/suno/bark-small/tree/main/speaker_embeddings) أو [هنا](https://huggingface.co/suno/bark/tree/main/speaker_embeddings).

```python
from transformers import AutoProcessor, BarkModel

processor = AutoProcessor.from_pretrained("suno/bark")
model = BarkModel.from_pretrained("suno/bark", device_map="auto")

voice_preset = "v2/en_speaker_6"

inputs = processor("Hello, my dog is cute", voice_preset=voice_preset)

audio_array = model.generate(**inputs)
audio_array = audio_array.cpu().numpy().squeeze()
```

يمكن لـ Bark توليد كلام واقعي للغاية و**متعدد اللغات** بالإضافة إلى أصوات أخرى - بما في ذلك الموسيقى والضوضاء الخلفية ومؤثرات الصوت البسيطة.

```python
# Multilingual speech - simplified Chinese
inputs = processor("惊人的！我会说中文")

# Multilingual speech - French - let's use a voice_preset as well
inputs = processor("Incroyable! Je peux générer du son.", voice_preset="fr_speaker_5")

# Bark can also generate music. You can help it out by adding music notes around your lyrics.
inputs = processor("♪ Hello, my dog is cute ♪")

audio_array = model.generate(**inputs)
audio_array = audio_array.cpu().numpy().squeeze()
```

يمكن للنموذج أيضاً إنتاج **تواصل غير لفظي** مثل الضحك والزفير والبكاء.

```python
# Adding non-speech cues to the input text
inputs = processor("Hello uh [clears throat], my dog is cute [laughter]")

audio_array = model.generate(**inputs)
audio_array = audio_array.cpu().numpy().squeeze()
```

لحفظ الصوت، ما عليك سوى أخذ معدل العينة من إعدادات النموذج وبعض أدوات scipy:

```python
from scipy.io.wavfile import write as write_wav

# save audio to disk, but first take the sample rate from the model config
sample_rate = model.generation_config.sample_rate
write_wav("bark_generation.wav", sample_rate, audio_array)
```

## BarkConfig[[transformers.BarkConfig]]

#### transformers.BarkConfig[[transformers.BarkConfig]]

```python
transformers.BarkConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, semantic_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, coarse_acoustics_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, fine_acoustics_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, codec_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, initializer_range: float = 0.02)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/bark/configuration_bark.py#L188)

**المعاملات:**

semantic_config ([BarkSemanticConfig](/docs/transformers/main/ar/model_doc/bark#transformers.BarkSemanticConfig), *اختياري*) : إعدادات النموذج الفرعي الدلالي الأساسي.

coarse_acoustics_config ([BarkCoarseConfig](/docs/transformers/main/ar/model_doc/bark#transformers.BarkCoarseConfig), *اختياري*) : إعدادات النموذج الفرعي الأساسي للصوتيات الخشنة.

fine_acoustics_config ([BarkFineConfig](/docs/transformers/main/ar/model_doc/bark#transformers.BarkFineConfig), *اختياري*) : إعدادات النموذج الفرعي للصوتيات الدقيقة الذي يقوم عليه.

codec_config ([AutoConfig](/docs/transformers/main/ar/model_doc/auto#transformers.AutoConfig)، *اختياري*) : إعدادات النموذج الفرعي الأساسي للكوديك.

initializer_range (`float`، *اختياري*، القيمة الافتراضية `0.02`) : الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.

هذه فئة الإعدادات المخزّنة لإعدادات BarkModel. تُستخدم لإنشاء نموذج Bark وفقًا للحجج المحددة، مع تحديد بنية النموذج. إنشاء إعدادات بقيم افتراضية سيُنتج إعدادات مشابهة لتلك الخاصة بـ [suno/bark](https://huggingface.co/suno/bark)

ترث كائنات الإعداد من [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) لمزيد من المعلومات.

مثال:

```python
>>> from transformers import (
...     BarkSemanticConfig,
...     BarkCoarseConfig,
...     BarkFineConfig,
...     BarkModel,
...     BarkConfig,
...     AutoConfig,
... )

>>> # Initializing Bark sub-modules configurations.
>>> semantic_config = BarkSemanticConfig()
>>> coarse_acoustics_config = BarkCoarseConfig()
>>> fine_acoustics_config = BarkFineConfig()
>>> codec_config = AutoConfig.from_pretrained("facebook/encodec_24khz")

>>> # Initializing a Bark module style configuration
>>> configuration = BarkConfig(
...     semantic_config, coarse_acoustics_config, fine_acoustics_config, codec_config
... )

>>> # Initializing a model (with random weights)
>>> model = BarkModel(configuration)

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

## BarkProcessor[[transformers.BarkProcessor]]

#### transformers.BarkProcessor[[transformers.BarkProcessor]]

```python
transformers.BarkProcessor(tokenizer, speaker_embeddings = None)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/bark/processing_bark.py#L35)

**المعاملات:**

tokenizer (`BertTokenizer`) : مُجزِّئ النص (tokenizer) هو مدخل إلزامي.

speaker_embeddings (`dict[dict[str]]`, *اختياري*) : قاموس متداخل اختياري لتضمينات المتكلمين. يتضمن المستوى الأول أسماء إعدادات الصوت (مثل `"en_speaker_4"`). يتضمن المستوى الثاني تضمينات `"semantic_prompt"` و`"coarse_prompt"` و`"fine_prompt"`. تتوافق القيم مع مسار `np.ndarray` المقابل. انظر [هنا](https://suno-ai.notion.site/8b8e8749ed514b0cbf3f699013548683?v=bc67cff786b04b50b3ceb756fd05f68c) لقائمة `voice_preset_names`.

ينشئ BarkProcessor الذي يغلّف مُجزِّئ (tokenizer) في مُعالِج واحد.

يوفر [BarkProcessor](/docs/transformers/main/ar/model_doc/bark#transformers.BarkProcessor) جميع وظائف [BertTokenizer](/docs/transformers/main/ar/model_doc/lxmert#transformers.BertTokenizer). راجع [~BertTokenizer](/docs/transformers/main/ar/model_doc/lxmert#transformers.BertTokenizer) لمزيد من المعلومات.

#### __call__[[transformers.BarkProcessor.__call__]]

```python
__call__(text = None, voice_preset = None, return_tensors = 'pt', max_length = 256, add_special_tokens = False, return_attention_mask = True, return_token_type_ids = False, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/bark/processing_bark.py#L296)

**المعاملات:**

text (``) : The sequence or batch of sequences to be encoded. Each sequence can be a string or a list of strings (pretokenized string). If you pass a pretokenized input, set `is_split_into_words=True` لتجنب الغموض مع المدخلات المُجمَّعة.

voice_preset (`str`, `dict[np.ndarray]`) : إعداد الصوت المسبق، أي تضمينات المتحدث. يمكن أن يكون اسمًا صالحًا لـ voice_preset، مثل `"en_speaker_1"`، أو قاموسًا مباشرًا من تضمينات `np.ndarray` لكل نموذج فرعي من `Bark`. أو يمكن أن يكون اسم ملف صالح لإعداد صوت مسبق واحد محلي بصيغة `.npz` يحتوي على المفاتيح `"semantic_prompt"` و`"coarse_prompt"` و`"fine_prompt"`.

return_tensors (``, defaults to `pt`) : If set, will return tensors of a particular framework. Acceptable values are:  - `'pt'`: Return PyTorch `torch.Tensor` objects. - `'np'`: Return NumPy `np.ndarray` كائنات.

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

add_special_tokens (`bool`، القيمة الافتراضية `False`) : ما إذا كان يجب إضافة الرموز الخاصة عند ترميز التسلسلات. سيستخدم هذا الدالة الأساسية `PretrainedTokenizerBase.build_inputs_with_special_tokens`، التي تحدد الرموز التي تُضاف تلقائيًا إلى معرّفات الإدخال. يكون هذا مفيدًا إذا أردت إضافة رموز `bos` أو `eos` تلقائيًا.

return_attention_mask (`bool`، القيمة الافتراضية `True`) : هل يُعاد قناع الانتباه. إذا تُركت القيمة الافتراضية، فسيُعاد قناع الانتباه وفقًا للقيمة الافتراضية الخاصة بمُجزِّئ الرموز المحدد، كما هو معرّف بخاصية `return_outputs`. [ما أقنعة الانتباه؟](../glossary#attention-mask)

return_token_type_ids (`bool`، القيمة الافتراضية `False`) : هل يُعاد معرّفات أنواع الرموز. إذا تُركت القيمة الافتراضية، فسيتم إرجاع معرّفات أنواع الرموز وفقًا للقيمة الافتراضية الخاصة بمجزّئ الرموز المحدد، كما هو معرّف بواسطة خاصية `return_outputs`. [ما هي معرّفات أنواع الرموز؟](../glossary#token-type-ids)

**يعيد:** [BatchEncoding](/docs/transformers/main/ar/main_classes/tokenizer#transformers.BatchEncoding)

كائن [BatchEncoding](/docs/transformers/main/ar/main_classes/tokenizer#transformers.BatchEncoding) يحتوي على مخرجات `tokenizer`. إذا تم توفير إعداد صوتي مسبق، فسيحتوي الكائن المُعاد على مفتاح `"history_prompt"` يحتوي على [BatchFeature](/docs/transformers/main/ar/main_classes/feature_extractor#transformers.BatchFeature)، أي الإعداد الصوتي المسبق مع النوع الصحيح للتينسورات.

#### from_pretrained[[transformers.BarkProcessor.from_pretrained]]

```python
from_pretrained(pretrained_processor_name_or_path, speaker_embeddings_dict_path = 'speaker_embeddings_path.json', **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/bark/processing_bark.py#L55)

**المعاملات:**

pretrained_model_name_or_path (`str` or `os.PathLike`) : يمكن أن يكون أحد ما يلي: - نص، وهو *معرّف النموذج* لمعالج [BarkProcessor](/docs/transformers/main/ar/model_doc/bark#transformers.BarkProcessor) مُسبَق التدريب مستضاف داخل مستودع نماذج على huggingface.co. - مسار إلى *مجلد* يحتوي على معالج تم حفظه باستخدام طريقة [save_pretrained()](/docs/transformers/main/ar/model_doc/bark#transformers.BarkProcessor.save_pretrained)، على سبيل المثال `./my_model_directory/`.

speaker_embeddings_dict_path (`str`, *اختياري*، الافتراضي هو `"speaker_embeddings_path.json"`) : اسم ملف `.json` الذي يحتوي على قاموس speaker_embeddings الموجود في `pretrained_model_name_or_path`. إذا كانت القيمة `None`، فلن يتم تحميل speaker_embeddings.

- ****kwargs** : حجج إضافية بالكلمات المفتاحية تُمرَّر إلى كلا `~tokenization_utils_base.PreTrainedTokenizer.from_pretrained`.

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

#### save_pretrained[[transformers.BarkProcessor.save_pretrained]]

```python
save_pretrained(save_directory, speaker_embeddings_dict_path = 'speaker_embeddings_path.json', speaker_embeddings_directory = 'speaker_embeddings', push_to_hub: bool = False, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/bark/processing_bark.py#L121)

**المعاملات:**

save_directory (`str` أو `os.PathLike`) : المجلد الذي سيتم حفظ ملفات المُجزِّئ وتمثيلات المتكلمين فيه (سيتم إنشاء المجلد إذا لم يكن موجودًا).

speaker_embeddings_dict_path (`str`، *اختياري*، الافتراضي هو `"speaker_embeddings_path.json"`) : اسم ملف `.json` الذي سيحتوي على قاموس المسارات المتداخلة الخاص بـ speaker_embeddings، إذا كان موجودًا، وسيُوضع في `pretrained_model_name_or_path/speaker_embeddings_directory`.

speaker_embeddings_directory (`str`، *اختياري*، القيمة الافتراضية `"speaker_embeddings/"`) : اسم المجلد الذي تُحفظ فيه مصفوفات speaker_embeddings.

push_to_hub (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم دفع نموذجك إلى مستودع نماذج Hugging Face بعد حفظه. يمكنك تحديد المستودع الذي تريد الدفع إليه باستخدام `repo_id` (سيكون الافتراضي هو اسم `save_directory` ضمن نطاقك).

kwargs : معاملات إضافية بالكلمة المفتاحية تُمرَّر إلى طريقة [push_to_hub()](/docs/transformers/main/ar/main_classes/model#transformers.utils.PushToHubMixin.push_to_hub).

يحفظ خصائص هذا المعالج (tokenizer...) في المجلد المحدد بحيث يمكن إعادة تحميله باستخدام طريقة [from_pretrained()](/docs/transformers/main/ar/model_doc/bark#transformers.BarkProcessor.from_pretrained).

## BarkModel[[transformers.BarkModel]]

#### transformers.BarkModel[[transformers.BarkModel]]

```python
transformers.BarkModel(config: BarkConfig)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/bark/modeling_bark.py#L1260)

**المعاملات:**

config ([BarkConfig](/docs/transformers/main/ar/model_doc/bark#transformers.BarkConfig)) : فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. إن التهيئة باستخدام ملف إعدادات لا تُحمّل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل أوزان النموذج.

نموذج Bark الكامل، وهو نموذج لتحويل النص إلى كلام يتكون من 4 نماذج فرعية:
- [BarkSemanticModel](/docs/transformers/main/ar/model_doc/bark#transformers.BarkSemanticModel) (يُشار إليه أيضًا بنموذج «النص»): نموذج Transformer سببي ذاتي التوليد الذي
يستقبل نصًا مُرمَّزًا كمدخل، ويتنبأ برموز نصية دلالية تُعبّر عن معنى النص.
- [BarkCoarseModel](/docs/transformers/main/ar/model_doc/bark#transformers.BarkCoarseModel) (يُشار إليه أيضًا بنموذج «الصوتيات الخشنة»)، وهو أيضًا محوّل ذاتي توليدي سببي،
التي تأخذ كمدخلات نتائج النموذج الأخير. تهدف إلى استرجاع أول كودكتين صوتيتين اللازمتين لـ`encodec`.
- [BarkFineModel](/docs/transformers/main/ar/model_doc/bark#transformers.BarkFineModel) (نموذج «الصوتيات الدقيقة»)، هذه المرة محوّل مُشفِّر ذاتي غير سببي، يعمل بشكل تكراري
يتنبأ بالكتب الرمزية الأخيرة بناءً على مجموع تضمينات الكتب الرمزية السابقة.
- بعد التنبؤ بجميع قنوات دفتر الرموز من [EncodecModel](/docs/transformers/main/ar/model_doc/encodec#transformers.EncodecModel)، يستخدم Bark ذلك لفك ترميز الصوت الناتج
مصفوفة.

يجب الإشارة إلى أن كلًا من الوحدات الثلاث الأولى يمكن أن تدعم تضمينات المتحدث الشرطية (conditional speaker embeddings) لتكييف الصوت الناتج وفقًا لصوت محدد مسبقًا.

يرث هذا النموذج من [PreTrainedModel](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التنزيل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضاً فئة فرعية من [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

#### generate[[transformers.BarkModel.generate]]

```python
generate(input_ids: typing.Optional[torch.Tensor] = None, history_prompt: dict[str, torch.Tensor] | None = None, return_output_lengths: bool | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/bark/modeling_bark.py#L1364)

**المعاملات:**

input_ids (`Optional[torch.Tensor]` بشكل (batch_size, seq_len)، *اختياري*) : معرّفات الإدخال. سيتم اقتطاعها حتى 256 رمزًا. لاحظ أن الصوتيات الناتجة ستكون بنفس طول أطول توليد ضمن الدفعة.

history_prompt (`Optional[dict[str,torch.Tensor]]`، *اختياري*) : موجّه متحدث اختياري لـ`Bark`. يُرجى ملاحظة أن هذا النموذج يقبل حاليًا موجّه متحدث واحدًا فقط لكل دفعة.

kwargs (*اختياري*) : القاموس المتبقي لحجج الكلمات المفتاحية. توجد حجج الكلمات المفتاحية من نوعين:
- بدون بادئة، سيتم إدخالها كـ `**kwargs` لطريقة `generate` لكل نموذج فرعي.
- مع بادئة *semantic_* أو *coarse_* أو *fine_*، سيتم إدخالها لطريقة `generate` لكل من النموذج الدلالي والنموذج الخشن والنموذج الدقيق على التوالي. لها الأولوية على الكلمات المفتاحية بدون بادئة.
هذا يعني أنه يمكنك، على سبيل المثال، تحديد استراتيجية توليد لجميع النماذج الفرعية باستثناء واحد.

return_output_lengths (`bool`, *اختياري*) : ما إذا كان سيتم إرجاع أطوال الموجات الصوتية أم لا. مفيد عند استخدام الدفعات.

**يعيد:** `By default`

- **audio_waveform** (`torch.Tensor` من الشكل (batch_size, seq_len)): موجة الصوت المولّدة.
عندما `return_output_lengths=True`: يُعاد tuple يتكون من:
- **audio_waveform** (`torch.Tensor` من الشكل (batch_size, seq_len)): موجة الصوت المولّدة.
- **output_lengths** (`torch.Tensor` من الشكل (batch_size)): طول كل موجة صوتية في الدفعة

يولّد صوتًا من موجه إدخال وموجه متحدث إضافي اختياري من `Bark`.

مثال:

```python
>>> from transformers import AutoProcessor, BarkModel

>>> processor = AutoProcessor.from_pretrained("suno/bark-small")
>>> model = BarkModel.from_pretrained("suno/bark-small")

>>> # To add a voice preset, you can pass `voice_preset` to `BarkProcessor.__call__(...)`
>>> voice_preset = "v2/en_speaker_6"

>>> inputs = processor("Hello, my dog is cute, I need him in my life", voice_preset=voice_preset)

>>> audio_array = model.generate(**inputs, semantic_max_new_tokens=100)
>>> audio_array = audio_array.cpu().numpy().squeeze()
```

#### enable_cpu_offload[[transformers.BarkModel.enable_cpu_offload]]

```python
enable_cpu_offload(accelerator_id: int | None = 0, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/bark/modeling_bark.py#L1302)

**المعاملات:**

accelerator_id (`int`, *اختياري*, القيمة الافتراضية 0) : معرّف المُسرِّع الذي تُحمَّل عليه النماذج الفرعية وتُفرَّغ.

ينقل جميع النماذج الفرعية إلى المعالج المركزي باستخدام accelerate، مما يقلل من استهلاك الذاكرة بأثرٍ ضئيل على الأداء. تنقل هذه الطريقة نموذجًا فرعيًا كاملًا في كل مرة إلى المُسرِّع عند استخدامه، ويبقى النموذج الفرعي في المُسرِّع حتى تشغيل النموذج الفرعي التالي.

## BarkSemanticModel[[transformers.BarkSemanticModel]]

#### transformers.BarkSemanticModel[[transformers.BarkSemanticModel]]

```python
transformers.BarkSemanticModel(config: BarkSubModelConfig)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/bark/modeling_bark.py#L526)

**المعاملات:**

config (`BarkSubModelConfig`) : فئة إعدادات النموذج التي تتضمن جميع معاملات النموذج. التهيئة باستخدام ملف إعدادات لا تُحمّل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل أوزان النموذج.

نموذج Bark الدلالي (أو النصي). يشارك النموذج الخشن نفس البنية المعمارية. إنه نموذج ذاتي التراجع يشبه GPT-2 مع رأس نمذجة لغوية في الأعلى.

يرث هذا النموذج من [PreTrainedModel](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التنزيل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضاً فئة فرعية من [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

#### forward[[transformers.BarkSemanticModel.forward]]

```python
forward(input_ids: typing.Optional[torch.Tensor] = None, past_key_values: transformers.cache_utils.Cache | None = None, attention_mask: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.Tensor] = None, labels: typing.Optional[torch.LongTensor] = None, inputs_embeds: typing.Optional[torch.Tensor] = None, use_cache: bool | None = None, output_attentions: bool | None = None, output_hidden_states: bool | None = None, return_dict: bool | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/bark/modeling_bark.py#L396)

**المعاملات:**

input_ids (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس رموز تسلسل الإدخال في قاموس الكلمات. سيتم تجاهل الحشو افتراضيًا. يمكن الحصول على الفهارس باستخدام [AutoTokenizer](/docs/transformers/main/ar/model_doc/auto#transformers.AutoTokenizer). راجع [PreTrainedTokenizer.encode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) و [PreTrainedTokenizer.__call__()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) للتفاصيل. [ما هي معرّفات الإدخال؟](../glossary#input-ids)

past_key_values (`~cache_utils.Cache`، *اختياري*) : حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي وكتل الانتباه المتقاطع) يمكن استخدامها لتسريع فك الترميز التسلسلي. يتكوّن هذا عادةً من `past_key_values` التي يعيدها النموذج في مرحلة سابقة من فك الترميز، عندما يكون `use_cache=True` أو `config.use_cache=True`. يُسمح فقط بتمرير كائن [Cache](/docs/transformers/main/ar/internal/generation_utils#transformers.Cache) كمدخل، راجع [دليل ذاكرة kv](https://huggingface.co/docs/transformers/en/kv_cache). إذا لم يتم تمرير `past_key_values`، فسيتم تهيئة [DynamicCache](/docs/transformers/main/ar/internal/generation_utils#transformers.DynamicCache) افتراضيًا. سيُخرج النموذج نفس تنسيق الذاكرة المؤقتة المُدخل. إذا تم استخدام `past_key_values`، يُتوقع من المستخدم إدخال `input_ids` غير المعالجة فقط (تلك التي لم تُعطَ حالات مفاتيح وقيم سابقة لها في هذا النموذج) بأبعاد `(batch_size, unprocessed_length)` بدلاً من جميع `input_ids` بأبعاد `(batch_size, sequence_length)`.

attention_mask (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. قيم القناع المختارة من `[0, 1]`: - 1 للرموز التي **ليست مقنّعة**، - 0 للرموز التي **مقنّعة**.  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

position_ids (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس مواضع رموز كل تسلسل إدخال في تضمينات المواضع. يتم اختيارها من النطاق `[0, config.n_positions - 1]`.  [ما هي معرّفات المواضع؟](../glossary#position-ids)

labels (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : تسميات لحساب خسارة نمذجة اللغة المقنّعة. يجب أن تكون الفهارس إما ضمن `[0, ..., config.vocab_size]` أو -100 (انظر `input_ids` docstring). يتم تجاهل الرموز التي تكون فهارسها مضبوطة على `-100` (مقنّعة)، ولا تُحسب الخسارة إلا للرموز التي تسمياتها ضمن `[0, ..., config.vocab_size]`.

inputs_embeds (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) : بدلاً من تمرير `input_ids`، يمكنك اختيار تمرير تمثيل مضمّن مباشرةً. هذا مفيد إذا كنت ترغب في الحصول على مزيد من التحكم في كيفية تحويل فهارس `input_ids` إلى المتجهات المرتبطة بها، مقارنةً بمصفوفة البحث المضمّنة الداخلية للنموذج.

use_cache (`bool`، *اختياري*) : إذا تم ضبطه على `True`، تُعاد حالات المفاتيح والقيم `past_key_values` ويمكن استخدامها لتسريع فك الترميز (انظر `past_key_values`).

output_attentions (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع موترات الانتباه لجميع طبقات الانتباه. راجع `attentions` ضمن الموترات المُرجعة لمزيد من التفاصيل.

output_hidden_states (`bool`, *اختياري*) : ما إذا كان سيتم إرجاع الحالات المخفية لجميع الطبقات. راجع `hidden_states` ضمن الموترات المُرجعة لمزيد من التفاصيل.

return_dict (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع [ModelOutput](/docs/transformers/main/ar/main_classes/output#transformers.utils.ModelOutput) بدلاً من tuple عادي.

**يعيد:** [CausalLMOutputWithPast](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.CausalLMOutputWithPast) أو `tuple(torch.Tensor)`

كائن [CausalLMOutputWithPast](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.CausalLMOutputWithPast) أو مجموعة مرتبة من `torch.Tensor` (في حال تمرير `return_dict=False` أو عند `config.return_dict=False`) تتضمّن عناصر مختلفة اعتمادًا على الإعداد ([BarkConfig](/docs/transformers/main/ar/model_doc/bark#transformers.BarkConfig)) والمدخلات.

تتجاوز طريقة [BarkCausalModel](/docs/transformers/main/ar/model_doc/bark#transformers.BarkCausalModel) الخاصة بالتقديم (forward) الطريقة الخاصة `__call__`.

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

- **loss** (`torch.Tensor` من الشكل `(1,)`، *اختياري*، يُعاد عند توفير `labels`) -- خسارة نمذجة اللغة (لتوقع الرمز التالي).
- **logits** (`torch.Tensor` من الشكل `(batch_size, sequence_length, config.vocab_size)`) -- درجات التنبؤ لرأس نمذجة اللغة (درجات لكل رمز في المفردات قبل SoftMax).
- **past_key_values** (`Cache`، *اختياري*، يُعاد عند تمرير `use_cache=True` أو عند تعيين `config.use_cache=True`) -- هو كائن من نوع [Cache](/docs/transformers/main/ar/internal/generation_utils#transformers.Cache). لمزيد من التفاصيل، راجع [دليل ذاكرة kv](https://huggingface.co/docs/transformers/en/kv_cache).

  تحتوي على حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي) يمكن استخدامها (انظر مدخل `past_key_values`) لتسريع فك الترميز التسلسلي.
- **hidden_states** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) بأبعاد `(batch_size, sequence_length, hidden_size)`.

  حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.
- **attentions** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند تعيين `config.output_attentions=True`) -- مجموعة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`.

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

## BarkCoarseModel[[transformers.BarkCoarseModel]]

#### transformers.BarkCoarseModel[[transformers.BarkCoarseModel]]

```python
transformers.BarkCoarseModel(config: BarkSubModelConfig)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/bark/modeling_bark.py#L642)

**المعاملات:**

config (`BarkSubModelConfig`) : فئة إعدادات النموذج التي تتضمن جميع معاملات النموذج. التهيئة من ملف إعدادات لا تُحمّل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل أوزان النموذج.

نموذج الصوتيات الخشن في Bark. يتشارك البنية المعمارية نفسها مع النموذج الدلالي (أو النصي). وهو نموذج ذاتي التراجع يشبه GPT-2، مع رأس نمذجة لغوية في الأعلى.

يرث هذا النموذج من [PreTrainedModel](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التنزيل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضاً فئة فرعية من [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

#### forward[[transformers.BarkCoarseModel.forward]]

```python
forward(input_ids: typing.Optional[torch.Tensor] = None, past_key_values: transformers.cache_utils.Cache | None = None, attention_mask: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.Tensor] = None, labels: typing.Optional[torch.LongTensor] = None, inputs_embeds: typing.Optional[torch.Tensor] = None, use_cache: bool | None = None, output_attentions: bool | None = None, output_hidden_states: bool | None = None, return_dict: bool | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/bark/modeling_bark.py#L396)

**المعاملات:**

input_ids (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس رموز تسلسل الإدخال في قاموس الكلمات. سيتم تجاهل الحشو افتراضيًا. يمكن الحصول على الفهارس باستخدام [AutoTokenizer](/docs/transformers/main/ar/model_doc/auto#transformers.AutoTokenizer). راجع [PreTrainedTokenizer.encode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) و [PreTrainedTokenizer.__call__()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) للتفاصيل. [ما هي معرّفات الإدخال؟](../glossary#input-ids)

past_key_values (`~cache_utils.Cache`، *اختياري*) : حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي وكتل الانتباه المتقاطع) يمكن استخدامها لتسريع فك الترميز التسلسلي. يتكوّن هذا عادةً من `past_key_values` التي يعيدها النموذج في مرحلة سابقة من فك الترميز، عندما يكون `use_cache=True` أو `config.use_cache=True`. يُسمح فقط بتمرير كائن [Cache](/docs/transformers/main/ar/internal/generation_utils#transformers.Cache) كمدخل، راجع [دليل ذاكرة kv](https://huggingface.co/docs/transformers/en/kv_cache). إذا لم يتم تمرير `past_key_values`، فسيتم تهيئة [DynamicCache](/docs/transformers/main/ar/internal/generation_utils#transformers.DynamicCache) افتراضيًا. سيُخرج النموذج نفس تنسيق الذاكرة المؤقتة المُدخل. إذا تم استخدام `past_key_values`، يُتوقع من المستخدم إدخال `input_ids` غير المعالجة فقط (تلك التي لم تُعطَ حالات مفاتيح وقيم سابقة لها في هذا النموذج) بأبعاد `(batch_size, unprocessed_length)` بدلاً من جميع `input_ids` بأبعاد `(batch_size, sequence_length)`.

attention_mask (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. قيم القناع المختارة من `[0, 1]`: - 1 للرموز التي **ليست مقنّعة**، - 0 للرموز التي **مقنّعة**.  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

position_ids (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس مواضع رموز كل تسلسل إدخال في تضمينات المواضع. يتم اختيارها من النطاق `[0, config.n_positions - 1]`.  [ما هي معرّفات المواضع؟](../glossary#position-ids)

labels (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : تسميات لحساب خسارة نمذجة اللغة المقنّعة. يجب أن تكون الفهارس إما ضمن `[0, ..., config.vocab_size]` أو -100 (انظر `input_ids` docstring). يتم تجاهل الرموز التي تكون فهارسها مضبوطة على `-100` (مقنّعة)، ولا تُحسب الخسارة إلا للرموز التي تسمياتها ضمن `[0, ..., config.vocab_size]`.

inputs_embeds (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) : بدلاً من تمرير `input_ids`، يمكنك اختيار تمرير تمثيل مضمّن مباشرةً. هذا مفيد إذا كنت ترغب في الحصول على مزيد من التحكم في كيفية تحويل فهارس `input_ids` إلى المتجهات المرتبطة بها، مقارنةً بمصفوفة البحث المضمّنة الداخلية للنموذج.

use_cache (`bool`، *اختياري*) : إذا تم ضبطه على `True`، تُعاد حالات المفاتيح والقيم `past_key_values` ويمكن استخدامها لتسريع فك الترميز (انظر `past_key_values`).

output_attentions (`bool`, *اختياري*) : ما إذا كان سيتم إرجاع مصفوفات الانتباه لجميع طبقات الانتباه. راجع `attentions` تحت المصفوفات المُرجعة لمزيد من التفاصيل.

output_hidden_states (`bool`, *اختياري*) : ما إذا كان سيتم إرجاع الحالات المخفية لجميع الطبقات. راجع `hidden_states` ضمن الموترات المُرجعة لمزيد من التفاصيل.

return_dict (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع [ModelOutput](/docs/transformers/main/ar/main_classes/output#transformers.utils.ModelOutput) بدلاً من tuple عادي.

**يعيد:** [CausalLMOutputWithPast](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.CausalLMOutputWithPast) أو `tuple(torch.Tensor)`

كائن [CausalLMOutputWithPast](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.CausalLMOutputWithPast) أو مجموعة مرتبة من `torch.Tensor` (في حال تمرير `return_dict=False` أو عند `config.return_dict=False`) تتضمّن عناصر مختلفة اعتمادًا على الإعداد ([BarkConfig](/docs/transformers/main/ar/model_doc/bark#transformers.BarkConfig)) والمدخلات.

تتجاوز طريقة [BarkCausalModel](/docs/transformers/main/ar/model_doc/bark#transformers.BarkCausalModel) الخاصة بالتقديم (forward) الطريقة الخاصة `__call__`.

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

- **loss** (`torch.Tensor` من الشكل `(1,)`، *اختياري*، يُعاد عند توفير `labels`) -- خسارة نمذجة اللغة (لتوقع الرمز التالي).
- **logits** (`torch.Tensor` من الشكل `(batch_size, sequence_length, config.vocab_size)`) -- درجات التنبؤ لرأس نمذجة اللغة (درجات لكل رمز في المفردات قبل SoftMax).
- **past_key_values** (`Cache`، *اختياري*، يُعاد عند تمرير `use_cache=True` أو عند تعيين `config.use_cache=True`) -- هو كائن من نوع [Cache](/docs/transformers/main/ar/internal/generation_utils#transformers.Cache). لمزيد من التفاصيل، راجع [دليل ذاكرة kv](https://huggingface.co/docs/transformers/en/kv_cache).

  تحتوي على حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي) يمكن استخدامها (انظر مدخل `past_key_values`) لتسريع فك الترميز التسلسلي.
- **hidden_states** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) بأبعاد `(batch_size, sequence_length, hidden_size)`.

  حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.
- **attentions** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند تعيين `config.output_attentions=True`) -- مجموعة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`.

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

## BarkFineModel[[transformers.BarkFineModel]]

#### transformers.BarkFineModel[[transformers.BarkFineModel]]

```python
transformers.BarkFineModel(config: BarkFineConfig)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/bark/modeling_bark.py#L866)

**المعاملات:**

config ([BarkFineConfig](/docs/transformers/main/ar/model_doc/bark#transformers.BarkFineConfig)) : فئة إعدادات النموذج التي تتضمن جميع معاملات النموذج. التهيئة من ملف إعدادات لا تُحمّل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل أوزان النموذج.

نموذج Bark الصوتي الدقيق. وهو نموذج غير سببي يشبه GPT، يتضمّن `config.n_codes_total` من طبقات التضمين ورؤوس نمذجة اللغة، بمعدل رأس واحد لكل كتاب رموز.

يرث هذا النموذج من [PreTrainedModel](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التنزيل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضاً فئة فرعية من [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

#### forward[[transformers.BarkFineModel.forward]]

```python
forward(codebook_idx: int, input_ids: typing.Optional[torch.Tensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.Tensor] = None, labels: typing.Optional[torch.LongTensor] = None, inputs_embeds: typing.Optional[torch.Tensor] = None, output_attentions: bool | None = None, output_hidden_states: bool | None = None, return_dict: bool | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/bark/modeling_bark.py#L993)

**المعاملات:**

codebook_idx (`int`) : مؤشر كتاب الرموز الذي سيتم التنبؤ به.

input_ids (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس رموز تسلسل الإدخال في قاموس الكلمات. سيتم تجاهل الحشو افتراضيًا. يمكن الحصول على الفهارس باستخدام [AutoTokenizer](/docs/transformers/main/ar/model_doc/auto#transformers.AutoTokenizer). راجع [PreTrainedTokenizer.encode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) و [PreTrainedTokenizer.__call__()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) للتفاصيل. [ما هي معرّفات الإدخال؟](../glossary#input-ids)

attention_mask (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. قيم القناع المختارة من `[0, 1]`: - 1 للرموز التي **ليست مقنّعة**، - 0 للرموز التي **مقنّعة**.  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

position_ids (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس مواضع رموز كل تسلسل إدخال في تضمينات المواضع. يتم اختيارها من النطاق `[0, config.n_positions - 1]`.  [ما هي معرّفات المواضع؟](../glossary#position-ids)

labels (`torch.LongTensor` بأبعاد `(batch_size, sequence_length)`، *اختياري*) : لم يتم تنفيذه بعد.

inputs_embeds (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) : بدلاً من تمرير `input_ids`، يمكنك اختيار تمرير تمثيل مضمّن مباشرةً. هذا مفيد إذا كنت ترغب في الحصول على مزيد من التحكم في كيفية تحويل فهارس `input_ids` إلى المتجهات المرتبطة بها، مقارنةً بمصفوفة البحث المضمّنة الداخلية للنموذج.

output_attentions (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع مصفوفات الانتباه لجميع طبقات الانتباه. راجع `attentions` ضمن المصفوفات المُرجعة لمزيد من التفاصيل.

output_hidden_states (`bool`, *اختياري*) : ما إذا كان سيتم إرجاع الحالات المخفية لجميع الطبقات. راجع `hidden_states` ضمن الموترات المُرجعة لمزيد من التفاصيل.

return_dict (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع [ModelOutput](/docs/transformers/main/ar/main_classes/output#transformers.utils.ModelOutput) بدلاً من tuple عادي.

**يعيد:** [MaskedLMOutput](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.MaskedLMOutput) أو `tuple(torch.Tensor)`

كائن [MaskedLMOutput](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.MaskedLMOutput) أو مجموعة مرتبة من `torch.Tensor` (في حال تمرير `return_dict=False` أو عند `config.return_dict=False`) تتألف من عناصر مختلفة اعتمادًا على الإعداد ([BarkConfig](/docs/transformers/main/ar/model_doc/bark#transformers.BarkConfig)) والمدخلات.

تتجاوز طريقة [BarkFineModel](/docs/transformers/main/ar/model_doc/bark#transformers.BarkFineModel) الخاصة بالتقديم (forward) الطريقة الخاصة `__call__`.

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

- **loss** (`torch.Tensor` من الشكل `(1,)`، *اختياري*، يُعاد عند توفير `labels`) -- خسارة نمذجة اللغة المقنّعة (MLM).
- **logits** (`torch.Tensor` من الشكل `(batch_size, sequence_length, config.vocab_size)`) -- درجات التنبؤ لرأس نمذجة اللغة (درجات لكل رمز في المفردات قبل SoftMax).
- **hidden_states** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) بأبعاد `(batch_size, sequence_length, hidden_size)`.

  حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.
- **attentions** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند تعيين `config.output_attentions=True`) -- مجموعة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`.

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

## BarkCausalModel[[transformers.BarkCausalModel]]

#### transformers.BarkCausalModel[[transformers.BarkCausalModel]]

```python
transformers.BarkCausalModel(config: BarkSubModelConfig)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/bark/modeling_bark.py#L361)

#### forward[[transformers.BarkCausalModel.forward]]

```python
forward(input_ids: typing.Optional[torch.Tensor] = None, past_key_values: transformers.cache_utils.Cache | None = None, attention_mask: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.Tensor] = None, labels: typing.Optional[torch.LongTensor] = None, inputs_embeds: typing.Optional[torch.Tensor] = None, use_cache: bool | None = None, output_attentions: bool | None = None, output_hidden_states: bool | None = None, return_dict: bool | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/bark/modeling_bark.py#L396)

**المعاملات:**

input_ids (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس رموز تسلسل الإدخال في قاموس الكلمات. سيتم تجاهل الحشو افتراضيًا. يمكن الحصول على الفهارس باستخدام [AutoTokenizer](/docs/transformers/main/ar/model_doc/auto#transformers.AutoTokenizer). راجع [PreTrainedTokenizer.encode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) و [PreTrainedTokenizer.__call__()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) للتفاصيل. [ما هي معرّفات الإدخال؟](../glossary#input-ids)

past_key_values (`~cache_utils.Cache`، *اختياري*) : حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي وكتل الانتباه المتقاطع) يمكن استخدامها لتسريع فك الترميز التسلسلي. يتكوّن هذا عادةً من `past_key_values` التي يعيدها النموذج في مرحلة سابقة من فك الترميز، عندما يكون `use_cache=True` أو `config.use_cache=True`. يُسمح فقط بتمرير كائن [Cache](/docs/transformers/main/ar/internal/generation_utils#transformers.Cache) كمدخل، راجع [دليل ذاكرة kv](https://huggingface.co/docs/transformers/en/kv_cache). إذا لم يتم تمرير `past_key_values`، فسيتم تهيئة [DynamicCache](/docs/transformers/main/ar/internal/generation_utils#transformers.DynamicCache) افتراضيًا. سيُخرج النموذج نفس تنسيق الذاكرة المؤقتة المُدخل. إذا تم استخدام `past_key_values`، يُتوقع من المستخدم إدخال `input_ids` غير المعالجة فقط (تلك التي لم تُعطَ حالات مفاتيح وقيم سابقة لها في هذا النموذج) بأبعاد `(batch_size, unprocessed_length)` بدلاً من جميع `input_ids` بأبعاد `(batch_size, sequence_length)`.

attention_mask (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. قيم القناع المختارة من `[0, 1]`: - 1 للرموز التي **ليست مقنّعة**، - 0 للرموز التي **مقنّعة**.  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

position_ids (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس مواضع رموز كل تسلسل إدخال في تضمينات المواضع. يتم اختيارها من النطاق `[0, config.n_positions - 1]`.  [ما هي معرّفات المواضع؟](../glossary#position-ids)

labels (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : تسميات لحساب خسارة نمذجة اللغة المقنّعة. يجب أن تكون الفهارس إما ضمن `[0, ..., config.vocab_size]` أو -100 (انظر `input_ids` docstring). يتم تجاهل الرموز التي تكون فهارسها مضبوطة على `-100` (مقنّعة)، ولا تُحسب الخسارة إلا للرموز التي تسمياتها ضمن `[0, ..., config.vocab_size]`.

inputs_embeds (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) : بدلاً من تمرير `input_ids`، يمكنك اختيار تمرير تمثيل مضمّن مباشرةً. هذا مفيد إذا كنت ترغب في الحصول على مزيد من التحكم في كيفية تحويل فهارس `input_ids` إلى المتجهات المرتبطة بها، مقارنةً بمصفوفة البحث المضمّنة الداخلية للنموذج.

use_cache (`bool`، *اختياري*) : إذا تم ضبطه على `True`، تُعاد حالات المفاتيح والقيم `past_key_values` ويمكن استخدامها لتسريع فك الترميز (انظر `past_key_values`).

output_attentions (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع موترات الانتباه لجميع طبقات الانتباه. راجع `attentions` ضمن الموترات المُرجعة لمزيد من التفاصيل.

output_hidden_states (`bool`, *اختياري*) : ما إذا كان سيتم إرجاع الحالات المخفية لجميع الطبقات. راجع `hidden_states` ضمن الموترات المُرجعة لمزيد من التفاصيل.

return_dict (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع [ModelOutput](/docs/transformers/main/ar/main_classes/output#transformers.utils.ModelOutput) بدلاً من tuple عادي.

**يعيد:** [CausalLMOutputWithPast](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.CausalLMOutputWithPast) أو `tuple(torch.Tensor)`

كائن [CausalLMOutputWithPast](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.CausalLMOutputWithPast) أو مجموعة مرتبة من `torch.Tensor` (في حال تمرير `return_dict=False` أو عند `config.return_dict=False`) تتضمّن عناصر مختلفة اعتمادًا على الإعداد ([BarkConfig](/docs/transformers/main/ar/model_doc/bark#transformers.BarkConfig)) والمدخلات.

تتجاوز طريقة [BarkCausalModel](/docs/transformers/main/ar/model_doc/bark#transformers.BarkCausalModel) الخاصة بالتقديم (forward) الطريقة الخاصة `__call__`.

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

- **loss** (`torch.Tensor` من الشكل `(1,)`، *اختياري*، يُعاد عند توفير `labels`) -- خسارة نمذجة اللغة (لتوقع الرمز التالي).
- **logits** (`torch.Tensor` من الشكل `(batch_size, sequence_length, config.vocab_size)`) -- درجات التنبؤ لرأس نمذجة اللغة (درجات لكل رمز في المفردات قبل SoftMax).
- **past_key_values** (`Cache`، *اختياري*، يُعاد عند تمرير `use_cache=True` أو عند تعيين `config.use_cache=True`) -- هو كائن من نوع [Cache](/docs/transformers/main/ar/internal/generation_utils#transformers.Cache). لمزيد من التفاصيل، راجع [دليل ذاكرة kv](https://huggingface.co/docs/transformers/en/kv_cache).

  تحتوي على حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي) يمكن استخدامها (انظر مدخل `past_key_values`) لتسريع فك الترميز التسلسلي.
- **hidden_states** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) بأبعاد `(batch_size, sequence_length, hidden_size)`.

  حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.
- **attentions** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند تعيين `config.output_attentions=True`) -- مجموعة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`.

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

## BarkCoarseConfig[[transformers.BarkCoarseConfig]]

#### transformers.BarkCoarseConfig[[transformers.BarkCoarseConfig]]

```python
transformers.BarkCoarseConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, block_size: int = 1024, input_vocab_size: int = 10048, output_vocab_size: int = 10048, num_layers: int = 12, num_heads: int = 12, hidden_size: int = 768, dropout: float | int = 0.0, bias: bool = True, initializer_range: float = 0.02, use_cache: bool = True)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/bark/configuration_bark.py#L105)

**المعاملات:**

block_size (`int`، *اختياري*، الافتراضي 1024) : أقصى طول تسلسل قد يُستخدم به هذا النموذج. عادةً ما يُضبط هذا على قيمة كبيرة احتياطًا (مثلًا، 512 أو 1024 أو 2048).

input_vocab_size (`int`، *اختياري*، الافتراضي 10_048) : حجم مفردات نموذج Bark الفرعي. يحدد عدد الرموز المختلفة التي يمكن تمثيلها بواسطة `inputs_ids` المُمررة عند استدعاء `{model}`. الافتراضي 10_048 لكن يجب دراسته بعناية مع مراعاة النموذج الفرعي المختار.

output_vocab_size (`int`، *اختياري*، القيمة الافتراضية 10_048) : حجم مفردات المخرجات لنموذج Bark الفرعي. يحدد عدد الرموز المختلفة التي يمكن تمثيلها بواسطة `output_ids` عند تمرير `{model}` إلى الأمام. القيمة الافتراضية 10_048، لكن يجب دراستها بعناية فيما يتعلق بالنموذج الفرعي المختار.

num_layers (`int`، *اختياري*، القيمة الافتراضية `12`) : عدد الطبقات المخفية في مُفكِّك Transformer.

num_heads (`int`، *اختياري*، القيمة الافتراضية `12`) : عدد رؤوس الانتباه في كل طبقة انتباه داخل مُفكِّك Transformer.

hidden_size (`int`، *اختياري*، القيمة الافتراضية `768`) : بُعد التمثيلات المخفية.

dropout (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.0`) : نسبة جميع طبقات dropout.

bias (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم استخدام الانحياز في الطبقات الخطية وطبقات تطبيع الطبقة

initializer_range (`float`، *اختياري*، القيمة الافتراضية `0.02`) : الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.

use_cache (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب على النموذج إرجاع قيم المفاتيح/القيم الأخيرة للانتباه (لا تستخدمها جميع النماذج). لا ينطبق إلا إذا كان `config.is_decoder=True` أو عندما يكون النموذج نموذجًا توليديًا يعتمد على المُفكِّك فقط.

هذه فئة الإعدادات المخزّنة لإعدادات BarkModel. تُستخدم لإنشاء نموذج Bark وفقًا للحجج المحددة، مع تحديد بنية النموذج. إنشاء إعدادات بقيم افتراضية سيُنتج إعدادات مشابهة لتلك الخاصة بـ [suno/bark](https://huggingface.co/suno/bark)

ترث كائنات الإعداد من [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) لمزيد من المعلومات.

مثال:

```python
>>> from transformers import BarkCoarseConfig, BarkCoarseModel

>>> # Initializing a Bark sub-module style configuration
>>> configuration = BarkCoarseConfig()

>>> # Initializing a model (with random weights) from the suno/bark style configuration
>>> model = BarkCoarseModel(configuration)

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

## BarkFineConfig[[transformers.BarkFineConfig]]

#### transformers.BarkFineConfig[[transformers.BarkFineConfig]]

```python
transformers.BarkFineConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, block_size: int = 1024, input_vocab_size: int = 10048, output_vocab_size: int = 10048, num_layers: int = 12, num_heads: int = 12, hidden_size: int = 768, dropout: float | int = 0.0, bias: bool = True, initializer_range: float = 0.02, use_cache: bool = True, tie_word_embeddings: bool = True, n_codes_total: int = 8, n_codes_given: int = 1)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/bark/configuration_bark.py#L142)

**المعاملات:**

block_size (`int`، *اختياري*، القيمة الافتراضية 1024) : أقصى طول تسلسل قد يُستخدم به هذا النموذج. عادةً ما يُضبط هذا على قيمة كبيرة احتياطًا (مثل 512 أو 1024 أو 2048).

input_vocab_size (`int`, *اختياري*, القيمة الافتراضية 10_048) : حجم مفردات نموذج Bark الفرعي. يحدد عدد الرموز المختلفة التي يمكن تمثيلها بواسطة `inputs_ids` المُمررة عند استدعاء `{model}`. القيمة الافتراضية هي 10_048، لكن يجب التفكير فيها بعناية فيما يتعلق بالنموذج الفرعي المختار.

output_vocab_size (`int`، *اختياري*، الافتراضي 10_048) : حجم مفردات المخرجات لنموذج Bark الفرعي. يحدد عدد الرموز المختلفة التي يمكن تمثيلها بواسطة `output_ids` عند تمرير `{model}` إلى الأمام. الافتراضي 10_048، لكن يجب التفكير فيه بعناية مع مراعاة النموذج الفرعي المختار.

num_layers (`int`، *اختياري*، القيمة الافتراضية `12`) : عدد الطبقات المخفية في مُفكِّك Transformer.

num_heads (`int`، *اختياري*، القيمة الافتراضية `12`) : عدد رؤوس الانتباه في كل طبقة انتباه داخل مُفكِّك Transformer.

hidden_size (`int`، *اختياري*، القيمة الافتراضية `768`) : بُعد التمثيلات المخفية.

dropout (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.0`) : نسبة جميع طبقات dropout.

bias (`bool`، *اختياري*، الافتراضي هو `True`) : ما إذا كان سيتم استخدام الانحياز في الطبقات الخطية وطبقات تطبيع الطبقة

initializer_range (`float`، *اختياري*، القيمة الافتراضية `0.02`) : الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.

use_cache (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب على النموذج إرجاع قيم المفاتيح/القيم الأخيرة للانتباه (لا تستخدمها جميع النماذج). لا ينطبق إلا إذا كان `config.is_decoder=True` أو عندما يكون النموذج نموذجًا توليديًا يعتمد على المُفكِّك فقط.

tie_word_embeddings (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب ربط ترميزات الأوزان وفقاً لخريطة `tied_weights_keys` الخاصة بالنموذج.

n_codes_total (`int`, *اختياري*, القيمة الافتراضية 8) : إجمالي عدد كتيبات الترميز الصوتية المتوقعة. يُستخدم في النموذج الفرعي للصوتيات الدقيقة.

n_codes_given (`int`، *اختياري*، الافتراضي 1) : عدد كتيبات الصوت المتوقعة في نموذج الصوتيات الخشن الفرعي. يُستخدم في نماذج الصوتيات الفرعية.

هذه فئة الإعدادات المخزّنة لإعدادات BarkModel. تُستخدم لإنشاء نموذج Bark وفقًا للحجج المحددة، مع تحديد بنية النموذج. إنشاء إعدادات بقيم افتراضية سيُنتج إعدادات مشابهة لتلك الخاصة بـ [suno/bark](https://huggingface.co/suno/bark)

ترث كائنات الإعداد من [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) لمزيد من المعلومات.

مثال:

```python
>>> from transformers import BarkFineConfig, BarkFineModel

>>> # Initializing a Bark sub-module style configuration
>>> configuration = BarkFineConfig()

>>> # Initializing a model (with random weights) from the suno/bark style configuration
>>> model = BarkFineModel(configuration)

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

## BarkSemanticConfig[[transformers.BarkSemanticConfig]]

#### transformers.BarkSemanticConfig[[transformers.BarkSemanticConfig]]

```python
transformers.BarkSemanticConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, block_size: int = 1024, input_vocab_size: int = 10048, output_vocab_size: int = 10048, num_layers: int = 12, num_heads: int = 12, hidden_size: int = 768, dropout: float | int = 0.0, bias: bool = True, initializer_range: float = 0.02, use_cache: bool = True)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/bark/configuration_bark.py#L68)

**المعاملات:**

block_size (`int`، *اختياري*، الافتراضي 1024) : أقصى طول تسلسل قد يُستخدم به هذا النموذج. عادةً ما يُضبط هذا على قيمة كبيرة احتياطًا (مثلًا، 512 أو 1024 أو 2048).

input_vocab_size (`int`، *اختياري*، الافتراضي 10_048) : حجم مفردات نموذج Bark الفرعي. يحدد عدد الرموز المختلفة التي يمكن تمثيلها بواسطة `inputs_ids` المُمررة عند استدعاء `{model}`. الافتراضي 10_048 لكن يجب دراسته بعناية مع مراعاة النموذج الفرعي المختار.

output_vocab_size (`int`، *اختياري*، الافتراضي 10_048) : حجم مفردات المخرجات لنموذج Bark الفرعي. يحدد عدد الرموز المختلفة التي يمكن تمثيلها بواسطة `output_ids` عند إجراء تمرير أمامي لـ`{model}`. الافتراضي 10_048 لكن يجب اختياره بعناية فيما يتعلق بالنموذج الفرعي المعتمد.

num_layers (`int`، *اختياري*، القيمة الافتراضية `12`) : عدد الطبقات المخفية في مُفكِّك Transformer.

num_heads (`int`، *اختياري*، القيمة الافتراضية `12`) : عدد رؤوس الانتباه في كل طبقة انتباه داخل مُفكِّك Transformer.

hidden_size (`int`، *اختياري*، القيمة الافتراضية `768`) : بُعد التمثيلات المخفية.

dropout (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.0`) : نسبة جميع طبقات dropout.

bias (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم استخدام الانحياز في الطبقات الخطية وطبقات تطبيع الطبقة

initializer_range (`float`، *اختياري*، القيمة الافتراضية `0.02`) : الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.

use_cache (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب على النموذج إرجاع قيم المفاتيح/القيم الأخيرة للانتباه (لا تستخدمها جميع النماذج). لا ينطبق إلا إذا كان `config.is_decoder=True` أو عندما يكون النموذج نموذجًا توليديًا يعتمد على المُفكِّك فقط.

هذه فئة الإعدادات المخزّنة لإعدادات BarkModel. تُستخدم لإنشاء نموذج Bark وفقًا للحجج المحددة، مع تحديد بنية النموذج. إنشاء إعدادات بقيم افتراضية سيُنتج إعدادات مشابهة لتلك الخاصة بـ [suno/bark](https://huggingface.co/suno/bark)

ترث كائنات الإعداد من [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) لمزيد من المعلومات.

مثال:

```python
>>> from transformers import BarkSemanticConfig, BarkSemanticModel

>>> # Initializing a Bark sub-module style configuration
>>> configuration = BarkSemanticConfig()

>>> # Initializing a model (with random weights) from the suno/bark style configuration
>>> model = BarkSemanticModel(configuration)

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

