Transformers documentation

Bark

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Bu model, 2023-07-17 tarihinde Hugging Face Transformers'a katkıda bulunulmuştur.

Bark

FlashAttention

Genel Bakış

Bark, Suno AI tarafından suno-ai/bark içinde önerilen, transformer tabanlı bir metinden ses üretim modelidir.

Bark, 4 ana modelden oluşur:

  • BarkSemanticModel (aynı zamanda ‘text’ modeli olarak da anılır): girdi olarak tokenize edilmiş metin alır ve metnin anlamını yakalayan semantik metin tokenlarını tahmin eden nedensel otoregresif bir transformer modelidir.
  • BarkCoarseModel (‘coarse acoustics’ modeli olarak da anılır): BarkSemanticModel modelinin çıktılarını girdi olarak alan nedensel otoregresif bir transformer’dır. EnCodec için gerekli olan ilk iki ses kod kitabını tahmin etmeyi hedefler.
  • BarkFineModel (‘fine acoustics’ modeli), bu sefer nedensiz (non-causal) bir otoenkoder transformer; önceki codebook gömme değerlerinin toplamına dayanarak son codebook’ları yinelemeli olarak tahmin eder.
  • EncodecModel ile tüm codebook kanalları tahmin edildikten sonra Bark, çıktı ses dizisini çözmek için bunu kullanır.

İlk üç modülden her birinin, belirli önceden tanımlanmış bir sese göre çıktı sesini koşullandırmak için koşullu konuşmacı gömme (conditional speaker embeddings) destekleyebileceği not edilmelidir.

Bu model Yoach Lacombe (ylacombe) ve Sanchit Gandhi (sanchit-gandhi) tarafından katkıda bulunmuştur. Orijinal kod burada bulunabilir.

Bark'ın Optimize Edilmesi

Bark, yalnızca birkaç ek satır kodla optimize edilebilir; bu sayede hafıza ayak izi önemli ölçüde azalır ve çıkarsama hızlanır.

Yarım hassasiyet kullanma

Modeli yarım hassasiyette yükleyerek çıkarımı hızlandırabilir ve bellek kullanımını %50 oranında azaltabilirsiniz.

from transformers import BarkModel


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

CPU offload kullanma

Yukarıda belirtildiği gibi Bark, ses üretimi sırasında sırayla çağrılan 4 alt modelden oluşur. Başka bir deyişle, bir alt model kullanılırken diğer alt modeller boşta kalır.

CUDA GPU veya Intel XPU kullanıyorsanız, bellek kullanımını %80 oranında azaltmanın basit bir çözümü, alt modeller boşta kaldığında bunları cihazdan CPU'ya aktarmaktır. Bu işlem CPU offloading olarak adlandırılır. Aşağıdaki gibi tek satır kodla kullanabilirsiniz:

model.enable_cpu_offload()

Bu özelliği kullanmadan önce 🤗 Accelerate'in yüklü olduğundan emin olun. Buradan nasıl yükleneceğini öğrenebilirsiniz.

Flash Attention 2 Kullanımı

Flash Attention 2, önceki optimizasyonun daha hızlı ve optimize edilmiş bir sürümüdür.

Kurulum

Öncelikle donanımınızın Flash Attention 2 ile uyumlu olup olmadığını kontrol edin. Uyumlu donanımların güncel listesini resmi belgelerde bulabilirsiniz. Ardından, Flash Attention 2'nin en son sürümünü kurun:

pip install -U flash-attn --no-build-isolation
Kullanım

Flash Attention 2 kullanarak bir model yüklemek için from_pretrained() fonksiyonuna attn_implementation="flash_attention_2" bayrağını iletebiliriz. Ses kalitesinde neredeyse hiçbir bozulmaya yol açmaması, bellek kullanımını önemli ölçüde azaltması ve çıkarımı hızlandırması nedeniyle modeli yarı hassasiyette (ör. torch.float16) de yükleyeceğiz:

model = BarkModel.from_pretrained("suno/bark-small", attn_implementation="flash_attention_2", device_map="auto")
Performans karşılaştırması

Aşağıdaki diyagram, yerel dikkat (attention) uygulamasının (optimizasyon yok) gecikmesini Flash Attention 2 ile karşılaştırır. Tüm durumlarda, PyTorch 2.1 ile 40GB A100 GPU üzerinde 400 anlamsal token üretilir:

Bunu perspektife oturtmak için, bir NVIDIA A100 üzerinde ve 16 toplu işlem boyutuyla 400 anlamsal token üretildiğinde, yerel model uygulamasıyla cümleleri tek tek üretmeye kıyasla geçirgenliği 17 kat artırabilir ve hâlâ 2 saniye daha hızlı olabilirsiniz. Başka bir deyişle, tüm örnekler 17 kat daha hızlı üretilecektir.

