Transformers documentation

Qwen2.5-Omni

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, 2025-03-26 tarihinde HF papers'ta yayımlandı ve 2025-04-14 tarihinde Hugging Face Transformers'a katkıda bulunuldu.

Qwen2.5-Omni

FlashAttention SDPA

Genel Bakış

Qwen2.5-Omni modeli, Alibaba Group bünyesindeki Qwen ekibinin Qwen2.5-Omni Technical Report raporunda önerilen, birleşik çoklu modallı bir modeldir.

Teknik rapordan alınan özet aşağıdaki gibidir:

Qwen2.5-Omni'yi sunuyoruz; metin, görsel, ses ve video gibi çeşitli modalitileri algılamak ve aynı anda metin ile doğal konuşma yanıtlarını akışkan (streaming) bir şekilde üretmek üzere tasarlanmış uçtan uca (end-to-end) bir multimodal modeldir. Multimodal bilgi girdilerinin akışkanlaştırılmasını (streaming) sağlamak için hem ses hem de görsel kodlayıcılar (encoder) blok bazlı bir işleme yaklaşımı kullanır. Bu strateji, multimodal verilerin uzun dizilerinin işlenmesini etkili bir şekilde ayrıştırarak algısal sorumlulukları multimodal kodlayıcıya (encoder) atar ve uzatılmış dizilerin modellemesini büyük bir dil modeline (LLM) emanet eder. Bu iş bölümü, farklı modalitelerin ortak dikkat (attention) mekanizması aracılığıyla birleştirilmesini (fusion) artırır. Video girdilerinin zaman damgalarını sesle senkronize etmek için, ses ve videoyu sıralı ve iç içe geçmiş (interleaved) bir şekilde düzenledik ve TMRoPE (Time-aligned Multimodal RoPE) adını verdiğimiz yeni bir konum gömme (position embedding) yaklaşımı önerdik. İki modalite arasındaki müdahaleyi önlerken metin ve konuşmayı eş zamanlı olarak üretmek için Thinker-Talker mimarisini öneriyoruz. Bu çerçevede Thinker, metin üretimiyle görevli bir büyük dil modeli (LLM) olarak çalışırken, Talker, Thinker'dan gelen gizli temsilleri (hidden representations) doğrudan kullanarak çıktı olarak ses token'ları üreten çift izlekli (dual-track) otoregresif bir modeldir. Hem Thinker hem de Talker modelleri, uçtan uca (end-to-end) bir şekilde eğitilmek ve çıkarım (inference) yapmak üzere tasarlanmıştır. Ses token'larını akışkan (streaming) bir şekilde çözmek (decode) için, ilk paket gecikmesini (initial package delay) azaltmayı hedefleyen, algı alanını (receptive field) kısıtlayan kayan pencere (sliding-window) DiT'yi tanıtıyoruz. Qwen2.5-Omni, hem görsel hem de ses yeteneklerinde benzer boyuttaki Qwen2-VL ve Qwen2-Audio modellerini geride bırakır. Ayrıca Qwen2.5-Omni, Omni-Bench gibi multimodal kıyaslamalarda (benchmark) en iyi performansı (state-of-the-art) elde eder. Önemle belirtmek gerekir ki, MMLU ve GSM8K gibi kıyaslamalarda (benchmark) kanıtlandığı üzere, Qwen2.5-Omni, metin girdileriyle olan yetenekleriyle karşılaştırılabilir düzeyde uçtan uca (end-to-end) ses talimatı izleme performansına ulaşan ilk açık kaynak modeldir. Konuşma üretimi açısından ise Qwen2.5-Omni'nin akışkan (streaming) Talker'ı, dayanıklılık ve doğallık açısından mevcut çoğu akışkan (streaming) ve akışkan olmayan (non-streaming) alternatifi geride bırakır.

from_pretrained() içinde use_kernels=True değerini ayarlayarak desteklenen katmanları Hub'daki optimize edilmiş çekirdeklerle değiştirin. Daha fazla bilgi için Çekirdekleri yükleme bölümüne bakın.

Notlar

  • Ses ve metin çıktısı üretmek için Qwen2_5OmniForConditionalGeneration sınıfını kullanın. Yalnızca tek bir çıktı türü üretmek için, yalnızca metin çıktısında Qwen2_5OmniThinkerForConditionalGeneration ve yalnızca ses çıktısında Qwen2_5OmniTalkersForConditionalGeneration sınıfını kullanın.
  • Video girişiyle çalışırken bellek dışı (out-of-memory) hataları oluşursa processor.max_pixels değerini azaltın. Varsayılan olarak maksimum değer çok yüksek bir değere ayarlanmıştır ve yüksek çözünürlüklü görseller, çözünürlük processor.max_pixels değerini aşılmadığı sürece yeniden boyutlandırılmaz.
  • İşleyicinin, sohbet mesajlarını model girdilerine dönüştürmek için kendi apply_chat_template() yöntemi vardır.

Kullanım örneği

Qwen2.5-Omni, Huggingface Hub'da bulunabilir.

Tekli Medya çıkarımı

Model, girdi olarak metin, görsel, ses ve video kabul edebilir. İşte çıkarım için örnek bir kod.

import soundfile as sf

from transformers import Qwen2_5OmniForConditionalGeneration, Qwen2_5OmniProcessor


model = Qwen2_5OmniForConditionalGeneration.from_pretrained(
    "Qwen/Qwen2.5-Omni-7B",
    device_map="auto",
)
processor = Qwen2_5OmniProcessor.from_pretrained("Qwen/Qwen2.5-Omni-7B")

conversations = [
    {
        "role": "system",
        "content": [
            {"type": "text", "text": "You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of perceiving auditory and visual inputs, as well as generating text and speech."}
        ],
    },
    {
        "role": "user",
        "content": [
            {"type": "video", "video": "/path/to/video.mp4"},
            {"type": "text", "text": "What can't you hear and see in this video?"},
        ],
    },
]

inputs = processor.apply_chat_template(
    conversations,
    load_audio_from_video=True,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
    fps=1,

    # kwargs to be passed to `Qwen2-5-OmniProcessor`
    padding=True,
    use_audio_in_video=True,
).to(model.device)

# Generation params for audio or text can be different and have to be prefixed with `thinker_` or `talker_`
text_ids, audio = model.generate(**inputs, use_audio_in_video=True, thinker_do_sample=False, talker_do_sample=True)
text = processor.batch_decode(text_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)

sf.write(
    "output.wav",
    audio.reshape(-1).detach().cpu().numpy(),
    samplerate=24000,
)
print(text)

Sadece metin üretimi

Sadece metin çıktısı üretmek ve ses üretim modelini yüklemeyerek hesaplama kaynağı tasarrufu sağlamak için Qwen2_5OmniThinkerForConditionalGeneration modelini kullanabiliriz.

from transformers import Qwen2_5OmniProcessor, Qwen2_5OmniThinkerForConditionalGeneration


model = Qwen2_5OmniThinkerForConditionalGeneration.from_pretrained(
    "Qwen/Qwen2.5-Omni-7B",
    device_map="auto",
)
processor = Qwen2_5OmniProcessor.from_pretrained("Qwen/Qwen2.5-Omni-7B")

conversations = [
    {
        "role": "system",
        "content": [
            {"type": "text", "text": "You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of perceiving auditory and visual inputs, as well as generating text and speech."}
        ],
    },
    {
        "role": "user",
        "content": [
            {"type": "video", "video": "/path/to/video.mp4"},
            {"type": "text", "text": "What can't you hear and see in this video?"},
        ],
    },
]

inputs = processor.apply_chat_template(
    conversations,
    load_audio_from_video=True,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
    fps=1,

    # kwargs to be passed to `Qwen2-5-OmniProcessor`
    padding=True,
    use_audio_in_video=True,
).to(model.device)


text_ids = model.generate(**inputs, use_audio_in_video=True)
text = processor.batch_decode(text_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)

print(text)

Toplu Karma Medya Çıkarımı

Qwen2_5OmniThinkerForConditionalGeneration modeli kullanıldığında, model; metin, görsel, ses ve video gibi çeşitli türlerden oluşan karışık örneklerden oluşan girdileri toplu (batch) olarak işleyebilir. Aşağıda bir örnek yer almaktadır.

from transformers import Qwen2_5OmniForConditionalGeneration, Qwen2_5OmniProcessor


model = Qwen2_5OmniForConditionalGeneration.from_pretrained(
    "Qwen/Qwen2.5-Omni-7B",
    device_map="auto"
)
processor = Qwen2_5OmniProcessor.from_pretrained("Qwen/Qwen2.5-Omni-7B")

# Conversation with video only
conversation1 = [
    {
        "role": "system",
        "content": [
            {"type": "text", "text": "You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of perceiving auditory and visual inputs, as well as generating text and speech."}
        ],
    },
    {
        "role": "user",
        "content": [
            {"type": "video", "path": "/path/to/video.mp4"},
        ]
    }
]

# Conversation with audio only
conversation2 = [
    {
        "role": "system",
        "content": [
            {"type": "text", "text": "You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of perceiving auditory and visual inputs, as well as generating text and speech."}
        ],
    },
    {
        "role": "user",
        "content": [
            {"type": "audio", "path": "/path/to/audio.wav"},
        ]
    }
]

# Conversation with pure text
conversation3 = [
    {
        "role": "system",
        "content": [
            {"type": "text", "text": "You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of perceiving auditory and visual inputs, as well as generating text and speech."}
        ],
    },
    {
        "role": "user",
        "content": [{"type": "text", "text": "who are you?"}],
    }
]


# Conversation with mixed media
conversation4 = [
    {
        "role": "system",
        "content": [
            {"type": "text", "text": "You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of perceiving auditory and visual inputs, as well as generating text and speech."}
        ],
    },
    {
        "role": "user",
        "content": [
            {"type": "image", "path": "/path/to/image.jpg"},
            {"type": "video", "path": "/path/to/video.mp4"},
            {"type": "audio", "path": "/path/to/audio.wav"},
            {"type": "text", "text": "What are the elements can you see and hear in these media?"},
        ],
    }
]

conversations = [conversation1, conversation2, conversation3, conversation4]

inputs = processor.apply_chat_template(
    conversations,
    load_audio_from_video=True,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
    fps=1,

    # kwargs to be passed to `Qwen2-5-OmniProcessor`
    padding=True,
    use_audio_in_video=True,
).to(model.thinker.device)

text_ids = model.generate(**inputs, use_audio_in_video=True)
text = processor.batch_decode(text_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)

print(text)

Ses üretimini toplu işleme

Qwen2_5OmniForConditionalGeneration, toplu (batched) ses çıktısı üretimini destekler. Örneğin, aşağıdaki metinden sese toplu üretim örneği gösterilmektedir. Birden fazla örnekten oluşan bir toplu işlemde, üretilen ses, her örnek için kendi uzunluğuna göre kırpılmış tek bir dalga formu içeren bir liste olarak döndürülür; böylece daha kısa örnekler gereksiz sesle doldurulmaz. Tek örnekli bir çağrı ise hâlâ tek bir tensör döndürür.

import soundfile as sf
from transformers import AutoModelForTextToWaveform, AutoProcessor
import torch

