Transformers documentation
Bark
Bu model, 2023-07-17 tarihinde Hugging Face Transformers'a katkıda bulunulmuştur.
Bark
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
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = 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ılan0.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.configBarkProcessor
sınıf transformers.BarkProcessor
< source >( 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, ilgilinp.ndarraydosya yoluna karşılık gelir.voice_preset_nameslistesini 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__
< source >( 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, setis_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", veyaBark'ın her alt modeli içinnp.ndarraygömlemelerinden oluşan bir sözlük olabilir. Veya,"semantic_prompt","coarse_prompt"ve"fine_prompt"anahtarlarını içeren yerel bir.npztek ses ön ayarının geçerli bir dosya adı olabilir. - return_tensors (`
, defaults topt`) — Belirlenirse, belirli bir çerçeveye ait tensörler döndürülür. Kabul edilen değerler şunlardır:'pt': PyTorchtorch.Tensornesnelerini döndürür.'np': NumPynp.ndarraynesnelerini döndürür.
- max_length (
int, varsayılan olarak256) — Kesme/doldurma parametrelerinden birinin kullanacağı maksimum uzunluğu kontrol eder.Eğer ayarlanmazsa veya
Noneolarak 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ılanFalse) — Dizileri kodlarken özel jetonların eklenip eklenmeyeceğini belirtir. Bu, girdi kimliklerine otomatik olarak eklenen jetonları tanımlayan alttakiPretrainedTokenizerBase.build_inputs_with_special_tokensişlevini kullanır.bosveyaeosjetonlarını otomatik olarak eklemek istiyorsanız bu işe yarar. - return_attention_mask (
bool, varsayılan olarakTrue) — 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. - return_token_type_ids (
bool, varsayılan olarakFalse) — 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ğerreturn_outputsözniteliği ile tanımlanır.
Dönüş değeri
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
< source >( pretrained_processor_name_or_pathspeaker_embeddings_dict_path = 'speaker_embeddings_path.json'**kwargs )
Parametreler
- pretrained_model_name_or_path (
strveyaos.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_pathiçinde yer alan speaker_embeddings sözlüğünü içeren.jsondosyasının adı.Noneise, speaker_embeddings yüklenmez. - **kwargs —
Her iki
~tokenization_utils_base.PreTrainedTokenizer.from_pretrainedfonksiyonuna da iletilen ek anahtar kelime argümanları.
Önceden eğitilmiş bir modelle ilişkili bir Bark işlemcisini örnekleyin.
save_pretrained
< source >( save_directoryspeaker_embeddings_dict_path = 'speaker_embeddings_path.json'speaker_embeddings_directory = 'speaker_embeddings'push_to_hub: bool = False**kwargs )
Parametreler
- save_directory (
strveyaos.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 vepretrained_model_name_or_path/speaker_embeddings_directoryiçinde bulunacak.jsondosyası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ılanFalse) — Modelinizi kaydettikten sonra Hugging Face model hub'ına gönderip göndermeyeceğinizi belirtir. Göndermek istediğiniz depoyurepo_idile belirtebilirsiniz (varsayılan olarak ad alanınızdakisave_directoryadı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
< source >( 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.
encodeciç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
< source >( 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ıBarkkonuş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
generateyöntemi için**kwargsolarak girileceklerdir. - semantic_, coarse_, fine_ önekiyle başlayanlar, sırasıyla semantic, coarse ve fine için
generateyö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.
- Önek olmadan, her alt modelin
- 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=Trueolduğ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
< source >( accelerator_id: int | None = 0**kwargs )
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
< source >( 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
< source >( 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.
- 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 genelliklepast_key_valuesdeğerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülenuse_cache=Trueveyaconfig.use_cache=True.Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın.
past_key_valuesgeçirilmezse, varsayılan olarak DynamicCache başlatılır.Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.
past_key_valueskullanılıyorsa, kullanıcının tüminput_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.
- 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]. - 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_idsdocstring'ine bakın). Endeksleri-100olarak 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_idsyerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu,input_idsdizinlerini 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ı) —Trueolarak ayarlanırsa,past_key_valuesanahtar 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ındakiattentionsbö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ındakihidden_statesbö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ı,labelssağ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=Truegeçirildiğinde veyaconfig.use_cache=Trueolduğ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_valuesgirdisi) 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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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
< source >( 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
< source >( 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.
- 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 genelliklepast_key_valuesdeğerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülenuse_cache=Trueveyaconfig.use_cache=True.Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın.
past_key_valuesgeçirilmezse, varsayılan olarak DynamicCache başlatılır.Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.
past_key_valueskullanılıyorsa, kullanıcının tüminput_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.
- 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]. - 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_idsdocstring'ine bakın). Endeksleri-100olarak 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_idsyerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu,input_idsdizinlerini 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ı) —Trueolarak ayarlanırsa,past_key_valuesanahtar 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ındakiattentionsbö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ındakihidden_statesbö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ı,labelssağ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=Truegeçirildiğinde veyaconfig.use_cache=Trueolduğ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_valuesgirdisi) 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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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
< source >( 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
< source >( 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.
- 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.
- 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]. - 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_idsyerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu,input_idsdizinlerini 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ındakiattentionsbö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ındakihidden_statesbö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ı,labelssağ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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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
forward
< source >( 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.
- 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 genelliklepast_key_valuesdeğerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülenuse_cache=Trueveyaconfig.use_cache=True.Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın.
past_key_valuesgeçirilmezse, varsayılan olarak DynamicCache başlatılır.Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.
past_key_valueskullanılıyorsa, kullanıcının tüminput_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.
- 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]. - 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_idsdocstring'ine bakın). Endeksleri-100olarak 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_idsyerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu,input_idsdizinlerini 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ı) —Trueolarak ayarlanırsa,past_key_valuesanahtar 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ındakiattentionsbö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ındakihidden_statesbö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ı,labelssağ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=Truegeçirildiğinde veyaconfig.use_cache=Trueolduğ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_valuesgirdisi) 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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = 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çirileninputs_idstarafı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ırkenoutput_idstarafı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ılan12) — Transformer çözücüdeki gizli katman sayısı. - num_heads (
int, isteğe bağlı, varsayılan12) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı. - hidden_size (
int, isteğe bağlı, varsayılan768) — Gizli temsillerin boyutu. - dropout (
Union[float, int], isteğe bağlı, varsayılan0.0) — Tüm dropout katmanları için oran. - bias (
bool, isteğe bağlı, varsayılanTrue) — Doğrusal katmanlarda ve katman normalizasyonu katmanlarında sapma (bias) kullanılıp kullanılmayacağı - initializer_range (
float, isteğe bağlı, varsayılan0.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ılanTrue) — Modelin son anahtar/değer dikkatlerini (tüm modellerde kullanılmaz) döndürüp döndürmeyeceği. Yalnızcaconfig.is_decoder=Trueolduğ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.configBarkFineConfig
sınıf transformers.BarkFineConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = 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çirileninputs_idstarafı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ırkenoutput_idstarafı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ılan12) — Transformer çözücüdeki gizli katman sayısı. - num_heads (
int, isteğe bağlı, varsayılan12) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı. - hidden_size (
int, isteğe bağlı, varsayılan768) — Gizli temsillerin boyutu. - dropout (
Union[float, int], isteğe bağlı, varsayılan0.0) — Tüm dropout katmanları için oran. - bias (
bool, isteğe bağlı, varsayılanTrue) — Doğrusal katmanlarda ve katman normalizasyonu katmanlarında sapma (bias) kullanılıp kullanılmayacağı - initializer_range (
float, isteğe bağlı, varsayılan0.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ılanTrue) — Modelin son anahtar/değer dikkatlerini (tüm modellerde kullanılmaz) döndürüp döndürmeyeceği. Yalnızcaconfig.is_decoder=Trueolduğunda veya model yalnızca çözücü tabanlı üretken bir model olduğunda geçerlidir. - tie_word_embeddings (
bool, isteğe bağlı, varsayılanTrue) — Modelintied_weights_keyseş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.configBarkSemanticConfig
sınıf transformers.BarkSemanticConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = 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çirileninputs_idstarafı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ırkenoutput_idstarafı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ılan12) — Transformer çözücüdeki gizli katman sayısı. - num_heads (
int, isteğe bağlı, varsayılan12) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı. - hidden_size (
int, isteğe bağlı, varsayılan768) — Gizli temsillerin boyutu. - dropout (
Union[float, int], isteğe bağlı, varsayılan0.0) — Tüm dropout katmanları için oran. - bias (
bool, isteğe bağlı, varsayılanTrue) — Doğrusal katmanlarda ve katman normalizasyonu katmanlarında sapma (bias) kullanılıp kullanılmayacağı - initializer_range (
float, isteğe bağlı, varsayılan0.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ılanTrue) — Modelin son anahtar/değer dikkatlerini (tüm modellerde kullanılmaz) döndürüp döndürmeyeceği. Yalnızcaconfig.is_decoder=Trueolduğ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