Optimizasyon tekniklerini birleştirme

Optimizasyon tekniklerini birleştirebilir ve CPU offload, yarı hassasiyet ve Flash Attention 2'yi aynı anda kullanabilirsiniz.

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

Çıkarım optimizasyon teknikleri hakkında daha fazla bilgi için buraya bakın.

Kullanım ipuçları

Suno, burada birçok dilde ses ön ayarları kütüphanesi sunar. Bu ön ayarlar ayrıca hub'da burada veya burada yüklenmiştir.

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, müzik, arka plan gürültüsü ve basit ses efektleri dahil olmak üzere son derece gerçekçi, çok dilli konuşma ve diğer sesleri üretebilir.

# 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()

Model ayrıca gülme, iç çekme ve ağlama gibi sözsüz iletişim unsurları da üretebilir.

# 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()

Ses dosyasını kaydetmek için, örneklem hızını model yapılandırmasından alın ve bazı scipy yardımcı işlevlerini kullanın:

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

sınıf transformers.BarkConfig

< >

( 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 = Nonesemantic_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonecoarse_acoustics_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonefine_acoustics_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonecodec_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneinitializer_range: float = 0.02 )

Parametreler

  • semantic_config (BarkSemanticConfig, isteğe bağlı) — Alt yatan semantik alt modelinin yapılandırması.
  • coarse_acoustics_config (BarkCoarseConfig, isteğe bağlı) — Altta yatan kaba akustik alt modelinin yapılandırması.
  • fine_acoustics_config (BarkFineConfig, isteğe bağlı) — Alt düzey ince akustik alt modelinin yapılandırması.
  • codec_config (AutoConfig, isteğe bağlı) — Altta yatan codec alt modelinin yapılandırması.
  • initializer_range (float, isteğe bağlı, varsayılan 0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.

Bu, bir BarkModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Bark modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneklendiğinde, suno/bark ile benzer bir yapılandırma elde edilir.

Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.

Örnek:

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

sınıf transformers.BarkProcessor

< >

( tokenizerspeaker_embeddings = None )

Parametreler

  • tokenizer (BertTokenizer) — Tokenizer zorunlu bir girdidir.
  • speaker_embeddings (dict[dict[str]], isteğe bağlı) — İsteğe bağlı iç içe konuşmacı gömme sözlüğü. Birinci seviye ses ön ayar adlarını içerir (ör. "en_speaker_4"). İkinci seviye "semantic_prompt", "coarse_prompt" ve "fine_prompt" gömme değerlerini içerir. Değerler, ilgili np.ndarray dosya yoluna karşılık gelir. voice_preset_names listesini burada bulabilirsiniz.

Bir tokenizer'ı tek bir işlemciye sararak bir BarkProcessor oluşturur.

BarkProcessor, BertTokenizer'in tüm işlevlerini sunar. Daha fazla bilgi için ~BertTokenizer'a bakın.

__call__

< >

( text = Nonevoice_preset = Nonereturn_tensors = 'pt'max_length = 256add_special_tokens = Falsereturn_attention_mask = Truereturn_token_type_ids = False**kwargs ) → BatchEncoding

Parametreler

  • 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` to avoid ambiguity with batched inputs.
  • voice_preset (str, dict[np.ndarray]) — Ses ön ayarı, yani konuşmacı gömlemeleri. Geçerli bir voice_preset adı, örn. "en_speaker_1", veya Bark'ın her alt modeli için np.ndarray gömlemelerinden oluşan bir sözlük olabilir. Veya, "semantic_prompt", "coarse_prompt" ve "fine_prompt" anahtarlarını içeren yerel bir .npz tek ses ön ayarının geçerli bir dosya adı olabilir.
  • return_tensors (`, defaults to pt`) — Belirlenirse, belirli bir çerçeveye ait tensörler döndürülür. Kabul edilen değerler şunlardır:
    • 'pt': PyTorch torch.Tensor nesnelerini döndürür.
    • 'np': NumPy np.ndarray nesnelerini döndürür.
  • max_length (int, varsayılan olarak 256) — Kesme/doldurma parametrelerinden birinin kullanacağı maksimum uzunluğu kontrol eder.

    Eğer ayarlanmazsa veya None olarak ayarlanırsa, kırpma/dolgu parametrelerinden biri tarafından bir maksimum uzunluk gerekiyorsa, bu, önceden tanımlanmış modelin maksimum uzunluğunu kullanır. Modelin belirli bir maksimum giriş uzunluğu yoksa (XLNet gibi), maksimum uzunluğa kırpma/dolgu devre dışı bırakılır.

  • add_special_tokens (bool, varsayılan False) — Dizileri kodlarken özel jetonların eklenip eklenmeyeceğini belirtir. Bu, girdi kimliklerine otomatik olarak eklenen jetonları tanımlayan alttaki PretrainedTokenizerBase.build_inputs_with_special_tokens işlevini kullanır. bos veya eos jetonlarını otomatik olarak eklemek istiyorsanız bu işe yarar.
  • return_attention_mask (bool, varsayılan olarak True) — Dikkat maskesinin (attention mask) döndürülüp döndürülmeyeceği. Varsayılan bırakılırsa, return_outputs özniteliğinde tanımlanan, ilgili tokenizer'ın varsayılanına göre dikkat maskesini döndürür.

    Dikkat maskeleri nedir?

  • return_token_type_ids (bool, varsayılan olarak False) — token type ID'lerinin döndürülüp döndürülmeyeceğini belirtir. Varsayılan değer bırakılırsa, ilgili tokenizer'ın varsayılanına göre token type ID'leri döndürülür; bu değer return_outputs özniteliği ile tanımlanır.

    Token type ID'leri nelerdir?

Dönüş değeri

BatchEncoding

tokenizer çıktısını içeren bir BatchEncoding nesnesi. Bir ses ön ayarı sağlanırsa, döndürülen nesne doğru tensör türüne sahip ses ön ayarını içeren bir BatchFeature olan "history_prompt" anahtarını da içerecektir.

from_pretrained

< >

( pretrained_processor_name_or_pathspeaker_embeddings_dict_path = 'speaker_embeddings_path.json'**kwargs )

Parametreler

  • pretrained_model_name_or_path (str veya os.PathLike) — Bunlardan biri olabilir:
    • bir dize, huggingface.co'daki bir model deposunda barındırılan ön eğitilmiş bir BarkProcessor'ın model kimliği.
    • save_pretrained() yöntemiyle kaydedilmiş bir işlemciyi içeren bir dizin için bir yol, örneğin ./my_model_directory/.
  • speaker_embeddings_dict_path (str, isteğe bağlı, varsayılan "speaker_embeddings_path.json") — pretrained_model_name_or_path içinde yer alan speaker_embeddings sözlüğünü içeren .json dosyasının adı. None ise, speaker_embeddings yüklenmez.
  • **kwargs — Her iki ~tokenization_utils_base.PreTrainedTokenizer.from_pretrained fonksiyonuna da iletilen ek anahtar kelime argümanları.

Önceden eğitilmiş bir modelle ilişkili bir Bark işlemcisini örnekleyin.

save_pretrained

< >

( save_directoryspeaker_embeddings_dict_path = 'speaker_embeddings_path.json'speaker_embeddings_directory = 'speaker_embeddings'push_to_hub: bool = False**kwargs )

Parametreler

  • save_directory (str veya os.PathLike) — Tokenizör dosyalarının ve konuşmacı gömme değerlerinin (speaker embeddings) kaydedileceği dizin (dizin mevcut değilse oluşturulur).
  • speaker_embeddings_dict_path (str, isteğe bağlı, varsayılan "speaker_embeddings_path.json") — Varsa, speaker_embeddings iç içe yol sözlüğünü içerecek ve pretrained_model_name_or_path/speaker_embeddings_directory içinde bulunacak .json dosyasının adı.
  • speaker_embeddings_directory (str, isteğe bağlı, varsayılan "speaker_embeddings/") — speaker_embeddings dizilerinin kaydedileceği klasörün adı.
  • push_to_hub (bool, isteğe bağlı, varsayılan False) — Modelinizi kaydettikten sonra Hugging Face model hub'ına gönderip göndermeyeceğinizi belirtir. Göndermek istediğiniz depoyu repo_id ile belirtebilirsiniz (varsayılan olarak ad alanınızdaki save_directory adını kullanır).
  • kwargs — push_to_hub() yöntemine iletilen ek anahtar kelime argümanları.

Bu işleyicinin (tokenizör…) özniteliklerini, from_pretrained() yöntemiyle yeniden yüklenebilmesi için belirtilen dizinde kaydeder.

BarkModel

sınıf transformers.BarkModel

< >

( config: BarkConfig )

Parametreler

  • config (BarkConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.

Tam Bark modeli, 4 alt modelden oluşan bir metinden konuşmaya modelidir:

  • BarkSemanticModel (aynı zamanda ‘text’ modeli olarak da anılır): girdi olarak tokenize edilmiş metin alır ve metnin anlamını yakalayan semantik metin tokenlarını tahmin eden nedensel otoregresif bir transformer modelidir.
  • BarkCoarseModel (aynı zamanda ‘coarse acoustics’ modeli olarak da anılır), son modelin sonuçlarını girdi olarak alan, yine nedensel otoregresif bir transformer'dır. encodec için gerekli olan ilk iki ses kod kitabını regresyonla tahmin etmeyi hedefler.
  • BarkFineModel (‘fine acoustics’ modeli), bu sefer nedensiz (non-causal) bir otoenkoder transformer; önceki codebook gömme değerlerinin toplamına dayanarak son codebook’ları yinelemeli olarak tahmin eder.
  • EncodecModel ile tüm codebook kanalları tahmin edildikten sonra Bark, çıktı ses dizisini çözmek için bunu kullanır.

İlk üç modülden her birinin, belirli önceden tanımlanmış bir sese göre çıktı sesini koşullandırmak için koşullu konuşmacı gömme (conditional speaker embeddings) destekleyebileceği not edilmelidir.

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

generate

< >

( input_ids: typing.Optional[torch.Tensor] = Nonehistory_prompt: dict[str, torch.Tensor] | None = Nonereturn_output_lengths: bool | None = None**kwargs ) → By default

Parametreler

  • input_ids (Optional[torch.Tensor] of shape (batch_size, seq_len), isteğe bağlı) — Girdi kimlikleri. 256 token'a kadar kısaltılır. Dikkat edin, çıktı sesleri, batch içindeki en uzun üretim kadar uzun olacaktır.
  • history_prompt (Optional[dict[str,torch.Tensor]], isteğe bağlı) — İsteğe bağlı Bark konuşmacı komutu. Şu an için bu model, parti başına yalnızca bir konuşmacı komutu alır.
  • kwargs (isteğe bağlı) — Kalan anahtar kelime argümanları sözlüğü. Anahtar kelime argümanları iki türdedir:
    • Önek olmadan, her alt modelin generate yöntemi için **kwargs olarak girileceklerdir.
    • semantic_, coarse_, fine_ önekiyle başlayanlar, sırasıyla semantic, coarse ve fine için generate yönteminin girdisi olarak kullanılır. Öneki olmayan anahtar kelimelere göre önceliğe sahiptir.

    Bu, örneğin, bir alt model hariç tüm alt modeller için bir üretim stratejisi belirleyebileceğiniz anlamına gelir.

  • return_output_lengths (bool, isteğe bağlı) — Dalga formu uzunluklarının döndürülüp döndürülmemesi. Toplu işlem (batching) sırasında faydalıdır.

Dönüş değeri

Varsayılan olarak

  • audio_waveform (şekli (batch_size, seq_len) olan torch.Tensor): Üretilen ses dalgası. return_output_lengths=True olduğunda: Aşağıdakilerden oluşan bir demet döndürür:
  • audio_waveform (şekli (batch_size, seq_len) olan torch.Tensor): Üretilen ses dalgası formu.
  • output_lengths (şekli (batch_size) olan torch.Tensor): Toplu işlemdeki her dalga formunun uzunluğu

Bir girdi isteminden ve ek olarak isteğe bağlı bir Bark konuşmacı isteminden ses üretir.

Örnek:

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

< >

( accelerator_id: int | None = 0**kwargs )

Parametreler

  • accelerator_id (int, isteğe bağlı, varsayılan 0) — alt modellerin yükleneceği ve dışa aktarılacağı hızlandırıcı kimliği.

Tüm alt modelleri accelerate kullanarak CPU'ya taşır ve performans üzerindeki etkisi düşük kalarak bellek kullanımını azaltır. Bu yöntem, bir alt model kullanıldığında bir bütün olarak bir alt modeli bir kez hızlandırıcıya taşır ve alt model, bir sonraki alt model çalışana kadar hızlandırıcıda kalır.

BarkSemanticModel

sınıf transformers.BarkSemanticModel

< >

( config: BarkSubModelConfig )

Parametreler

  • config (BarkSubModelConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.

Bark semantik (veya metin) modeli. Kaba modelle aynı mimariyi paylaşır. Üstünde bir dil modelleme kafası bulunan, GPT-2 benzeri bir otoregresif modeldir.

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

forward

< >

( input_ids: typing.Optional[torch.Tensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → CausalLMOutputWithPast or tuple(torch.Tensor)

Parametreler

  • input_ids (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.

    Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.

    Girdi kimlikleri nelerdir?

  • past_key_values (~cache_utils.Cache, isteğe bağlı) — Sıralı çözümlemeyi hızlandırmak için kullanılabilen önceden hesaplanmış gizli durumlar (self-attention ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle past_key_values değerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülen use_cache=True veya config.use_cache=True.

    Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın. past_key_values geçirilmezse, varsayılan olarak DynamicCache başlatılır.

    Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.

    past_key_values kullanılıyorsa, kullanıcının tüm input_ids (şekli (batch_size, sequence_length)) yerine, bu modele geçmiş anahtar değer durumları verilmemiş olan, işlenmemiş input_ids (şekli (batch_size, unprocessed_length)) girmesi beklenir.

  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • position_ids (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Girdi dizilerindeki her token'ın konum gömme (position embedding) içindeki konum indeksleri. Seçim aralığı [0, config.n_positions - 1].

    Pozisyon kimlikleri nedir?

  • labels (torch.LongTensor, şekli (batch_size, sequence_length), isteğe bağlı) — Maskeli dil modelleme kaybını hesaplamak için etiketler. Endeksler [0, ..., config.vocab_size] aralığında olmalı ya da -100 olmalı (input_ids docstring'ine bakın). Endeksleri -100 olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca etiketleri [0, ..., config.vocab_size] aralığında olan tokenlar için hesaplanır.
  • inputs_embeds (torch.Tensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak, input_ids yerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu, input_ids dizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisinden daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.
  • use_cache (bool, isteğe bağlı) — True olarak ayarlanırsa, past_key_values anahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz. past_key_values).
  • output_attentions (bool, isteğe bağlı) — Tüm dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki attentions bölümüne bakın.
  • output_hidden_states (bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki hidden_states bölümüne bakın.
  • return_dict (bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?

Dönüş değeri

CausalLMOutputWithPast veya tuple(torch.Tensor)

Bir CausalLMOutputWithPast veya bir torch.Tensor demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (BarkConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

BarkCausalModel forward metodu, __call__ özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine Module örneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

  • loss (torch.Tensor, şekli (1,), isteğe bağlı, labels sağlandığında döndürülür) — Dil modelleme kaybı (sonraki token tahmini için).

  • logits (torch.Tensor, şekli (batch_size, sequence_length, config.vocab_size)) — Dil modelleme başlığının tahmin puanları (SoftMax öncesi her sözlük jetonu için puanlar).

  • past_key_values (Cache, isteğe bağlı, use_cache=True geçirildiğinde veya config.use_cache=True olduğunda döndürülür) — Bir Cache örneğidir. Daha fazla ayrıntı için kv cache kılavuzumuza bakın.

    Sıralı çözümlemeyi hızlandırmak için (bkz. past_key_values girdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki anahtar ve değerler) içerir.

  • hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren, (batch_size, sequence_length, hidden_size) biçiminde bir demet.

    Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.

  • attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length).

    Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

BarkCoarseModel

sınıf transformers.BarkCoarseModel

< >

( config: BarkSubModelConfig )

Parametreler

  • config (BarkSubModelConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.

Bark kaba akustik modeli. Anlam (veya metin) modeliyle aynı mimariyi paylaşır. Üstünde bir dil modelleme kafası bulunan, GPT-2 benzeri bir otoregresif modeldir.

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

forward

< >

( input_ids: typing.Optional[torch.Tensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → CausalLMOutputWithPast or tuple(torch.Tensor)

Parametreler

  • input_ids (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.

    Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.

    Girdi kimlikleri nelerdir?

  • past_key_values (~cache_utils.Cache, isteğe bağlı) — Sıralı çözümlemeyi hızlandırmak için kullanılabilen önceden hesaplanmış gizli durumlar (self-attention ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle past_key_values değerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülen use_cache=True veya config.use_cache=True.

    Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın. past_key_values geçirilmezse, varsayılan olarak DynamicCache başlatılır.

    Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.

    past_key_values kullanılıyorsa, kullanıcının tüm input_ids (şekli (batch_size, sequence_length)) yerine, bu modele geçmiş anahtar değer durumları verilmemiş olan, işlenmemiş input_ids (şekli (batch_size, unprocessed_length)) girmesi beklenir.

  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • position_ids (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Girdi dizilerindeki her token'ın konum gömme (position embedding) içindeki konum indeksleri. Seçim aralığı [0, config.n_positions - 1].

    Pozisyon kimlikleri nedir?

  • labels (torch.LongTensor, şekli (batch_size, sequence_length), isteğe bağlı) — Maskeli dil modelleme kaybını hesaplamak için etiketler. Endeksler [0, ..., config.vocab_size] aralığında olmalı ya da -100 olmalı (input_ids docstring'ine bakın). Endeksleri -100 olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca etiketleri [0, ..., config.vocab_size] aralığında olan tokenlar için hesaplanır.
  • inputs_embeds (torch.Tensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak, input_ids yerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu, input_ids dizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisinden daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.
  • use_cache (bool, isteğe bağlı) — True olarak ayarlanırsa, past_key_values anahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz. past_key_values).
  • output_attentions (bool, isteğe bağlı) — Tüm dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki attentions bölümüne bakın.
  • output_hidden_states (bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki hidden_states bölümüne bakın.
  • return_dict (bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?

Dönüş değeri

CausalLMOutputWithPast veya tuple(torch.Tensor)

Bir CausalLMOutputWithPast veya bir torch.Tensor demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (BarkConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

BarkCausalModel forward metodu, __call__ özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine Module örneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

  • loss (torch.Tensor, şekli (1,), isteğe bağlı, labels sağlandığında döndürülür) — Dil modelleme kaybı (sonraki token tahmini için).

  • logits (torch.Tensor, şekli (batch_size, sequence_length, config.vocab_size)) — Dil modelleme başlığının tahmin puanları (SoftMax öncesi her sözlük jetonu için puanlar).

  • past_key_values (Cache, isteğe bağlı, use_cache=True geçirildiğinde veya config.use_cache=True olduğunda döndürülür) — Bir Cache örneğidir. Daha fazla ayrıntı için kv cache kılavuzumuza bakın.

    Sıralı çözümlemeyi hızlandırmak için (bkz. past_key_values girdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki anahtar ve değerler) içerir.

  • hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren, (batch_size, sequence_length, hidden_size) biçiminde bir demet.

    Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.

  • attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length).

    Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

BarkFineModel

sınıf transformers.BarkFineModel

< >

( config: BarkFineConfig )

Parametreler

  • config (BarkFineConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.

Bark ince akustik modeli. config.n_codes_total gömme katmanına ve dil modelleme başlarına sahip, nedensiz (non-causal) GPT benzeri bir modeldir; her kod kitabı için bir baş vardır.

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

forward

< >

( codebook_idx: intinput_ids: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → MaskedLMOutput or tuple(torch.Tensor)

Parametreler

  • codebook_idx (int) — Tahmin edilecek codebook'un indeksi.
  • input_ids (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.

    Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.

    Girdi kimlikleri nelerdir?

  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • position_ids (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Girdi dizilerindeki her token'ın konum gömme (position embedding) içindeki konum indeksleri. Seçim aralığı [0, config.n_positions - 1].

    Pozisyon kimlikleri nedir?

  • labels (torch.LongTensor, şekli (batch_size, sequence_length), isteğe bağlı) — HENÜZ UYGULANMADI.
  • inputs_embeds (torch.Tensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak, input_ids yerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu, input_ids dizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisinden daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.
  • output_attentions (bool, isteğe bağlı) — Tüm dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki attentions bölümüne bakın.
  • output_hidden_states (bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki hidden_states bölümüne bakın.
  • return_dict (bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?

Dönüş değeri

MaskedLMOutput veya tuple(torch.Tensor)

Bir MaskedLMOutput veya torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (BarkConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

BarkFineModel forward metodu, __call__ özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine Module örneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

  • loss (torch.Tensor, şekli (1,), isteğe bağlı, labels sağlandığında döndürülür) — Maskeli dil modelleme (MLM) kaybı.

  • logits (torch.Tensor, şekli (batch_size, sequence_length, config.vocab_size)) — Dil modelleme başlığının tahmin puanları (SoftMax öncesi her sözlük jetonu için puanlar).

  • hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren, (batch_size, sequence_length, hidden_size) biçiminde bir demet.

    Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.

  • attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length).

    Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

BarkCausalModel

sınıf transformers.BarkCausalModel

< >

( config: BarkSubModelConfig )

forward

< >

( input_ids: typing.Optional[torch.Tensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → CausalLMOutputWithPast or tuple(torch.Tensor)

Parametreler

  • input_ids (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.

    Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.

    Girdi kimlikleri nelerdir?

  • past_key_values (~cache_utils.Cache, isteğe bağlı) — Sıralı çözümlemeyi hızlandırmak için kullanılabilen önceden hesaplanmış gizli durumlar (self-attention ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle past_key_values değerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülen use_cache=True veya config.use_cache=True.

    Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın. past_key_values geçirilmezse, varsayılan olarak DynamicCache başlatılır.

    Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.

    past_key_values kullanılıyorsa, kullanıcının tüm input_ids (şekli (batch_size, sequence_length)) yerine, bu modele geçmiş anahtar değer durumları verilmemiş olan, işlenmemiş input_ids (şekli (batch_size, unprocessed_length)) girmesi beklenir.

  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • position_ids (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Girdi dizilerindeki her token'ın konum gömme (position embedding) içindeki konum indeksleri. Seçim aralığı [0, config.n_positions - 1].

    Pozisyon kimlikleri nedir?

  • labels (torch.LongTensor, şekli (batch_size, sequence_length), isteğe bağlı) — Maskeli dil modelleme kaybını hesaplamak için etiketler. Endeksler [0, ..., config.vocab_size] aralığında olmalı ya da -100 olmalı (input_ids docstring'ine bakın). Endeksleri -100 olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca etiketleri [0, ..., config.vocab_size] aralığında olan tokenlar için hesaplanır.
  • inputs_embeds (torch.Tensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak, input_ids yerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu, input_ids dizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisinden daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.
  • use_cache (bool, isteğe bağlı) — True olarak ayarlanırsa, past_key_values anahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz. past_key_values).
  • output_attentions (bool, isteğe bağlı) — Tüm dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki attentions bölümüne bakın.
  • output_hidden_states (bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki hidden_states bölümüne bakın.
  • return_dict (bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?

Dönüş değeri

CausalLMOutputWithPast veya tuple(torch.Tensor)

Bir CausalLMOutputWithPast veya bir torch.Tensor demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (BarkConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

BarkCausalModel forward metodu, __call__ özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine Module örneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

  • loss (torch.Tensor, şekli (1,), isteğe bağlı, labels sağlandığında döndürülür) — Dil modelleme kaybı (sonraki token tahmini için).

  • logits (torch.Tensor, şekli (batch_size, sequence_length, config.vocab_size)) — Dil modelleme başlığının tahmin puanları (SoftMax öncesi her sözlük jetonu için puanlar).

  • past_key_values (Cache, isteğe bağlı, use_cache=True geçirildiğinde veya config.use_cache=True olduğunda döndürülür) — Bir Cache örneğidir. Daha fazla ayrıntı için kv cache kılavuzumuza bakın.

    Sıralı çözümlemeyi hızlandırmak için (bkz. past_key_values girdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki anahtar ve değerler) içerir.

  • hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren, (batch_size, sequence_length, hidden_size) biçiminde bir demet.

    Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.

  • attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length).

    Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

BarkCoarseConfig

sınıf transformers.BarkCoarseConfig

< >

( 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 = Noneblock_size: int = 1024input_vocab_size: int = 10048output_vocab_size: int = 10048num_layers: int = 12num_heads: int = 12hidden_size: int = 768dropout: float | int = 0.0bias: bool = Trueinitializer_range: float = 0.02use_cache: bool = True )

Parametreler

  • block_size (int, isteğe bağlı, varsayılan 1024) — Bu modelin kullanılabileceği maksimum dizi uzunluğu. Genellikle, olası durumlara karşı bu değeri büyük bir sayı olarak ayarlayın (ör. 512 veya 1024 veya 2048).
  • input_vocab_size (int, isteğe bağlı, varsayılan 10_048) — Bark alt modelinin sözlük boyutu. {model} çağrılırken geçirilen inputs_ids tarafından temsil edilebilecek farklı token sayısını tanımlar. Varsayılan değeri 10_048'dir ancak seçilen alt modele göre dikkatlice düşünülmelidir.
  • output_vocab_size (int, isteğe bağlı, varsayılan 10_048) — Bark alt modelinin çıktı sözlük boyutu. {model} ileriye aktarılırken output_ids tarafından temsil edilebilecek farklı jeton sayısını tanımlar. Varsayılan olarak 10_048'dür ancak seçilen alt modele göre dikkatlice düşünülmelidir.
  • num_layers (int, isteğe bağlı, varsayılan 12) — Transformer çözücüdeki gizli katman sayısı.
  • num_heads (int, isteğe bağlı, varsayılan 12) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • hidden_size (int, isteğe bağlı, varsayılan 768) — Gizli temsillerin boyutu.
  • dropout (Union[float, int], isteğe bağlı, varsayılan 0.0) — Tüm dropout katmanları için oran.
  • bias (bool, isteğe bağlı, varsayılan True) — Doğrusal katmanlarda ve katman normalizasyonu katmanlarında sapma (bias) kullanılıp kullanılmayacağı
  • initializer_range (float, isteğe bağlı, varsayılan 0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.
  • use_cache (bool, isteğe bağlı, varsayılan True) — Modelin son anahtar/değer dikkatlerini (tüm modellerde kullanılmaz) döndürüp döndürmeyeceği. Yalnızca config.is_decoder=True olduğunda veya model yalnızca çözücü tabanlı üretken bir model olduğunda geçerlidir.

Bu, bir BarkModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Bark modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneklendiğinde, suno/bark ile benzer bir yapılandırma elde edilir.

Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.

Örnek:

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

sınıf transformers.BarkFineConfig

< >

( 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 = Noneblock_size: int = 1024input_vocab_size: int = 10048output_vocab_size: int = 10048num_layers: int = 12num_heads: int = 12hidden_size: int = 768dropout: float | int = 0.0bias: bool = Trueinitializer_range: float = 0.02use_cache: bool = Truetie_word_embeddings: bool = Truen_codes_total: int = 8n_codes_given: int = 1 )

Parametreler

  • block_size (int, isteğe bağlı, varsayılan 1024) — Bu modelin kullanılabileceği maksimum dizi uzunluğu. Genellikle, olası durumlara karşı bu değeri büyük bir sayı olarak ayarlayın (ör. 512 veya 1024 veya 2048).
  • input_vocab_size (int, isteğe bağlı, varsayılan 10_048) — Bark alt modelinin sözlük boyutu. {model} çağrılırken geçirilen inputs_ids tarafından temsil edilebilecek farklı token sayısını tanımlar. Varsayılan değeri 10_048'dir ancak seçilen alt modele göre dikkatlice düşünülmelidir.
  • output_vocab_size (int, isteğe bağlı, varsayılan 10_048) — Bark alt modelinin çıktı sözlük boyutu. {model} ileriye aktarılırken output_ids tarafından temsil edilebilecek farklı jeton sayısını tanımlar. Varsayılan olarak 10_048'dür ancak seçilen alt modele göre dikkatlice düşünülmelidir.
  • num_layers (int, isteğe bağlı, varsayılan 12) — Transformer çözücüdeki gizli katman sayısı.
  • num_heads (int, isteğe bağlı, varsayılan 12) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • hidden_size (int, isteğe bağlı, varsayılan 768) — Gizli temsillerin boyutu.
  • dropout (Union[float, int], isteğe bağlı, varsayılan 0.0) — Tüm dropout katmanları için oran.
  • bias (bool, isteğe bağlı, varsayılan True) — Doğrusal katmanlarda ve katman normalizasyonu katmanlarında sapma (bias) kullanılıp kullanılmayacağı
  • initializer_range (float, isteğe bağlı, varsayılan 0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.
  • use_cache (bool, isteğe bağlı, varsayılan True) — Modelin son anahtar/değer dikkatlerini (tüm modellerde kullanılmaz) döndürüp döndürmeyeceği. Yalnızca config.is_decoder=True olduğunda veya model yalnızca çözücü tabanlı üretken bir model olduğunda geçerlidir.
  • tie_word_embeddings (bool, isteğe bağlı, varsayılan True) — Modelin tied_weights_keys eşlemesine göre ağırlık gömme bağlamalarının yapılıp yapılmayacağı.
  • n_codes_total (int, isteğe bağlı, varsayılan 8) — Tahmin edilen toplam ses kod kitabı sayısı. İnce akustik alt modelinde kullanılır.
  • n_codes_given (int, isteğe bağlı, varsayılan 1) — Kaba akustik alt modelinde tahmin edilen ses kod kitaplarının sayısı. Akustik alt modellerinde kullanılır.

Bu, bir BarkModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Bark modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneklendiğinde, suno/bark ile benzer bir yapılandırma elde edilir.

Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.

Örnek:

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

sınıf transformers.BarkSemanticConfig

< >

( 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 = Noneblock_size: int = 1024input_vocab_size: int = 10048output_vocab_size: int = 10048num_layers: int = 12num_heads: int = 12hidden_size: int = 768dropout: float | int = 0.0bias: bool = Trueinitializer_range: float = 0.02use_cache: bool = True )

Parametreler

  • block_size (int, isteğe bağlı, varsayılan 1024) — Bu modelin kullanılabileceği maksimum dizi uzunluğu. Genellikle, olası durumlara karşı bu değeri büyük bir sayı olarak ayarlayın (ör. 512 veya 1024 veya 2048).
  • input_vocab_size (int, isteğe bağlı, varsayılan 10_048) — Bark alt modelinin sözlük boyutu. {model} çağrılırken geçirilen inputs_ids tarafından temsil edilebilecek farklı token sayısını tanımlar. Varsayılan değeri 10_048'dir ancak seçilen alt modele göre dikkatlice düşünülmelidir.
  • output_vocab_size (int, isteğe bağlı, varsayılan 10_048) — Bark alt modelinin çıktı sözlük boyutu. {model} ileriye aktarılırken output_ids tarafından temsil edilebilecek farklı jeton sayısını tanımlar. Varsayılan olarak 10_048'dür ancak seçilen alt modele göre dikkatlice düşünülmelidir.
  • num_layers (int, isteğe bağlı, varsayılan 12) — Transformer çözücüdeki gizli katman sayısı.
  • num_heads (int, isteğe bağlı, varsayılan 12) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • hidden_size (int, isteğe bağlı, varsayılan 768) — Gizli temsillerin boyutu.
  • dropout (Union[float, int], isteğe bağlı, varsayılan 0.0) — Tüm dropout katmanları için oran.
  • bias (bool, isteğe bağlı, varsayılan True) — Doğrusal katmanlarda ve katman normalizasyonu katmanlarında sapma (bias) kullanılıp kullanılmayacağı
  • initializer_range (float, isteğe bağlı, varsayılan 0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.
  • use_cache (bool, isteğe bağlı, varsayılan True) — Modelin son anahtar/değer dikkatlerini (tüm modellerde kullanılmaz) döndürüp döndürmeyeceği. Yalnızca config.is_decoder=True olduğunda veya model yalnızca çözücü tabanlı üretken bir model olduğunda geçerlidir.

Bu, bir BarkModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Bark modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneklendiğinde, suno/bark ile benzer bir yapılandırma elde edilir.

Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.

Örnek:

>>> 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
Update on GitHub