model_id = "Qwen/Qwen2.5-Omni-7B"
model = AutoModelForTextToWaveform.from_pretrained(model_id, device_map="auto")
processor = AutoProcessor.from_pretrained(model_id)
sampling_rate = 24000  # output sampling rate
max_new_tokens = 200  # maximum number of tokens to generate

system_text = (
    "You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of "
    "perceiving auditory and visual inputs, as well as generating text and speech."
)
texts = [
    "Hello, I'm Qwen. How can I help you today?",
    "The weather is nice today. Let's go for a walk.",
]
inputs = processor.apply_chat_template(
    [
        [
            {"role": "system", "content": [{"type": "text", "text": system_text}]},
            {
                "role": "user",
                "content": [
                    {
                        "type": "text",
                        "text": (
                            "Please read the following text aloud exactly as written, with no "
                            f"additional commentary:\n\n{text}"
                        ),
                    }
                ],
            },
        ]
        for text in texts
    ],
    tokenize=True,
    add_generation_prompt=True,
    return_dict=True,
    return_tensors="pt",
    processor_kwargs={"padding": True},
).to(model.device, dtype=model.dtype)

gen_kwargs = {
    "talker_do_sample": True,
    "speaker": "Ethan",  # Ethan, Chelsie
    "talker_max_new_tokens": max_new_tokens,
}
_, pred_waveform = model.generate(**inputs, **gen_kwargs)

for sample_id, audio in enumerate(pred_waveform):
    sf.write(
        f"qwen2_5_omni_output_{sample_id}.wav",
        audio.detach().to(torch.float32).cpu().numpy(),
        sampling_rate,
    )
    print(f"Saved audio to qwen2_5_omni_output_{sample_id}.wav")

Kullanım İpuçları

Görüntü Çözünürlüğü ödünleşimi

Model, geniş bir çözünürlük aralığında girdileri destekler. Varsayılan olarak girdi için yerel çözünürlüğü kullanır, ancak daha yüksek çözünürlükler, daha fazla hesaplama maliyeti karşılığında performansı artırabilir. Kullanıcılar, ihtiyaçlarına uygun en iyi yapılandırmayı elde etmek için minimum ve maksimum piksel sayısını ayarlayabilir.

min_pixels = 128*28*28
max_pixels = 768*28*28
processor = AutoProcessor.from_pretrained("Qwen/Qwen2.5-Omni-7B", min_pixels=min_pixels, max_pixels=max_pixels)

Ses çıktısı için istem

Kullanıcıların sesli çıktıya ihtiyacı varsa, sistem istemi “You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of perceiving auditory and visual inputs, as well as generating text and speech.” olarak ayarlanmalıdır; aksi takdirde sesli çıktı beklenildiği gibi çalışmayabilir.

{
    "role": "system",
    "content": "You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of perceiving auditory and visual inputs, as well as generating text and speech.",
}

Ses çıktısı kullanılır mı

Model hem metin hem de ses çıktılarını destekler; kullanıcılar ses çıktısına ihtiyaç duymuyorsa, from_pretrained fonksiyonunda enable_audio_output parametresini ayarlayabilir. Bu seçenek yaklaşık ~2GB GPU belleği tasarrufu sağlar ancak generate fonksiyonu için return_audio seçeneği yalnızca False olarak ayarlanabilir.

model = Qwen2_5OmniForConditionalGeneration.from_pretrained(
    "Qwen/Qwen2.5-Omni-7B",
    device_map="auto",
    enable_audio_output=False,
)

Esnek bir deneyim elde etmek için, kullanıcıların from_pretrained fonksiyonu üzerinden model başlatılırken enable_audio_output değerini True olarak ayarlamalarını ve ardından generate fonksiyonu çağrıldığında ses döndürülüp döndürülmeyeceğine karar vermelerini öneririz. return_audio değeri False olarak ayarlandığında, model daha hızlı metin yanıtları almak için yalnızca metin çıktıları döndürür.

model = Qwen2_5OmniForConditionalGeneration.from_pretrained(
    "Qwen/Qwen2.5-Omni-7B",
    device_map="auto",
    enable_audio_output=True,
)
...
text_ids = model.generate(**inputs, return_audio=False)

Çıktı sesinin ses türünü değiştirin

Qwen2.5-Omni, çıktı sesinin ses tipini değiştirme özelliğini destekler. Kullanıcılar, generate fonksiyonunun speaker parametresini kullanarak ses tipini belirleyebilir. "Qwen/Qwen2.5-Omni-7B" kontrol noktası iki ses tipini destekler: Chelsie ve Ethan; burada Chelsie kadın, Ethan ise erkek sesidir. Varsayılan olarak, speaker belirtilmediğinde varsayılan ses tipi Chelsie'dir.

text_ids, audio = model.generate(**inputs, speaker="Chelsie")
text_ids, audio = model.generate(**inputs, speaker="Ethan")

Üretim hızını artırmak için Flash-Attention 2

Öncelikle, Flash Attention 2'nin en son sürümünün yüklendiğinden emin olun:

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

Ayrıca, FlashAttention 2 ile uyumlu donanıma sahip olmanız gerekir. Bu konuda daha fazla bilgiyi flash attention deposunun resmi dokümantasyonunda bulabilirsiniz. FlashAttention-2 yalnızca bir model torch.float16 veya torch.bfloat16 olarak yüklendiğinde kullanılabilir.

FlashAttention-2 kullanarak bir model yüklemek ve çalıştırmak için, modeli yüklerken attn_implementation="flash_attention_2" parametresini ekleyin:

from transformers import Qwen2_5OmniForConditionalGeneration


model = Qwen2_5OmniForConditionalGeneration.from_pretrained(
    "Qwen/Qwen2.5-Omni-7B",
    device_map="auto",
    attn_implementation="flash_attention_2",
)

Qwen2_5OmniConfig

sınıf transformers.Qwen2_5OmniConfig

< >

( 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 = Nonethinker_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonetalker_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonetoken2wav_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneenable_audio_output: bool = True )

Parametreler

  • thinker_config (dict, isteğe bağlı) — Altta yatan thinker alt modelinin yapılandırması.
  • talker_config (dict, isteğe bağlı) — Altta yatan talker alt modelinin yapılandırması.
  • token2wav_config (dict, isteğe bağlı) — Altta yatan codec alt modelinin yapılandırması.
  • enable_audio_output (bool, isteğe bağlı, varsayılan True) — Sesli çıktıyı etkinleştirip etkinleştirmeyeceğini ve talker ile token2wav modüllerinin yüklenip yüklenmeyeceğini belirler.

Bu, bir Qwen2 5 OmniModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Qwen2 5 Omni modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, Qwen/Qwen2.5-Omni-7B 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 (
...     Qwen2_5OmniThinkerConfig,
...     Qwen2_5OmniTalkerConfig,
...     Qwen2_5OmniToken2WavConfig,
...     Qwen2_5OmniForConditionalGeneration,
...     Qwen2_5OmniConfig,
... )

>>> # Initializing sub-modules configurations.
>>> thinker_config = Qwen2_5OmniThinkerConfig()
>>> talker_config = Qwen2_5OmniTalkerConfig()
>>> token2wav_config = Qwen2_5OmniToken2WavConfig()


>>> # Initializing a module style configuration
>>> configuration = Qwen2_5OmniConfig(
...     thinker_config, talker_config, token2wav_config
... )

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

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

get_text_config

< >

( *args**kwargs )

Parametreler

  • decoder (Optional[bool], isteğe bağlı, varsayılan False) — True olarak ayarlanırsa, yalnızca decoder yapılandırma adları aranır.

Metin IO ile kullanılmak üzere tasarlanan config'i döndürür. Çoğu modelde bu, config örneğinin kendisidir. Belirli bileşik modellerde ise geçerli ad kümesinin altındadır.

Qwen2_5OmniVisionEncoderConfig

sınıf transformers.Qwen2_5OmniVisionEncoderConfig

< >

( 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 = Nonedepth: int = 32hidden_size: int = 3584hidden_act: str = 'silu'intermediate_size: int = 3420num_heads: int = 16in_channels: int = 3patch_size: int | list[int] | tuple[int, int] = 14spatial_merge_size: int = 2temporal_patch_size: int | list[int] | tuple[int, int] = 2window_size: int = 112out_hidden_size: int = 3584fullatt_block_indexes: list[int] | tuple[int, ...] = (7, 15, 23, 31)initializer_range: float = 0.02rope_parameters: dict | None = None )

Parametreler

  • depth (int, isteğe bağlı, varsayılan 32) — Görüntü kodlayıcıdaki Transformer katmanlarının sayısı.
  • hidden_size (int, isteğe bağlı, varsayılan 3584) — Gizli temsillerin boyutu.
  • hidden_act (str, isteğe bağlı, varsayılan silu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, "gelu", "relu", "silu" vb.
  • intermediate_size (int, isteğe bağlı, varsayılan 3420) — MLP temsillerinin boyutu.
  • num_heads (int, isteğe bağlı, varsayılan 16) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • in_channels (int, isteğe bağlı, varsayılan 3) — Giriş kanal sayısı.
  • patch_size (Union[int, list[int], tuple[int, int]], isteğe bağlı, varsayılan 14) — Her yamanın boyutu (çözünürlüğü).
  • spatial_merge_size (int, isteğe bağlı, varsayılan 2) — Komşu yamaları birleştirerek görsel jeton sayısını azaltmak için kullanılan uzamsal birleştirme penceresinin boyutu.
  • temporal_patch_size (Union[int, list[int], tuple[int, int]], isteğe bağlı, varsayılan 2) — Video girdileri için 3D yama gömümünde kullanılan zamansal yama boyutu.
  • window_size (int, isteğe bağlı, varsayılan 11) — Pencere boyutu.
  • out_hidden_size (int, isteğe bağlı, varsayılan 3584) — Görüntü modelinin çıktı gizli boyutu.
  • fullatt_block_indexes (int, isteğe bağlı, varsayılan [7, 15, 23, 31]) — Tam dikkat kullanan katmanların indeksleri
  • 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ı.
  • rope_parameters (dict, isteğe bağlı) — RoPE gömme yapılandırma parametrelerini içeren sözlük. Sözlük, rope_theta için bir değer ve daha uzun max_position_embeddings ile RoPE kullanmak istiyorsanız ölçekleme için kullanılan isteğe bağlı parametreleri içermelidir.

Bu, bir Qwen2 5 OmniModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Qwen2 5 Omni modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, Qwen/Qwen2.5-Omni-7B 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 Qwen2_5OmniVisionEncoderConfig, Qwen2_5OmniVisionEncoder

>>> # Initializing a Qwen2_5OmniVisionEncoderConfig
>>> configuration = Qwen2_5OmniVisionEncoderConfig()

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

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

Qwen2_5OmniTextConfig

sınıf transformers.Qwen2_5OmniTextConfig

< >

( 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 = Nonevocab_size: int = 152064hidden_size: int = 3584intermediate_size: int = 18944num_hidden_layers: int = 28num_attention_heads: int = 28num_key_value_heads: int | None = 4hidden_act: str = 'silu'max_position_embeddings: int = 32768initializer_range: float = 0.02rms_norm_eps: float = 1e-06use_cache: bool = Truerope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Noneuse_sliding_window: bool = Falsesliding_window: int | None = 32768max_window_layers: int = 28layer_types: list[str] | None = Noneattention_dropout: float | int = 0.0pad_token_id: int | None = Nonebos_token_id: int | None = Noneeos_token_id: int | list[int] | None = Nonetie_word_embeddings: bool = True )

Parametreler

  • vocab_size (int, isteğe bağlı, varsayılan 152064) — Modelin sözlük boyutu. input_ids ile temsil edilebilecek farklı token sayısını belirler.
  • hidden_size (int, isteğe bağlı, varsayılan 3584) — Gizli temsillerin boyutu.
  • intermediate_size (int, isteğe bağlı, varsayılan 18944) — MLP temsillerinin boyutu.
  • num_hidden_layers (int, isteğe bağlı, varsayılan 28) — Transformer çözücüdeki gizli katman sayısı.
  • num_attention_heads (int, isteğe bağlı, varsayılan 28) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • num_key_value_heads (int, isteğe bağlı, varsayılan 4) — Bu, Grouped Query Attention uygulamasında kullanılacak key_value başlarının sayısıdır. num_key_value_heads=num_attention_heads ise model Multi Head Attention (MHA) kullanır, num_key_value_heads=1 ise model Multi Query Attention (MQA) kullanır, aksi halde GQA kullanılır. Çok başlı bir checkpoint'i GQA checkpoint'ine dönüştürürken, her grup key ve value başı, o gruptaki tüm orijinal başların ortalama havuzlanması (meanpooling) ile oluşturulmalıdır. Daha fazla ayrıntı için bu makaleye göz atın. Belirtilmezse, varsayılan olarak num_attention_heads kullanılır.
  • hidden_act (str, isteğe bağlı, varsayılan silu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, "gelu", "relu", "silu" vb.
  • max_position_embeddings (int, isteğe bağlı, varsayılan 32768) — Bu modelin kullanılabileceği en uzun dizi uzunluğu.
  • 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ı.
  • rms_norm_eps (float, isteğe bağlı, varsayılan 1e-06) — rms normalizasyon katmanları tarafından kullanılan epsilon.
  • 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.
  • rope_parameters (Union[~modeling_rope_utils.RopeParameters, dict], isteğe bağlı) — RoPE gömme yapılandırma parametrelerini içeren sözlük. Sözlük, rope_theta için bir değer ve daha uzun max_position_embeddings ile RoPE kullanmak istiyorsanız ölçekleme için kullanılan isteğe bağlı parametreleri içermelidir.
  • use_sliding_window (bool, isteğe bağlı, varsayılan False) — Kayan pencere dikkatinin (sliding window attention) kullanılıp kullanılmayacağı.
  • sliding_window (int, isteğe bağlı, varsayılan 32768) — Kayan pencere dikkatinde pencere boyutu. None ise kayan pencere uygulanmaz.
  • max_window_layers (int, isteğe bağlı, varsayılan 28) — Tam dikkat kullanan katman sayısı. İlk max_window_layers katman tam dikkat kullanırken, bu katmanlardan sonraki ek katmanlar SWA (Sliding Window Attention) kullanır.
  • layer_types (list[str], isteğe bağlı) — Her katman indeksini ilgili katman türüyle açıkça eşleyen bir liste. Sağlanmazsa, config değerlerine göre otomatik olarak oluşturulur.
  • attention_dropout (Union[float, int], isteğe bağlı, varsayılan 0.0) — Dikkat olasılıkları için dropout oranı.
  • pad_token_id (int, isteğe bağlı) — Sözlükte dolgu için kullanılan token kimliği.
  • bos_token_id (int, isteğe bağlı) — Sözlükte akış başlangıcı için kullanılan token kimliği.
  • eos_token_id (Union[int, list[int]], isteğe bağlı) — Sözlükte akış sonu için kullanılan token kimliği.
  • 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ğı.

Bu, bir Qwen2 5 OmniModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Qwen2 5 Omni modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, Qwen/Qwen2.5-Omni-7B 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 Qwen2_5OmniThinkerForConditionalGeneration, Qwen2_5OmniThinkerConfig, Qwen2_5OmniAudioEncoderConfig, Qwen2_5OmniVisionEncoderConfig

>>> # Initializing a Qwen2_5OmniAudioEncoder config
>>> audio_config = Qwen2_5OmniAudioEncoderConfig()

>>> # Initializing a Qwen2_5OmniVisionEncoder config
>>> vision_config = Qwen2_5OmniVisionEncoderConfig()

>>> # Initializing a Qwen2.5OmniThinker configuration
>>> configuration = Qwen2_5OmniThinkerConfig(audio_config, vision_config)

>>> # Initializing a model from the Qwen-Omni style configuration
>>> model = Qwen2_5OmniThinkerForConditionalGeneration(configuration)

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

Qwen2_5OmniDiTConfig

sınıf transformers.Qwen2_5OmniDiTConfig

< >

( 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 = Nonehidden_size: int = 1024num_hidden_layers: int = 22num_attention_heads: int = 16ff_mult: int = 2emb_dim: int = 512head_dim: int = 64rope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Nonemax_position_embeddings: int = 32768block_size: int = 24look_ahead_layers: list[int] | tuple[int, ...] = (10,)look_backward_layers: list[int] | tuple[int, ...] = (0, 20)repeats: int = 2num_embeds: int = 8193mel_dim: int = 80dropout: float | int = 0.1enc_emb_dim: int = 192enc_dim: int = 128enc_channels: list[int] | tuple[int, ...] = (256, 256, 256, 256, 768)enc_kernel_sizes: list[int] | tuple[int, ...] = (5, 3, 3, 3, 1)enc_dilations: list[int] | tuple[int, ...] = (1, 2, 3, 4, 1)enc_attention_channels: int = 64enc_res2net_scale: int = 2enc_se_channels: int = 64 )

Parametreler

  • hidden_size (int, isteğe bağlı, varsayılan 1024) — Gizli temsillerin boyutu.
  • num_hidden_layers (int, isteğe bağlı, varsayılan 22) — Transformer decoder'ındaki gizli katman sayısı.
  • num_attention_heads (int, isteğe bağlı, varsayılan 16) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • ff_mult (int, isteğe bağlı, varsayılan 2) — Her transformer bloğundaki feedforward katmanı için çarpan.
  • emb_dim (int, isteğe bağlı, varsayılan 512) — Gömme katmanının boyutu.
  • head_dim (int, isteğe bağlı, varsayılan 64) — Dikkat başlığı boyutu. None ise, varsayılan olarak hidden_size // num_attention_heads değerini alır.
  • rope_parameters (Union[~modeling_rope_utils.RopeParameters, dict], isteğe bağlı) — RoPE gömme yapılandırma parametrelerini içeren sözlük. Sözlük, rope_theta için bir değer ve daha uzun max_position_embeddings ile RoPE kullanmak istiyorsanız ölçekleme için kullanılan isteğe bağlı parametreleri içermelidir.
  • max_position_embeddings (int, isteğe bağlı, varsayılan 32768) — Bu modelin kullanılabileceği en uzun dizi uzunluğu.
  • block_size (int, isteğe bağlı, varsayılan 64) — Her işleme bloğundaki token (çerçeve) sayısı.
  • look_ahead_layers (list[int], isteğe bağlı, varsayılan [10]) — Gelecek bloklara dikkat etmesine izin verilen transformer katmanlarının sayısı
  • look_backward_layers (list[int], isteğe bağlı, varsayılan [0, 20]) — Mevcut blok sınırının ötesindeki geçmiş bloklara dikkat eden transformer katmanlarının sayısı
  • repeats (int, isteğe bağlı, varsayılan 2) — Kodlayıcı gömme değerlerinin kaç kez tekrarlandığı.
  • num_embeds (int, isteğe bağlı, varsayılan 8193) — Kodlayıcıdaki benzersiz gömme sayısı.
  • mel_dim (int, isteğe bağlı, varsayılan 80) — Mel-spektrogramun boyutu.
  • dropout (Union[float, int], isteğe bağlı, varsayılan 0.1) — Tüm dropout katmanları için oran.
  • enc_emb_dim (int, isteğe bağlı, varsayılan 192) — Önceden eğitilmiş konuşmacı gömme boyutu.
  • enc_dim (int, isteğe bağlı, varsayılan 128) — Kodlayıcı çıktısının boyutu.
  • enc_channels (list[int], isteğe bağlı, varsayılan [256, 256, 256, 256, 768]) — Kodlayıcıdaki her TDNN/SERes2Net katmanı için çıktı kanalları listesi.
  • enc_kernel_sizes (list[int], isteğe bağlı, varsayılan [5, 3, 3, 3, 1]) — Kodlayıcıdaki her katman için çekirdek boyutlarının listesi.
  • enc_dilations (list[int], isteğe bağlı, varsayılan [1, 2, 3, 4, 1]) — Kodlayıcıdaki her katman için dilasyonlar listesi.
  • enc_attention_channels (int, isteğe bağlı, varsayılan 64) — SqueezeExcitationBlock içindeki dikkat kanal sayısı.
  • enc_res2net_scale (int, isteğe bağlı, varsayılan 2) — Kodlayıcıdaki Res2Net bloğunun ölçeği.
  • enc_se_channels (int, isteğe bağlı, varsayılan 64) — SqueezeExcitationBlock içindeki sıkıştırma (squeeze) işleminden sonraki çıktı kanal sayısı.

Bu, bir Qwen2 5 OmniModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Qwen2 5 Omni modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, Qwen/Qwen2.5-Omni-7B 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.

Qwen2_5OmniBigVGANConfig

sınıf transformers.Qwen2_5OmniBigVGANConfig

< >

( 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 = Nonemel_dim: int = 80upsample_initial_channel: int = 1536resblock_kernel_sizes: list[int] | tuple[int, ...] = (3, 7, 11)resblock_dilation_sizes: list | tuple = ((1, 3, 5), (1, 3, 5), (1, 3, 5))upsample_rates: list[int] | tuple[int, ...] = (5, 3, 2, 2, 2, 2)upsample_kernel_sizes: list[int] | tuple[int, ...] = (11, 7, 4, 4, 4, 4) )

Parametreler

  • mel_dim (int, isteğe bağlı, varsayılan 80) — Mel-spektrogramun boyutu.
  • upsample_initial_channel (int, isteğe bağlı, varsayılan 1536) — İlk yukarı örneklemeye katmanındaki kanal sayısı.
  • resblock_kernel_sizes (list[int], isteğe bağlı, varsayılan [3, 7, 11]) — Her artımsal blok için çekirdek boyutlarının listesi.
  • resblock_dilation_sizes (list[list[int]], isteğe bağlı, varsayılan [[1, 3, 5], [1, 3, 5], [1, 3, 5]]) — Her artımlı blok için genişleme boyutlarının listesi.
  • upsample_rates (list[int], isteğe bağlı, varsayılan [5, 3, 2, 2, 2, 2]) — Her örnekleme katmanı için örnekleme hızlarının listesi.
  • upsample_kernel_sizes (list[int], isteğe bağlı, varsayılan [11, 7, 4, 4, 4, 4]) — Her örnekleme katmanı için çekirdek boyutlarının listesi.

Bu, bir Qwen2 5 OmniModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Qwen2 5 Omni modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, Qwen/Qwen2.5-Omni-7B 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.

Qwen2_5OmniAudioEncoderConfig

sınıf transformers.Qwen2_5OmniAudioEncoderConfig

< >

( 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 = Nonenum_mel_bins: int = 128encoder_layers: int = 32encoder_attention_heads: int = 20encoder_ffn_dim: int = 5120d_model: int = 1280dropout: float | int = 0.0attention_dropout: float | int = 0.0activation_function: str = 'gelu'activation_dropout: float | int = 0.0scale_embedding: bool = Falseinitializer_range: float = 0.02max_source_positions: int = 1500n_window: int = 100output_dim: int = 3584 )

Parametreler

  • num_mel_bins (int, isteğe bağlı, varsayılan 128) — Giriş başına kullanılan mel özellik sayısı. AutoFeatureExtractor sınıfında kullanılan değerle eşleşmelidir.
  • encoder_layers (int, isteğe bağlı, varsayılan 32) — Transformer kodlayıcısındaki gizli katman sayısı. Ayarlanmazsa num_layers ile aynı değeri kullanır.
  • encoder_attention_heads (int, isteğe bağlı, varsayılan 20) — Transformer kodlayıcısındaki her dikkat katmanı için dikkat başı sayısı.
  • encoder_ffn_dim (int, isteğe bağlı, varsayılan 5120) — Encoder'daki “ara” (genellikle feed-forward olarak adlandırılan) katmanın boyutluluğu.
  • d_model (int, isteğe bağlı, varsayılan 1280) — Kodlayıcı katmanlarının ve pooler katmanının boyutu.
  • dropout (Union[float, int], isteğe bağlı, varsayılan 0.0) — Tüm dropout katmanları için oran.
  • attention_dropout (Union[float, int], isteğe bağlı, varsayılan 0.0) — Dikkat olasılıkları için dropout oranı.
  • activation_function (str, isteğe bağlı, varsayılan gelu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, "gelu", "relu", "silu" vb.
  • activation_dropout (Union[float, int], isteğe bağlı, varsayılan 0.0) — Tamamen bağlı katmandaki aktivasyonlar için dropout oranı.
  • scale_embedding (bool, isteğe bağlı, varsayılan False) — Gömme değerlerinin sqrt(d_model) ile bölünerek ölçeklendirilip ölçeklendirilmeyeceğini belirtir.
  • 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ı.
  • max_source_positions (int, isteğe bağlı, varsayılan 1500) — Bu modelin kullanılabileceği log-mel filtre bankası özelliklerinin maksimum dizi uzunluğu.
  • n_window (int, isteğe bağlı, varsayılan 100) — AudioEncoder'da conv ve flash attn için parça.
  • output_dim (int, isteğe bağlı, varsayılan 3584) — AudioEncoder'ün çıktı boyutu.

Bu, bir Qwen2 5 OmniModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Qwen2 5 Omni modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, Qwen/Qwen2.5-Omni-7B 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 Qwen2_5OmniAudioEncoderConfig, Qwen2_5OmniAudioEncoder

>>> # Initializing a Qwen2_5OmniAudioEncoderConfig
>>> configuration = Qwen2_5OmniAudioEncoderConfig()

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

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

Qwen2_5OmniProcessor

sınıf transformers.Qwen2_5OmniProcessor

< >

( image_processor = Nonevideo_processor = Nonefeature_extractor = Nonetokenizer = Nonechat_template = None )

Parametreler

  • image_processor (Qwen2VLImageProcessor) — Görüntü işleyici zorunlu bir girdidir.
  • video_processor (Qwen2VLVideoProcessor) — Video işleyici zorunlu bir girdidir.
  • feature_extractor (WhisperFeatureExtractor) — Özellik çıkarıcı zorunlu bir girdidir.
  • tokenizer (Qwen2Tokenizer) — Tokenizer zorunlu bir girdidir.
  • chat_template (str) — Bir sohbet içindeki mesaj listelerini tokenize edilebilir bir dizeye dönüştürmek için kullanılan bir Jinja şablonu.

Bir görüntü işleyiciyi, bir video işleyiciyi, bir özellik çıkarıcıyı ve bir belirteçleyiciyi tek bir işleyicide birleştiren bir Qwen2_5OmniProcessor oluşturur.

Qwen2_5OmniProcessor, Qwen2VLImageProcessor, Qwen2VLVideoProcessor, WhisperFeatureExtractor ve Qwen2Tokenizer'in tüm işlevlerini sunar. Daha fazla bilgi için ~Qwen2VLImageProcessor, ~Qwen2VLVideoProcessor, ~WhisperFeatureExtractor ve ~Qwen2Tokenizer belgelerine bakın.

__call__

< >

( text: str | list[str] | list[list[str]] = Noneimages: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Nonevideos: typing.Union[list['PIL.Image.Image'], numpy.ndarray, ForwardRef('torch.Tensor'), list[numpy.ndarray], list['torch.Tensor'], list[list['PIL.Image.Image']], list[list[numpy.ndarray]], list[list['torch.Tensor']], transformers.video_utils.URL, list[transformers.video_utils.URL], list[list[transformers.video_utils.URL]], transformers.video_utils.Path, list[transformers.video_utils.Path], list[list[transformers.video_utils.Path]], NoneType] = Noneaudio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), list[numpy.ndarray], list['torch.Tensor'], NoneType] = None**kwargs: *<class 'transformers.models.qwen2_5_omni.processing_qwen2_5_omni.Qwen2_5OmniProcessorKwargs'> ) → ~feature_extraction_utils.BatchFeature

Parametreler

  • text (Union[str, list[str], list[list[str]]], isteğe bağlı) — Kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Önceden tokenize edilmiş bir girdi geçirirseniz, gruplu girdilerle karışıklığı önlemek için is_split_into_words=True değerini ayarlayın.
  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]], isteğe bağlı) — Ön işleme yapılacak görüntü. Piksel değerleri 0 ile 255 arasında değişen tek bir görüntü veya görüntü grubu beklenir. Piksel değerleri 0 ile 1 arasında olan görüntüler geçiriliyorsa do_rescale=False olarak ayarlayın.
  • videos (Union[list[PIL.Image.Image], numpy.ndarray, torch.Tensor, list[numpy.ndarray], list[torch.Tensor], list[list[PIL.Image.Image]], list[list[numpy.ndarray]], list[list[torch.Tensor]], ~video_utils.URL, list[~video_utils.URL], list[list[~video_utils.URL]], ~video_utils.Path, list[~video_utils.Path], list[list[~video_utils.Path]]], isteğe bağlı) — Ön işleme yapılacak video. Piksel değerleri 0 ile 255 arasında değişen tek bir video veya video partisi beklenir. Piksel değerleri 0 ile 1 arasında olan videoları geçiriyorsanız do_rescale=False olarak ayarlayın.
  • audio (Union[numpy.ndarray, torch.Tensor, list[numpy.ndarray], list[torch.Tensor]], isteğe bağlı) — Hazırlanacak ses veya ses partisi. Her ses, bir NumPy dizisi veya PyTorch tensörü olabilir. NumPy dizisi/PyTorch tensörü durumunda, her sesin şekli (C, T) olmalıdır; burada C kanal sayısı, T ise sesin örnek uzunluğudur.
  • min_pixels (int, kwargs, isteğe bağlı) — Yeniden boyutlandırma işleminden sonra video kareleri için minimum piksel sayısı (yükseklik × genişlik). Bu eşiğin altındaki kareler, minimum gereksinimi karşılamak üzere büyütülür.
  • max_pixels (int, kwargs, opsiyonel) — Yeniden boyutlandırma işleminden sonra video kareleri için maksimum piksel sayısı (yükseklik × genişlik). Bu eşiğin üzerindeki kareler, sınırı aşmayacak şekilde küçültülür.
  • patch_size (int, kwargs, opsiyonel) — Görüntü kodlayıcısının kullandığı uzamsal yama boyutu. Video kareleri, hem yükseklik hem de genişlik boyutlarında bu boyutta yamalara bölünür.
  • temporal_patch_size (int, kwargs, opsiyonel) — Görüntü kodlayıcısının kullandığı zamansal yama boyutu. Bu, tek bir zamansal yama olarak gruplanan ardışık kare sayısını belirler.
  • merge_size (int, kwargs, opsiyonel) — Uzamsal yamaların birleştirilmesi için kullanılan birleştirme boyutu. Uzamsal bilgiyi korurken dizi uzunluğunu azaltmak için birden fazla yama bir arada birleştirilir.
  • min_frames (int, kwargs, opsiyonel) — Videodan çıkarılacak en az kare sayısı. Kare sayısı daha az olan videolar, bu gerekliliği karşılamak için doldurulur veya tekrarlanır.
  • max_frames (int, kwargs, opsiyonel) — Videodan çıkarılacak en fazla kare sayısı. Daha uzun videolar, bu sınırın içinde kalacak şekilde kırpılır veya örneklenir.
  • use_audio_in_video (bool, kwargs, isteğe bağlı, varsayılan False) — Kullanımı durdurulan argüman - bunun yerine load_audio_from_video kullanın.
  • load_audio_from_video (bool, kwargs, opsiyonel, varsayılan False) — Videoları işlerken ses bilgisinin dahil edilip edilmeyeceğini belirtir. Etkinleştirildiğinde, ses token'ları zaman uyumuna göre video token'larıyla iç içe geçirilerek birleşik bir çok modlu temsil oluşturulur.
  • seconds_per_chunk (float, kwargs, isteğe bağlı, varsayılan 2.0) — Uzun videoları bölme işlemi sırasında her video parçasının süresi (saniye cinsinden). Bu parametre, videoların işleme için zaman dilimi segmentlerine nasıl ayrıldığını kontrol eder.
  • position_id_per_seconds (int, kwargs or float, optional, defaults to 25) — The number of position IDs allocated per second of video. This parameter controls the temporal resolution of position embeddings and is used to align video tokens with audio tokens when use_audio_in_video=True.
  • return_tensors (str veya TensorType, isteğe bağlı) — 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.
  • **kwargs (ProcessingKwargs, isteğe bağlı) — Her modalite (metin, görüntüler, videolar, ses) için ek işleme seçenekleri. Modelle ilgili parametreler yukarıda listelenmiştir; desteklenen argümanların tam listesi için TypedDict sınıfına bakın.

Dönüş değeri

~feature_extraction_utils.BatchFeature

  • data (dict, isteğe bağlı) — call/pad yöntemleri tarafından döndürülen listelerin/dizilerin/tensörlerin sözlüğü ('input_values', 'attention_mask' vb.).
  • tensor_type (Union[None, str, TensorType], isteğe bağlı) — Başlatma sırasında PyTorch/Numpy Tensörlerindeki tamsayı listelerini dönüştürmek için burada bir tensor_type verebilirsiniz.
  • skip_tensor_conversion (list[str] veya set[str], isteğe bağlı) — tensor_type belirtilse bile tensöre dönüştürülmemesi gereken anahtarların listesi veya kümesi.

Qwen2_5OmniForConditionalGeneration

sınıf transformers.Qwen2_5OmniForConditionalGeneration

< >

( config: Qwen2_5OmniConfig )

Parametreler

  • config (Qwen2_5OmniConfig) — 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.

3 alt modelden oluşan çok modlu bir model olan tam Qwen2.5Omni modeli:

  • Qwen2_5OmniThinkerForConditionalGeneration: metin, ses, görüntü ve videoyu girdi olarak alan ve metin token'larını tahmin eden nedensel otoregresif bir transformer.
  • Qwen2_5OmniTalkerForConditionalGeneration: Nedensel otoregresif bir transformer, düşünür gizli durumlarını ve yanıtı girdi olarak alır ve konuşma jetonlarını tahmin eder.
  • Qwen2_5OmniToken2WavModel: Bir DiT modeli konuşma tokenlarını girdi olarak alır ve mel spektrogramu tahmin eder; bir BigVGAN vokoder ise mel spektrogramu girdi olarak alır ve dalga formunu tahmin eder.

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

( *args**kwargs )

Noktalı bir yol için sahte bir değer (ör. torch.float32): öznitelik erişim zincirleri, çağrılar geçiş (pass-through) dekoratörleri gibi davranır, repr noktalı yoldur ve bir taban sınıf olarak kullanıldığında düz bir type tabanı yerine geçer (PEP 560 __mro_entries__), böylece gerçek alt sınıflar normal bir meta sınıfı korur ve inspect.signature sahtenin yerine gerçek __init__ değerlerini okur.

Qwen2_5OmniPreTrainedModelForConditionalGeneration

sınıf transformers.Qwen2_5OmniPreTrainedModelForConditionalGeneration

< >

( config: PreTrainedConfig*inputs**kwargs )

get_chunked_index

< >

( token_indices: Tensortokens_per_chunk: intremove_index: int ) → list[tuple[int, int]]

Parametreler

  • token_indices (torch.Tensor, şekli (seq_len, )) — Monotonik olarak artan bir token indeks değerleri listesi.
  • t_ntoken_per_chunk (int) — Parça başına token sayısı (parça boyutu eşiği olarak kullanılır).
  • remove_index (int) Parçalamadan önce token_indices'den çıkarılacak bir indeks kimliği —

Dönüş değeri

list[tuple[int, int]]

Her biri token_indices içindeki bir parçanın başlangıç (dahil) ve bitiş (hariç) indekslerini temsil eden birer demet (tuple) içeren liste.

Token indeks listesini, token değer aralıklarına göre parçalara ayırır.

Token indekslerinden oluşan bir liste verildiğinde, token değerlerinin t_ntoken_per_chunk'ün ardışık aralıklarına düştüğü liste dilimlerini temsil eden (başlangıç, bitiş) indeks demetlerinin listesini döndürür.

Örneğin, t_ntoken_per_chunk 1000 ise, fonksiyon şu şekilde parçalar oluşturur:

  • ilk parça < 1000 değerindeki jetonları içerir,
  • ikinci parça >= 1000 ve < 2000 aralığındaki değerleri içerir ve böyle devam eder.

get_rope_index

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneimage_grid_thw: typing.Optional[torch.LongTensor] = Nonevideo_grid_thw: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneuse_audio_in_video: bool = Falseaudio_seqlens: typing.Optional[torch.LongTensor] = Nonesecond_per_grids: typing.Optional[torch.Tensor] = None )

Parametreler

  • input_ids (torch.LongTensor, şekli (batch_size, sequence_length)) — Sözlükteki girdi dizisi token'larının indeksleri. Varsayılan olarak, padding sağlarsanız bu yoksayılır.
  • image_grid_thw (torch.LongTensor, şekli (num_images, 3), isteğe bağlı) — LLM'deki her bir görüntünün özellik şeklinin zaman, yükseklik ve genişlik değerleri.
  • video_grid_thw (torch.LongTensor, şekli (num_videos, 3), isteğe bağlı) — LLM'deki her bir video için özellik şeklinin zaman, yükseklik ve genişlik değerleri.
  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapılmaması için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.
  • use_audio_in_video (bool, isteğe bağlı) — True olarak ayarlanırsa, videodaki ses kullanılır.
  • audio_seqlens (torch.LongTensor, şekli (num_audios), isteğe bağlı) — LLM'deki her sesin özellik şeklinin uzunluğu.
  • second_per_grids (torch.LongTensor, şekli (num_videos), isteğe bağlı) — 3D konum kimliklerinde, zaman boyutu boyunca her ızgara için zaman aralığı (saniye cinsinden).

LLM'de, görüntü ve videonun zamansal, yükseklik ve genişlik değerlerine dayanarak 3B rope indeksini hesaplayın.

Açıklama: Her gömme dizisi, hem görüntü gömme hem de metin gömme içerir veya yalnızca metin gömme içerir.

Saf metin gömme dizisi için, döner konum gömme, modern LLM'lerden farklılık göstermez. Örnekler: input_ids: [T T T T T], burada T metni temsil eder. zaman konum_ids: [0, 1, 2, 3, 4] yükseklik konum_ids: [0, 1, 2, 3, 4] genişlik konum_ids: [0, 1, 2, 3, 4]

Görüntü ve metin gömme dizisi için, görüntü kısmına 3B döner konum gömme, metin kısmına ise 1B döner konum gömme hesaplanır. Örnekler: Zamansal (Time): 3 yama, videonun zamansal olarak farklı bölümlerini temsil eder. Yükseklik: 2 yama, her kareyi dikey olarak böler. Genişlik: 2 yama, her kareyi yatay olarak böler. Ayrıca bazı önemli parametrelere sahibiz: fps (Frames Per Second): Video kare hızı, 1 olarak ayarlanmıştır. Bu, her saniyede bir karenin işlendiği anlamına gelir. tokens_per_second: Bu, kritik bir parametredir. Videonun bir saniyelik aralığına kavramsal olarak kaç "zaman adımı" veya "zamansal token"ın sıkıştırıldığını belirler. Bu durumda saniyede 25 token vardır. Dolayısıyla videonun her saniyesi 25 ayrı zaman noktasıyla temsil edilir. Temel olarak zamansal granülerliği tanımlar. temporal_patch_size: Bir zamansal yamayı oluşturan kare sayısı. Burada 2 karedir. interval: Zamansal konum kimlikleri için adım boyutu, tokens_per_second temporal_patch_size / fps olarak hesaplanır. Bu durumda, 25 2 / 1 = 50. Bu, her zamansal yamanın zamansal konum kimliklerinde 50'lik bir farka sahip olacağı anlamına gelir. input_ids: [V V V V V V V V V V V V T T T T T], burada V görüntüyü temsil eder. vision temporal position_ids: [0, 0, 0, 0, 50, 50, 50, 50, 100, 100, 100, 100] vision height position_ids: [0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1] vision width position_ids: [0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1] text temporal position_ids: [101, 102, 103, 104, 105] text height position_ids: [101, 102, 103, 104, 105] text width position_ids: [101, 102, 103, 104, 105] Burada metin başlangıç position_ids değerini, maksimum görüntü position_ids değerine 1 ekleyerek hesaplıyoruz.

Qwen2_5OmniThinkerConfig

sınıf transformers.Qwen2_5OmniThinkerConfig

< >

( 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 = Noneaudio_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonevision_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonetext_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneaudio_token_index: int = 151646image_token_index: int = 151655video_token_index: int = 151656position_id_per_seconds: int = 25seconds_per_chunk: int = 2audio_start_token_id: int = 151647audio_end_token_id: int = 151648user_token_id: int = 872initializer_range: float = 0.02tie_word_embeddings: bool = False )

Parametreler

  • audio_config (Union[dict, ~configuration_utils.PreTrainedConfig], isteğe bağlı) — Ses omurgasının yapılandırma nesnesi veya sözlüğü.
  • vision_config (Union[dict, ~configuration_utils.PreTrainedConfig], isteğe bağlı) — Görüntü omurgasının yapılandırma nesnesi veya sözlüğü.
  • text_config (Union[dict, ~configuration_utils.PreTrainedConfig], isteğe bağlı) — Metin omurgasının yapılandırma nesnesi veya sözlüğü.
  • audio_token_index (int, isteğe bağlı, varsayılan 151646) — Giriş sesinin yer tutucusu olarak kullanılan ses jeton indeksi.
  • image_token_index (int, isteğe bağlı, varsayılan 151655) — Girdi görselleri için yer tutucu olarak kullanılan görsel jeton indeksi.
  • video_token_index (int, isteğe bağlı, varsayılan 151656) — Girdi videoları için yer tutucu olarak kullanılan video jeton indeksi.
  • position_id_per_seconds (int, isteğe bağlı, varsayılan 25) — Saniye başına position id artışı.
  • seconds_per_chunk (int, isteğe bağlı, varsayılan 2) — Ses ve video verisi parçasının saniye cinsinden süresi.
  • audio_start_token_id (int, isteğe bağlı, varsayılan 151647) — Ses prompt'unu kodlamak için kullanılacak ses başlangıç tokeni indeksi.
  • audio_end_token_id (int, isteğe bağlı, varsayılan 151648) — Ses istemcisinin kodlanmasında kullanılacak ses bitiş tokeni indeksi.
  • user_token_id (`int, opsiyonel, varsayılan 872) — Kullanıcı token'ını kodlamak için kullanılacak kullanıcı token indeksi.
  • 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ı.
  • tie_word_embeddings (bool, isteğe bağlı, varsayılan False) — Modelin tied_weights_keys eşlemesine göre ağırlık gömme bağlamalarının yapılıp yapılmayacağı.

Bu, bir Qwen2 5 OmniModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Qwen2 5 Omni modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, Qwen/Qwen2.5-Omni-7B 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 Qwen2_5OmniThinkerForConditionalGeneration, Qwen2_5OmniThinkerConfig, Qwen2_5OmniAudioEncoderConfig, Qwen2_5OmniVisionEncoderConfig

>>> # Initializing a Qwen2_5OmniAudioEncoder config
>>> audio_config = Qwen2_5OmniAudioEncoderConfig()

>>> # Initializing a Qwen2_5OmniVisionEncoder config
>>> vision_config = Qwen2_5OmniVisionEncoderConfig()

>>> # Initializing a Qwen2_5OmniTextConfig config
>>> text_config = Qwen2_5OmniTextConfig()

>>> # Initializing a Qwen2.5OmniThinker configuration
>>> configuration = Qwen2_5OmniThinkerConfig(audio_config, vision_config, text_config)

>>> # Initializing a model from the Qwen-Omni style configuration
>>> model = Qwen2_5OmniThinkerForConditionalGeneration(configuration)

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

Qwen2_5OmniThinkerModel

sınıf transformers.Qwen2_5OmniThinkerModel

< >

( config: Qwen2_5OmniThinkerConfig )

Parametreler

  • config (Qwen2_5OmniThinkerConfig) — 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.

Ses omurgası ve bir dil modelinden oluşan Qwen2.5OmniThinker modeli.

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.LongTensor] = Noneinput_features: typing.Optional[torch.Tensor] = Nonepixel_values: typing.Optional[torch.Tensor] = Nonepixel_values_videos: typing.Optional[torch.Tensor] = Noneimage_grid_thw: typing.Optional[torch.LongTensor] = Nonevideo_grid_thw: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonefeature_attention_mask: typing.Optional[torch.Tensor] = Noneaudio_feature_lengths: typing.Optional[torch.LongTensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = Noneuse_audio_in_video: bool | None = Nonevideo_second_per_grid: typing.Optional[torch.LongTensor] = Nonemm_encoder_outputs: dict[str, transformers.modeling_outputs.BaseModelOutputWithPooling] | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPast or tuple(torch.Tensor)

Parametreler

  • input_ids (torch.LongTensor ş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?

  • input_features (torch.Tensor, şekli (batch_size, sequence_length, feature_dim), isteğe bağlı) — Girdi ses özelliklerine karşılık gelen tensörler. Ses özellikleri WhisperFeatureExtractor kullanılarak elde edilebilir. Ayrıntılar için WhisperFeatureExtractor.call() bölümüne bakın (Qwen2_5OmniProcessor, sesleri işlemek için WhisperFeatureExtractor kullanır).
  • pixel_values (torch.Tensor, şekli (batch_size, num_channels, image_size, image_size), isteğe bağlı) — Girdi görüntülerine karşılık gelen tensörler. Piksel değerleri Qwen2VLImageProcessor kullanılarak elde edilebilir. Ayrıntılar için Qwen2VLImageProcessor.call() bölümüne bakın (Qwen2_5OmniProcessor, görüntü işleme için Qwen2VLImageProcessor kullanır).
  • pixel_values_videos (torch.Tensor, şekli (batch_size, num_frames, num_channels, frame_size, frame_size), isteğe bağlı) — Girdi videosuna karşılık gelen tensörler. Videolar için piksel değerleri, Qwen2VLVideoProcessor kullanılarak elde edilebilir. Ayrıntılar için Qwen2VLVideoProcessor.call() bölümüne bakın (Qwen2_5OmniProcessor, videoları işlemek için Qwen2VLVideoProcessor kullanır).
  • image_grid_thw (torch.LongTensor, şekli (num_images, 3), isteğe bağlı) — LLM'deki her bir görüntünün özellik şeklinin zaman, yükseklik ve genişlik değerleri.
  • video_grid_thw (torch.LongTensor, şekli (num_videos, 3), isteğe bağlı) — LLM'deki her bir video için özellik şeklinin zaman, yükseklik ve genişlik değerleri.
  • 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?

  • feature_attention_mask (torch.Tensor şeklinde (batch_size, feature_sequence_length), isteğe bağlı) — Doldurma (padding) özellik 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.
  • audio_feature_lengths (torch.LongTensor, şekli (num_audios), isteğe bağlı) — LLM'deki her sesin özellik şekil uzunluğu.
  • position_ids (torch.LongTensor ş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?

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

  • 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).
  • use_audio_in_video (bool, isteğe bağlı) — Videoda ses izinin kullanılıp kullanılmayacağı; process_audio_info içindeki parametreyle aynı olmalıdır.
  • video_second_per_grid (torch.LongTensor, şekli (num_videos), isteğe bağlı) — Her video için ızgara başına saniye sayısı, zamansal özellik eşlemesi için kullanılır.
  • mm_encoder_outputs (dict[str, ~modeling_outputs.BaseModelOutputWithPooling], isteğe bağlı) — Anahtarları desteklenen modaliteler, değerleri ise o modalite için kodlanmış çıktılar olan bir sözlük. Her kodlanmış çıktı, (pooler_output, isteğe bağlı: last_hidden_states, isteğe bağlı: hidden_states, isteğe bağlı: attentions) pooler_output (şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) biçiminde bir demettir ve kodlayıcının çok modlu özelliklerinin metin gömme (embedding) değerleriyle birleştirilmiş bir dizisidir.

Dönüş değeri

BaseModelOutputWithPast veya tuple(torch.Tensor)

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

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

  • last_hidden_state (torch.Tensor, şekli (batch_size, sequence_length, hidden_size)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi.

    past_key_values kullanılırsa, yalnızca (batch_size, 1, hidden_size) biçimindeki dizilerin son gizli durumu (hidden-state) çıktı olarak verilir.

  • 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 ve isteğe bağlı olarak config.is_encoder_decoder=True ise cross-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.

Qwen2_5OmniThinkerForConditionalGeneration

sınıf transformers.Qwen2_5OmniThinkerForConditionalGeneration

< >

( config: Qwen2_5OmniThinkerConfig )

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneinput_features: typing.Optional[torch.Tensor] = Nonepixel_values: typing.Optional[torch.Tensor] = Nonepixel_values_videos: typing.Optional[torch.Tensor] = Noneimage_grid_thw: typing.Optional[torch.LongTensor] = Nonevideo_grid_thw: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonefeature_attention_mask: typing.Optional[torch.Tensor] = Noneaudio_feature_lengths: typing.Optional[torch.LongTensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneuse_cache: bool | None = Noneuse_audio_in_video: bool | None = Nonevideo_second_per_grid: typing.Optional[torch.LongTensor] = Nonemm_encoder_outputs: dict[str, transformers.modeling_outputs.BaseModelOutputWithPooling] | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → CausalLMOutputWithPast or tuple(torch.Tensor)

Parametreler

  • input_ids (torch.LongTensor ş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?

  • input_features (torch.Tensor, şekli (batch_size, sequence_length, feature_dim), isteğe bağlı) — Girdi ses özelliklerine karşılık gelen tensörler. Ses özellikleri WhisperFeatureExtractor kullanılarak elde edilebilir. Ayrıntılar için WhisperFeatureExtractor.call() bölümüne bakın (Qwen2_5OmniProcessor, sesleri işlemek için WhisperFeatureExtractor kullanır).
  • pixel_values (torch.Tensor, şekli (batch_size, num_channels, image_size, image_size), isteğe bağlı) — Girdi görüntülerine karşılık gelen tensörler. Piksel değerleri Qwen2VLImageProcessor kullanılarak elde edilebilir. Ayrıntılar için Qwen2VLImageProcessor.call() bölümüne bakın (Qwen2_5OmniProcessor, görüntü işleme için Qwen2VLImageProcessor kullanır).
  • pixel_values_videos (torch.Tensor, şekli (batch_size, num_frames, num_channels, frame_size, frame_size), isteğe bağlı) — Girdi videosuna karşılık gelen tensörler. Videolar için piksel değerleri, Qwen2VLVideoProcessor kullanılarak elde edilebilir. Ayrıntılar için Qwen2VLVideoProcessor.call() bölümüne bakın (Qwen2_5OmniProcessor, videoları işlemek için Qwen2VLVideoProcessor kullanır).
  • image_grid_thw (torch.LongTensor, şekli (num_images, 3), isteğe bağlı) — LLM'deki her bir görüntünün özellik şeklinin zaman, yükseklik ve genişlik değerleri.
  • video_grid_thw (torch.LongTensor, şekli (num_videos, 3), isteğe bağlı) — LLM'deki her bir video için özellik şeklinin zaman, yükseklik ve genişlik değerleri.
  • 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?

  • feature_attention_mask (torch.Tensor şeklinde (batch_size, feature_sequence_length), isteğe bağlı) — Doldurma (padding) özellik 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.
  • audio_feature_lengths (torch.LongTensor, şekli (num_audios), isteğe bağlı) — LLM'deki her sesin özellik şekil uzunluğu.
  • position_ids (torch.LongTensor ş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?

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

  • 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.
  • 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.
  • 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).
  • use_audio_in_video (bool, isteğe bağlı) — Videoda ses izinin kullanılıp kullanılmayacağı; process_audio_info içindeki parametreyle aynı olmalıdır.
  • video_second_per_grid (torch.LongTensor, şekli (num_videos), isteğe bağlı) — Her video için ızgara başına saniye sayısı, zamansal özellik eşlemesi için kullanılır.
  • mm_encoder_outputs (dict[str, ~modeling_outputs.BaseModelOutputWithPooling], isteğe bağlı) — Anahtarları desteklenen modaliteler, değerleri ise o modalite için kodlanmış çıktılar olan bir sözlük. Her kodlanmış çıktı, (pooler_output, isteğe bağlı: last_hidden_states, isteğe bağlı: hidden_states, isteğe bağlı: attentions) pooler_output (şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) biçiminde bir demettir ve kodlayıcının çok modlu özelliklerinin metin gömme (embedding) değerleriyle birleştirilmiş bir dizisidir.

Dönüş değeri

CausalLMOutputWithPast veya tuple(torch.Tensor)

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

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

Örnek:

>>> from transformers import Qwen2_5OmniProcessor, Qwen2_5OmniThinkerForConditionalGeneration

>>> thinker = Qwen2_5OmniThinkerForConditionalGeneration.from_pretrained("Qwen/Qwen2.5-Omni-7B")
>>> processor = Qwen2_5OmniProcessor.from_pretrained("Qwen/Qwen2.5-Omni-7B")

>>> conversations = [
>>>         {'role': 'system', 'content': 'You are a helpful voice chat bot, and please respond to me in a casual conversation manner using random voice.'},
>>>         {"role": "user", "content": [
>>>             {"type": "image", "image": "https://www.ilankelman.org/stopsigns/australia.jpg"},
>>>             {"type": "audio", "audio": "https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/audio/glass_breaking.mp3"},
>>>         ]},
>>> ]

>>> inputs = processor.apply_chat_template(
    conversations,
    tokenize=True,
    add_generation_prompt=True,
    return_dict=True,
    return_tensors="pt"
)

>>> # Generate
>>> generation = thinker.generate(**inputs, max_new_tokens=2048)
>>> generate_ids = generation[:, inputs.input_ids.size(1):]

>>> response = processor.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]

get_audio_features

< >

( input_features: Tensorfeature_attention_mask: typing.Optional[torch.LongTensor] = Noneaudio_feature_lengths: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)

Parametreler

  • input_features (torch.Tensor) — Girdi seslerine karşılık gelen tensörler.
  • feature_attention_mask (torch.LongTensor, isteğe bağlı) — Doldurma (padding) özellik indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. [0, 1] aralığında seçilen maske değerleri:
  • audio_feature_lengths (torch.LongTensor, şekli (num_audios), isteğe bağlı) — LLM'deki her sesin özellik şekil uzunluğu.

Dönüş değeri

BaseModelOutputWithPooling veya tuple(torch.Tensor)

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

  • last_hidden_state (torch.Tensor, şekli (batch_size, sequence_length, hidden_size)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi.

  • pooler_output (torch.Tensor, şekli (batch_size, hidden_size)) — Sıranın ilk token'ının (sınıflandırma token'ı) son katman gizli durumu, yardımcı ön eğitim görevi için kullanılan katmanlar üzerinden ek işlemden geçirildikten sonraki hali. Örneğin BERT ailesi modelleri için, bu, sınıflandırma token'ının doğrusal bir katman ve tanh aktivasyon fonksiyonu üzerinden işlenmesinden sonra döndürülen değerdir. Doğrusal katman ağırlıkları, ön eğitim sırasında bir sonraki cümle tahmini (sınıflandırma) hedefinden eğitilir.

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

Örnek:

>>> from PIL import Image
>>> from transformers import AutoProcessor, Qwen2_5OmniThinkerForConditionalGeneration

>>> model = Qwen2_5OmniThinkerForConditionalGeneration.from_pretrained("Qwen/Qwen2.5-Omni-7B")
>>> processor = AutoProcessor.from_pretrained("Qwen/Qwen2.5-Omni-7B")

>>> messages = [
...     {
...         "role": "user", "content": [
...             {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"},
...             {"type": "text", "text": "Where is the cat standing?"},
...         ]
...     },
... ]

>>> inputs = processor.apply_chat_template(
...     messages,
...     tokenize=True,
...     return_dict=True,
...     return_tensors="pt",
...     add_generation_prompt=True
... )
>>> # Generate
>>> generate_ids = model.generate(**inputs)
>>> processor.batch_decode(generate_ids, skip_special_tokens=True)[0]

get_image_features

< >

( pixel_values: Tensorimage_grid_thw: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)

Parametreler

  • pixel_values (torch.Tensor, şekli (batch_size, num_channels, image_size, image_size)) — Girdi görüntülerine karşılık gelen tensörler.
  • image_grid_thw (torch.LongTensor, şekli (num_images, 3), isteğe bağlı) — LLM'deki her bir görüntünün özellik şeklinin zaman, yükseklik ve genişlik değerleri.

Dönüş değeri

BaseModelOutputWithPooling veya tuple(torch.Tensor)

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

  • last_hidden_state (torch.Tensor, şekli (batch_size, sequence_length, hidden_size)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi.

  • pooler_output (torch.Tensor, şekli (batch_size, hidden_size)) — Sıranın ilk token'ının (sınıflandırma token'ı) son katman gizli durumu, yardımcı ön eğitim görevi için kullanılan katmanlar üzerinden ek işlemden geçirildikten sonraki hali. Örneğin BERT ailesi modelleri için, bu, sınıflandırma token'ının doğrusal bir katman ve tanh aktivasyon fonksiyonu üzerinden işlenmesinden sonra döndürülen değerdir. Doğrusal katman ağırlıkları, ön eğitim sırasında bir sonraki cümle tahmini (sınıflandırma) hedefinden eğitilir.

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

Örnek:

>>> from PIL import Image
>>> from transformers import AutoProcessor, Qwen2_5OmniThinkerForConditionalGeneration

>>> model = Qwen2_5OmniThinkerForConditionalGeneration.from_pretrained("Qwen/Qwen2.5-Omni-7B")
>>> processor = AutoProcessor.from_pretrained("Qwen/Qwen2.5-Omni-7B")

>>> messages = [
...     {
...         "role": "user", "content": [
...             {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"},
...             {"type": "text", "text": "Where is the cat standing?"},
...         ]
...     },
... ]

>>> inputs = processor.apply_chat_template(
...     messages,
...     tokenize=True,
...     return_dict=True,
...     return_tensors="pt",
...     add_generation_prompt=True
... )
>>> # Generate
>>> generate_ids = model.generate(**inputs)
>>> processor.batch_decode(generate_ids, skip_special_tokens=True)[0]

get_video_features

< >

( pixel_values_videos: Tensorvideo_grid_thw: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)

Parametreler

  • pixel_values_videos (torch.Tensor, şekli (batch_size, num_channels, image_size, image_size)) — Girdi videolarına karşılık gelen tensörler.
  • video_grid_thw (torch.LongTensor, şekli (num_videos, 3), isteğe bağlı) — LLM'deki her bir video için özellik şeklinin zaman, yükseklik ve genişlik değerleri.

Dönüş değeri

BaseModelOutputWithPooling veya tuple(torch.Tensor)

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

  • last_hidden_state (torch.Tensor, şekli (batch_size, sequence_length, hidden_size)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi.

  • pooler_output (torch.Tensor, şekli (batch_size, hidden_size)) — Sıranın ilk token'ının (sınıflandırma token'ı) son katman gizli durumu, yardımcı ön eğitim görevi için kullanılan katmanlar üzerinden ek işlemden geçirildikten sonraki hali. Örneğin BERT ailesi modelleri için, bu, sınıflandırma token'ının doğrusal bir katman ve tanh aktivasyon fonksiyonu üzerinden işlenmesinden sonra döndürülen değerdir. Doğrusal katman ağırlıkları, ön eğitim sırasında bir sonraki cümle tahmini (sınıflandırma) hedefinden eğitilir.

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

Örnek:

>>> from PIL import Image
>>> from transformers import AutoProcessor, Qwen2_5OmniThinkerForConditionalGeneration

>>> model = Qwen2_5OmniThinkerForConditionalGeneration.from_pretrained("Qwen/Qwen2.5-Omni-7B")
>>> processor = AutoProcessor.from_pretrained("Qwen/Qwen2.5-Omni-7B")

>>> messages = [
...     {
...         "role": "user", "content": [
...             {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"},
...             {"type": "text", "text": "Where is the cat standing?"},
...         ]
...     },
... ]

>>> inputs = processor.apply_chat_template(
...     messages,
...     tokenize=True,
...     return_dict=True,
...     return_tensors="pt",
...     add_generation_prompt=True
... )
>>> # Generate
>>> generate_ids = model.generate(**inputs)
>>> processor.batch_decode(generate_ids, skip_special_tokens=True)[0]

Qwen2_5OmniThinkerTextModel

sınıf transformers.Qwen2_5OmniThinkerTextModel

< >

( config: Qwen2_5OmniTextConfig )

Parametreler

  • config (Qwen2_5OmniTextConfig) — 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.

Üzerinde herhangi bir özel head olmadan ham hidden-states çıktısı veren çıplak Qwen2 5 Omni Text Model.

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.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = None**kwargs: *<class 'transformers.modeling_flash_attention_utils.FlashAttentionKwargs'> ) → BaseModelOutputWithPast or tuple(torch.Tensor)

Parametreler

  • input_ids (torch.LongTensor ş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.LongTensor ş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?

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

  • 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).

Dönüş değeri

BaseModelOutputWithPast veya tuple(torch.Tensor)

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

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

  • last_hidden_state (torch.Tensor, şekli (batch_size, sequence_length, hidden_size)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi.

    past_key_values kullanılırsa, yalnızca (batch_size, 1, hidden_size) biçimindeki dizilerin son gizli durumu (hidden-state) çıktı olarak verilir.

  • 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 ve isteğe bağlı olarak config.is_encoder_decoder=True ise cross-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.

Qwen2_5OmniTalkerConfig

sınıf transformers.Qwen2_5OmniTalkerConfig

< >

( 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 = Noneaudio_token_index: int = 151646image_token_index: int = 151655video_token_index: int = 151656vocab_size: int = 8448tts_text_start_token_id: int = 151860tts_text_end_token_id: int = 151861tts_text_pad_token_id: int = 151859tts_codec_start_token_id: int = 8293tts_codec_end_token_id: int = 8294tts_codec_pad_token_id: int = 8292tts_codec_mask_token_id: int = 8296vision_start_token_id: int = 151652vision_end_token_id: int = 151653embedding_size: int = 3584hidden_size: int = 3584intermediate_size: int = 18944num_hidden_layers: int = 28num_attention_heads: int = 28num_key_value_heads: int = 4hidden_act: str = 'silu'max_position_embeddings: int = 32768rms_norm_eps: float = 1e-06head_dim: int = 128use_cache: bool = Truetie_word_embeddings: bool = Falseuse_sliding_window: bool = Falsesliding_window: int | None = 32768max_window_layers: int = 28attention_dropout: float | int = 0.0rope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Noneposition_id_per_seconds: int = 25seconds_per_chunk: int = 2audio_start_token_id: int = 151647audio_end_token_id: int = 151648initializer_range: float = 0.02spatial_merge_size: int = 2layer_types: list[str] | None = Nonepad_token_id: int | None = None )

Parametreler

  • audio_token_index (int, isteğe bağlı, varsayılan 151646) — Giriş sesinin yer tutucusu olarak kullanılan ses jeton indeksi.
  • image_token_index (int, isteğe bağlı, varsayılan 151655) — Girdi görselleri için yer tutucu olarak kullanılan görsel jeton indeksi.
  • video_token_index (int, isteğe bağlı, varsayılan 151656) — Girdi videoları için yer tutucu olarak kullanılan video jeton indeksi.
  • vocab_size (int, isteğe bağlı, varsayılan 8448) — Modelin sözlük boyutu. input_ids ile temsil edilebilecek farklı token sayısını tanımlar.
  • tts_text_start_token_id (int, isteğe bağlı, varsayılan 151860) — TTS metninin başlangıcını kodlamak için kullanılan TTS metin başlangıç belirteç dizini.
  • tts_text_end_token_id (int, isteğe bağlı, varsayılan 151861) — TTS metninin sonunu kodlamak için kullanılan tts metin sonu belirteç dizini.
  • tts_text_pad_token_id (int, isteğe bağlı, varsayılan 151859) — TTS metninin dolgusunu kodlamak için kullanılan TTS metin dolgu belirteç dizini.
  • tts_codec_start_token_id (int, isteğe bağlı, varsayılan 8293) — TTS codec'in başlangıcını kodlamak için kullanılan tts codec başlangıç token indeksi.
  • tts_codec_end_token_id (int, isteğe bağlı, varsayılan 8294) — Tts codec'in sonunu kodlamak için kullanılan tts codec son token indeksi.
  • tts_codec_pad_token_id (int, isteğe bağlı, varsayılan 8292) — Tts codec dolgusunun kodlanmasında kullanılacak tts codec pad token indeksi.
  • tts_codec_mask_token_id (int, isteğe bağlı, varsayılan 8296) — Tts codec maskesini kodlamak için kullanılan tts codec mask token indeksi.
  • vision_start_token_id (int, isteğe bağlı, varsayılan 151652) — Çok modlu giriş dizisindeki görsel segmentin başlangıcını işaretleyen Token ID'si.
  • vision_end_token_id (int, isteğe bağlı, varsayılan 151653) — Çok modlu giriş dizisindeki görsel segmentin sonunu işaretleyen Token ID'si.
  • embedding_size (int, isteğe bağlı, varsayılan 3584) — Gömme ve gizli durumların boyutluluğu.
  • hidden_size (int, isteğe bağlı, varsayılan 3584) — Gizli temsillerin boyutu.
  • intermediate_size (int, isteğe bağlı, varsayılan 18944) — MLP temsillerinin boyutu.
  • num_hidden_layers (int, isteğe bağlı, varsayılan 28) — Transformer çözücüdeki gizli katman sayısı.
  • num_attention_heads (int, isteğe bağlı, varsayılan 28) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • num_key_value_heads (int, isteğe bağlı, varsayılan 4) — Bu, Grouped Query Attention uygulamasında kullanılacak key_value başlarının sayısıdır. num_key_value_heads=num_attention_heads ise model Multi Head Attention (MHA) kullanır, num_key_value_heads=1 ise model Multi Query Attention (MQA) kullanır, aksi halde GQA kullanılır. Çok başlı bir checkpoint'i GQA checkpoint'ine dönüştürürken, her grup key ve value başı, o gruptaki tüm orijinal başların ortalama havuzlanması (meanpooling) ile oluşturulmalıdır. Daha fazla ayrıntı için bu makaleye göz atın. Belirtilmezse, varsayılan olarak num_attention_heads kullanılır.
  • hidden_act (str, isteğe bağlı, varsayılan silu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, "gelu", "relu", "silu" vb.
  • max_position_embeddings (int, isteğe bağlı, varsayılan 32768) — Bu modelin kullanılabileceği en uzun dizi uzunluğu.
  • rms_norm_eps (float, isteğe bağlı, varsayılan 1e-06) — rms normalizasyon katmanları tarafından kullanılan epsilon.
  • head_dim (int, isteğe bağlı, varsayılan 128) — Dikkat başlığı boyutu. None ise, varsayılan olarak hidden_size // num_attention_heads değerini alır.
  • 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 False) — Modelin tied_weights_keys eşlemesine göre ağırlık gömme bağlamalarının yapılıp yapılmayacağı.
  • use_sliding_window (bool, isteğe bağlı, varsayılan False) — Kayan pencere dikkatinin (sliding window attention) kullanılıp kullanılmayacağı.
  • sliding_window (int, isteğe bağlı, varsayılan 32768) — Kayan pencere dikkatinde pencere boyutu. None ise kayan pencere uygulanmaz.
  • max_window_layers (int, isteğe bağlı, varsayılan 28) — Tam dikkat kullanan katman sayısı. İlk max_window_layers katman tam dikkat kullanırken, bu katmanlardan sonraki ek katmanlar SWA (Sliding Window Attention) kullanır.
  • attention_dropout (Union[float, int], isteğe bağlı, varsayılan 0.0) — Dikkat olasılıkları için dropout oranı.
  • rope_parameters (Union[~modeling_rope_utils.RopeParameters, dict], isteğe bağlı) — RoPE gömme yapılandırma parametrelerini içeren sözlük. Sözlük, rope_theta için bir değer ve daha uzun max_position_embeddings ile RoPE kullanmak istiyorsanız ölçekleme için kullanılan isteğe bağlı parametreleri içermelidir.
  • position_id_per_seconds (int, isteğe bağlı, varsayılan 25) — Saniye başına position id artışı.
  • seconds_per_chunk (int, isteğe bağlı, varsayılan 2) — Ses ve video verisi parçasının saniye cinsinden süresi.
  • audio_start_token_id (int, isteğe bağlı, varsayılan 151647) — Ses prompt'unu kodlamak için kullanılacak ses başlangıç tokeni indeksi.
  • audio_end_token_id (int, isteğe bağlı, varsayılan 151648) — Ses istemcisinin kodlanmasında kullanılacak ses bitiş tokeni indeksi.
  • 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ı.
  • spatial_merge_size (int, isteğe bağlı, varsayılan 2) — Komşu yamaları birleştirerek görsel jeton sayısını azaltmak için kullanılan uzamsal birleştirme penceresinin boyutu.
  • layer_types (list[str], isteğe bağlı) — Her katman indeksini ilgili katman türüyle açıkça eşleyen bir liste. Sağlanmazsa, config değerlerine göre otomatik olarak oluşturulur.
  • pad_token_id (int, isteğe bağlı) — Sözlükte dolgu için kullanılan token kimliği.

Bu, bir Qwen2 5 OmniModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Qwen2 5 Omni modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, Qwen/Qwen2.5-Omni-7B 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 Qwen2_5OmniTalkerForConditionalGeneration, Qwen2_5OmniThinkerConfig, Qwen2_5OmniAudioEncoderConfig, Qwen2_5OmniVisionEncoderConfig

>>> # Initializing a Qwen2_5OmniAudioEncoder config
>>> audio_config = Qwen2_5OmniAudioEncoderConfig()

>>> # Initializing a Qwen2 config
>>> text_config = Qwen2Config()

>>> # Initializing a Qwen2_5Omni configuration
>>> configuration = Qwen2_5OmniThinkerConfig(audio_config, text_config)

>>> # Initializing a model from the qwen2-audio style configuration
>>> model = Qwen2_5OmniTalkerForConditionalGeneration(configuration)

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

Qwen2_5OmniTalkerForConditionalGeneration

sınıf transformers.Qwen2_5OmniTalkerForConditionalGeneration

< >

( config: Qwen2_5OmniTalkerConfig )

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Nonethinker_reply_part: typing.Optional[torch.Tensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = Noneinput_text_ids: typing.Optional[torch.LongTensor] = Noneimage_grid_thw: typing.Optional[torch.LongTensor] = Nonevideo_grid_thw: typing.Optional[torch.LongTensor] = Noneuse_audio_in_video: bool | None = Noneaudio_feature_lengths: typing.Optional[torch.LongTensor] = Nonevideo_second_per_grid: typing.Optional[torch.LongTensor] = None**kwargs ) → Qwen2_5OmniTalkerCausalLMOutputWithPast or tuple(torch.Tensor)

Parametreler

  • input_ids (torch.LongTensor ş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.LongTensor ş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?

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

  • thinker_reply_part (torch.Tensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — İşlenecek metin yanıt kısmını temsil eden, thinker modelinin çıktısından gelen gizli durumlar.
  • 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).
  • input_text_ids (torch.LongTensor, şekli (batch_size, sequence_length), isteğe bağlı) — Sadece metin içeriği için girdi token kimlikleri; çok modlu bağlamlarda konum hesabında kullanılır.
  • image_grid_thw (torch.LongTensor, şekli (num_images, 3), isteğe bağlı) — LLM'deki her bir görüntünün özellik şeklinin zaman, yükseklik ve genişlik değerleri.
  • video_grid_thw (torch.LongTensor, şekli (num_videos, 3), isteğe bağlı) — LLM'deki her bir video için özellik şeklinin zaman, yükseklik ve genişlik değerleri.
  • use_audio_in_video (bool, isteğe bağlı) — Videoda ses izinin kullanılıp kullanılmayacağı; process_audio_info içindeki parametreyle aynı olmalıdır.
  • audio_feature_lengths (torch.LongTensor, şekli (num_audios), isteğe bağlı) — LLM'deki her sesin özellik şekil uzunluğu.
  • video_second_per_grid (torch.LongTensor, şekli (num_videos), isteğe bağlı) — Her video için ızgara başına saniye sayısı, zamansal özellik eşlemesi için kullanılır.

Dönüş değeri

Qwen2_5OmniTalkerCausalLMOutputWithPast veya tuple(torch.Tensor)

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

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

  • thinker_reply_part (torch.Tensor, şekli (batch_size, sequence_length, hidden_size)) — Talker modelinin girdisi olarak kullanılan, thinker modelinden gelen gizli durumlar. Bunlar, talker modelinin konuşma token'ları üretmek için kullanacağı kodlanmış yanıtı temsil eder.

Örnek:

>>> from io import BytesIO
>>> from urllib.request import urlopen
>>> import librosa
>>> from transformers import AutoProcessor, Qwen2_5OmniTalkerForConditionalGeneration

>>> model = Qwen2_5OmniTalkerForConditionalGeneration.from_pretrained("Qwen/Qwen2-Audio-7B")
>>> processor = AutoProcessor.from_pretrained("Qwen/Qwen2-Audio-7B")

>>> prompt = "<|audio_bos|><|AUDIO|><|audio_eos|>Generate the caption in English:"
>>> url = "https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/audio/glass_breaking.mp3"
>>> audio, _ = librosa.load(BytesIO(urlopen(url).read()), sr=self.processor.feature_extractor.sampling_rate)

>>> inputs = processor(text=prompt, audio=audio, return_tensors="pt")

>>> # Generate
>>> generate_ids = model.generate(**inputs, max_length=30)
>>> processor.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]
"Generate the caption in English: Glass is breaking."

Qwen2_5OmniTalkerModel

sınıf transformers.Qwen2_5OmniTalkerModel

< >

( config: Qwen2_5OmniTalkerConfig )

Parametreler

  • config (Qwen2_5OmniTalkerConfig) — 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 göz atın.

Üzerinde herhangi bir özel head bulunmayan, ham hidden-states üreten çıplak Qwen2 5 Omni Model.

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.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = None**kwargs: *<class 'transformers.modeling_flash_attention_utils.FlashAttentionKwargs'> ) → BaseModelOutputWithPast or tuple(torch.Tensor)

Parametreler

  • input_ids (torch.LongTensor ş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.LongTensor ş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?

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

  • 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).

Dönüş değeri

BaseModelOutputWithPast veya tuple(torch.Tensor)

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

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

  • last_hidden_state (torch.Tensor, şekli (batch_size, sequence_length, hidden_size)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi.

    past_key_values kullanılırsa, yalnızca (batch_size, 1, hidden_size) biçimindeki dizilerin son gizli durumu (hidden-state) çıktı olarak verilir.

  • 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 ve isteğe bağlı olarak config.is_encoder_decoder=True ise cross-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.

Qwen2_5OmniToken2WavConfig

sınıf transformers.Qwen2_5OmniToken2WavConfig

< >

( 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 = Nonedit_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonebigvgan_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None )

Parametreler

  • dit_config (DiT_Args, isteğe bağlı) — Mel-spektrogram üretmekten sorumlu Diffusion Transformer (DiT) modülü için yapılandırma sınıfı.
  • bigvgan_config (BigVGAN_Args, opsiyonel) — Mel-spektragramları dalga formlarına dönüştürmekten sorumlu BigVGAN modülü için yapılandırma sınıfı.

Bu, bir Qwen2 5 OmniModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Qwen2 5 Omni modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, Qwen/Qwen2.5-Omni-7B 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 Qwen2_5OmniToken2WavModel, DiT_Args, BigVGAN_Args

>>> # Initialize DiT configuration
>>> dit_config = DiT_Args(
...     dim=1024,
...     depth=22,
...     heads=16,
...     ff_mult=2
... )

>>> # Initialize BigVGAN configuration
>>> bigvgan_config = BigVGAN_Args(
...     mel_dim=80,
...     upsample_rates=[5,3,2,2,2,2]
... )

>>> # Initialize main configuration
>>> config = Qwen2_5OmniToken2WavConfig(dit_config, bigvgan_config)

>>> # Initialize model with config
>>> model = Qwen2_5OmniToken2Wav(config)

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

Qwen2_5OmniToken2WavModel

sınıf transformers.Qwen2_5OmniToken2WavModel

< >

( config: Qwen2_5OmniToken2WavConfig )

Parametreler

  • config (Qwen2_5OmniToken2WavConfig) — 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 Qwen2.5Omni Token2Wav modeli. Konuşma tokenlarını girdi olarak alıp mel spektrogramu tahmin eden bir DiT modeli ve mel spektrogramu girdi olarak alıp dalga formunu tahmin eden bir BigVGAN vokalizerden oluşur.

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

< >

( codeconditioningreference_melnum_steps = 10guidance_scale = 0.5sway_coefficient = -1.0**kwargs )

Girdi kodu ve koşullandırma parametrelerinden bir dalga formu üretir.

Qwen2_5OmniToken2WavDiTModel

sınıf transformers.Qwen2_5OmniToken2WavDiTModel

< >

( config: Qwen2_5OmniDiTConfig )

Parametreler

  • config (Qwen2_5OmniDiTConfig) — 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 Qwen2.5Omni Token2WavDiT modeli. Ses tokenlarını girdi olarak alır ve mel spektrogram tahmin eder.

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.

Qwen2_5OmniToken2WavBigVGANModel

sınıf transformers.Qwen2_5OmniToken2WavBigVGANModel

< >

( config: Qwen2_5OmniBigVGANConfig )

Parametreler

  • config (Qwen2_5OmniBigVGANConfig) — 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 Qwen2.5Omni Token2WavBigVGAN modeli. Mel spektrogramı girdi olarak alır ve dalga formunu tahmin eder.

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.

Update on GitHub