Transformers documentation

NemotronH 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, 2026-09-23 tarihinde Hugging Face Transformers'a katkıda bulunulmuştur.

FlashAttention

NemotronH Omni

NemotronH Omni, NVIDIA tarafından geliştirilen ve NemotronH hibrit Mamba-Transformer dil modelini RADIO görme kodlayıcısı ile isteğe bağlı Parakeet tabanlı ses kodlayıcısıyla eşleştiren çok modlu bir akıl yürütme modelidir. Görüntü (ve video) yamaları, RADIO kulesi ve bir pixel-shuffle MLP üzerinden dil modelinin gömme uzayına <image> / <video> bağlam-jetonu konumlarında yansıtılır; ses klipleri de aynı şekilde <audio> konumlarında yansıtılır. Sonuç, metin, görüntü, video ve ses üzerinde birlikte akıl yürüten tek bir otoregresif modeldir.

Aşağıdaki örnek, AutoModelForImageTextToText ile bir görüntü ve metin istemcisi üzerinde akıl yürütmenin nasıl yapılacağını göstermektedir.

AutoModel
from transformers import AutoModelForImageTextToText, AutoProcessor


model_id = "nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16"

processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(
    model_id,
    device_map="auto",
    # the Parakeet audio encoder has no flash-attention kernel, so pin that tower to sdpa
    attn_implementation={"": "flash_attention_2", "audio_config": "sdpa"},
)

messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg",
            },
            {"type": "text", "text": "Describe this image in detail."},
        ],
    }
]
inputs = processor.apply_chat_template(
    messages,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)

output = model.generate(**inputs, max_new_tokens=128, do_sample=False)
print(processor.decode(output[0, inputs["input_ids"].shape[-1] :], skip_special_tokens=True))

NemotronH_Omni_Reasoning_V3_Config

sınıf transformers.NemotronH_Omni_Reasoning_V3_Config

< >

( 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 = Nonevision_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonetext_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneaudio_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneforce_image_size: int | None = Nonedownsample_ratio: float = 0.5projector_hidden_size: int = 4096vision_hidden_size: int = 1280video_pruning_rate: float = 0.0video_temporal_patch_size: int = 2image_token_id: int | None = Nonevideo_token_id: int | None = Noneaudio_token_id: int | None = None )

Parametreler

  • vision_config (dict veya RadioConfig, isteğe bağlı) — RADIO görüntü kodlayıcısının yapılandırması. Varsayılan olarak varsayılan bir RadioConfig kullanılır.
  • text_config (dict veya NemotronHConfig, isteğe bağlı) — NemotronH dil modeli için yapılandırma. Varsayılan olarak varsayılan bir NemotronHConfig kullanılır.
  • audio_config (dict veya ParakeetEncoderConfig, isteğe bağlı) — İsteğe bağlı Parakeet ses kodlayıcısının yapılandırması. None ses dalını devre dışı bırakır.
  • force_image_size (int, isteğe bağlı) — Görme kulesinin beklediği sabit giriş görüntüsü çözünürlüğü (piksel cinsinden).
  • downsample_ratio (float, isteğe bağlı, varsayılan 0.5) — Görüntü özelliklerine uygulanan pixel-shuffle uzamsal küçültme oranı.
  • projector_hidden_size (int, isteğe bağlı, varsayılan 4096) — Görüden LLM'ye MLP projeksiyonunun gizli boyutu.
  • vision_hidden_size (int, isteğe bağlı, varsayılan 1280) — RADIO görme özelliklerinin gizli boyutu.
  • video_pruning_rate (float, isteğe bağlı, varsayılan 0.0) — Efficient-Video-Sampling token budama oranı; 0.0 budamayı devre dışı bırakır.
  • video_temporal_patch_size (int, isteğe bağlı, varsayılan 2) — Video gömme birimi tarafından tek bir zamansal yamaya (temporal patch) indirgenen kare sayısı.
  • image_token_id (int, isteğe bağlı) — input_ids içinde görüntü bağlamı yer tutucusu olarak kullanılan token kimliği.
  • video_token_id (int, isteğe bağlı) — input_ids içinde video bağlamı yer tutucusu olarak kullanılan token kimliği.
  • audio_token_id (int, isteğe bağlı) — input_ids içinde ses bağlamı yer tutucusu olarak kullanılan token kimliği.

Bu, bir Nemotron H OmniModel'in yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Nemotron H Omni modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16 modelinin yapılandırmasına benzer bir yapılandırma elde edilmesini sağlar.

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.

NemotronH_Omni_Reasoning_V3ImageProcessor

sınıf transformers.NemotronH_Omni_Reasoning_V3ImageProcessor

< >

( **kwargs: *<class 'transformers.models.nemotron_h_omni.image_processing_nemotron_h_omni.NemotronH_Omni_Reasoning_V3ImageProcessorKwargs'> )

Parametreler

  • do_convert_rgb (bool, kwargs, opsiyonel, varsayılan True) — Görselin RGB'ye dönüştürülüp dönüştürülmemesi.
  • do_resize (bool, kwargs, opsiyonel) — Görselin yeniden boyutlandırılıp boyutlandırılmayacağı.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Modelin kabul ettiği maksimum giriş boyutlarını açıklar.
  • default_to_square (bool, kwargs, isteğe bağlı, varsayılan True) — size bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görüntü kullanılıp kullanılmayacağı.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — center_crop uygulandıktan sonra çıktı görüntüsünün boyutu.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, varsayılan 3) — Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu, PILImageResampling enum değerlerinden biri olabilir. Yalnızca do_resize True olarak ayarlanırsa etkilidir.
  • do_rescale (bool, kwargs, isteğe bağlı, varsayılan True) — Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceği.
  • rescale_factor (float, kwargs, opsiyonel, varsayılan 0.00392156862745098) — do_rescale True olarak ayarlandığında görüntüyü yeniden ölçeklemek için kullanılan yeniden ölçekleme faktörü.
  • do_normalize (bool, kwargs, opsiyonel, varsayılan True) — Görselin normalize edilip edilmeyeceği.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel, varsayılan [0.48145466, 0.4578275, 0.40821073]) — Normalizasyon için kullanılacak görüntü ortalaması. Yalnızca do_normalize True olarak ayarlanırsa etkilidir.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel, varsayılan [0.26862954, 0.26130258, 0.27577711]) — Normalizasyon için kullanılacak görüntü standart sapması. Yalnızca do_normalize True olarak ayarlanırsa etkilidir.
  • do_pad (bool, kwargs, opsiyonel) — Görselin dolgu (padding) uygulanıp uygulanmayacağı. Dolgu, partideki en büyük boyuta veya görsel başına sabit kare bir boyuta yapılır. Kesin dolgu stratejisi modele bağlıdır.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Görsellerin doldurulacağı boyut, {"height": int, "width" int} biçiminde. Ön işleme için sağlanan herhangi bir görsel boyutundan büyük olmalıdır. pad_size sağlanmazsa, görseller batch içindeki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızca do_pad=True. olduğunda uygulanır.
  • do_center_crop (bool, kwargs, opsiyonel) — Görselin ortadan kırpılıp kırpılmayacağı.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — Yalnızca ChannelDimension.FIRST desteklenir. Yavaş işleyicilerle uyumluluk için eklendi.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — Girdi görüntüsü için kanal boyutu biçimi. Ayarlanmazsa, kanal boyutu biçimi girdi görüntüsünden çıkarılır. Aşağıdakilerden biri olabilir:
    • "channels_first" veya ChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü.
    • "channels_last" veya ChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü.
    • "none" veya ChannelDimension.NONE: (height, width) biçiminde görüntü.
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — Videoların işleneceği cihaz. Ayarlanmamışsa, cihaz girdi videolarından çıkarılır.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — 'pt' olarak ayarlanırsa yığılmış tensörler döndürür, aksi takdirde tensör listesi döndürür.
  • disable_grouping (bool, kwargs, opsiyonel) — Görsellerin boyuta göre gruplandırılmasını devre dışı bırakıp onları toplu olarak değil, bireysel olarak işlenmesini belirtir. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, burada ayrıntılandırıldığı üzere ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, isteğe bağlı) — Girdideki her görüntü için kullanılacak görüntü jetonlarının sayısı. Geriye dönük uyumluluk için eklendi ancak gelecekteki modellerde bu, bir işlemci özniteliği olarak ayarlanmalıdır.
  • patch_size (int, kwargs, isteğe bağlı, varsayılan 16) — Görüntü kulesi yamasının bir kenar uzunluğu, piksel cinsinden.
  • downsample_ratio (float, kwargs, opsiyonel, varsayılan 0.5) — Model tarafından uygulanan pixel-shuffle uzamsal küçültme oranı; yama ızgarasının her kenarı, bu oranın tersinin bir katıdır.
  • min_num_patches (int, kwargs, opsiyonel, varsayılan 1024) — Bir görüntünün yeniden boyutlandırıldığı patch_size yamalarının asgari sayısı.
  • max_num_patches (int, kwargs, opsiyonel, varsayılan 13312) — Bir görüntünün yeniden boyutlandırılacağı patch_size yamalarının maksimum sayısı; 0 bu sınırı devre dışı bırakır.
  • max_model_len (int, kwargs, isteğe bağlı, varsayılan 16384) — Dil modelinin bağlam uzunluğu; bir çağrıda görsellerin yama bütçesini sınırlar.

NemotronH_Omni_Reasoning_V3ImageProcessor görüntü işleyicisi oluşturur.

ön işleme

< >

( images**kwargs: *<class 'transformers.models.nemotron_h_omni.image_processing_nemotron_h_omni.NemotronH_Omni_Reasoning_V3ImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature

Parametreler

  • images (`) -- Image to preprocess. Expects a single or batch of images with pixel values ranging from 0 to 255. If passing in images with pixel values between 0 and 1, set do_rescale=False`.
  • do_convert_rgb (bool, kwargs, opsiyonel) — Görselin RGB'ye dönüştürülüp dönüştürülmemesi.
  • do_resize (bool, kwargs, opsiyonel) — Görselin yeniden boyutlandırılıp boyutlandırılmayacağı.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Modelin kabul ettiği maksimum giriş boyutlarını açıklar.
  • default_to_square (bool, kwargs, opsiyonel) — Boyut bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görüntüye geçilip geçilmeyeceği.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — center_crop uygulandıktan sonra çıktı görüntüsünün boyutu.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu, PILImageResampling enum değerlerinden biri olabilir. Yalnızca do_resize True olarak ayarlanırsa etkilidir.
  • do_rescale (bool, kwargs, opsiyonel) — Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceği.
  • rescale_factor (float, kwargs, opsiyonel) — do_rescale True olarak ayarlanırsa görüntüyü yeniden ölçeklemek için kullanılan yeniden ölçekleme faktörü.
  • do_normalize (bool, kwargs, opsiyonel) — Görselin normalize edilip edilmeyeceği.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel) — Normalizasyon için kullanılacak görüntü ortalaması. Yalnızca do_normalize True olarak ayarlanırsa etkilidir.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel) — Normalizasyon için kullanılacak görüntü standart sapması. Yalnızca do_normalize True olarak ayarlanmışsa etkilidir.
  • do_pad (bool, kwargs, opsiyonel) — Görselin dolgu (padding) uygulanıp uygulanmayacağı. Dolgu, partideki en büyük boyuta veya görsel başına sabit kare bir boyuta yapılır. Kesin dolgu stratejisi modele bağlıdır.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Görsellerin doldurulacağı boyut, {"height": int, "width" int} biçiminde. Ön işleme için sağlanan herhangi bir görsel boyutundan büyük olmalıdır. pad_size sağlanmazsa, görseller batch içindeki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızca do_pad=True. olduğunda uygulanır.
  • do_center_crop (bool, kwargs, opsiyonel) — Görselin ortadan kırpılıp kırpılmayacağı.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — Yalnızca ChannelDimension.FIRST desteklenir. Yavaş işleyicilerle uyumluluk için eklendi.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — Girdi görüntüsü için kanal boyutu biçimi. Ayarlanmazsa, kanal boyutu biçimi girdi görüntüsünden çıkarılır. Aşağıdakilerden biri olabilir:
    • "channels_first" veya ChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü.
    • "channels_last" veya ChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü.
    • "none" veya ChannelDimension.NONE: (height, width) biçiminde görüntü.
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — Videoların işleneceği cihaz. Ayarlanmamışsa, cihaz girdi videolarından çıkarılır.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — 'pt' olarak ayarlanırsa yığılmış tensörler döndürür, aksi takdirde tensör listesi döndürür.
  • disable_grouping (bool, kwargs, opsiyonel) — Görsellerin boyuta göre gruplandırılmasını devre dışı bırakıp onları toplu olarak değil, bireysel olarak işlenmesini belirtir. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, burada ayrıntılandırıldığı üzere ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, isteğe bağlı) — Girdideki her görüntü için kullanılacak görüntü jetonlarının sayısı. Geriye dönük uyumluluk için eklendi ancak gelecekteki modellerde bu, bir işlemci özniteliği olarak ayarlanmalıdır.
  • patch_size (int, kwargs, isteğe bağlı, varsayılan 16) — Görüntü kulesi yamasının bir kenar uzunluğu, piksel cinsinden.
  • downsample_ratio (float, kwargs, opsiyonel, varsayılan 0.5) — Model tarafından uygulanan pixel-shuffle uzamsal küçültme oranı; yama ızgarasının her kenarı, bu oranın tersinin bir katıdır.
  • min_num_patches (int, kwargs, opsiyonel, varsayılan 1024) — Bir görüntünün yeniden boyutlandırıldığı patch_size yamalarının asgari sayısı.
  • max_num_patches (int, kwargs, opsiyonel, varsayılan 13312) — Bir görüntünün yeniden boyutlandırılacağı patch_size yamalarının maksimum sayısı; 0 bu sınırı devre dışı bırakır.
  • max_model_len (int, kwargs, isteğe bağlı, varsayılan 16384) — Dil modelinin bağlam uzunluğu; bir çağrıda görsellerin yama bütçesini sınırlar.

Dönüş değeri

~image_processing_base.BatchFeature

  • data (dict) — call yönteminin döndürdüğü listeler/diziler/tensörler sözlüğü (‘pixel_values’ 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.

NemotronH_Omni_Reasoning_V3VideoProcessor

sınıf transformers.NemotronH_Omni_Reasoning_V3VideoProcessor

< >

( **kwargs: *<class 'transformers.models.nemotron_h_omni.video_processing_nemotron_h_omni.NemotronH_Omni_Reasoning_V3VideoProcessorInitKwargs'> )

Parametreler

  • **kwargs (NemotronH_Omni_Reasoning_V3VideoProcessorInitKwargs, 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.

NemotronH_Omni_Reasoning_V3VideoProcessor video işleyicisi oluşturur.

NemotronH_Omni_Reasoning_V3Processor

sınıf transformers.NemotronH_Omni_Reasoning_V3Processor

< >

( image_processor = Nonevideo_processor = Nonetokenizer = Nonefeature_extractor = Nonechat_template = Noneaudio_sampling_rate: int = 16000audio_subsampling_factor: int = 8audio_hop_length: int = 160video_temporal_patch_dim: int = 2**kwargs )

Parametreler

  • image_processor (NemotronH_Omni_Reasoning_V3ImageProcessor) — Görsel işleyici zorunlu bir girdidir.
  • video_processor (NemotronH_Omni_Reasoning_V3VideoProcessor) — Video işleyici zorunlu bir girdidir.
  • tokenizer (tokenizer_class) — Tokenizer zorunlu bir girdidir.
  • feature_extractor (feature_extractor_class) — Özellik çıkarıcı 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.
  • audio_sampling_rate (int, isteğe bağlı, varsayılan 16000) — Ses dalga formlarının beklenen örneklem hızı, Hz cinsinden.
  • audio_subsampling_factor (int, isteğe bağlı, varsayılan 8) — Ses kodlayıcısının mel çerçevelerini alt örneklemesi için kullanılan çarpan, ses yer tutucu çalışmasının boyutlandırılmasında kullanılır.
  • audio_hop_length (int, isteğe bağlı, varsayılan 160) — Ardışık mel çerçeveleri arasındaki örnek cinsinden atlama uzunluğu.
  • video_temporal_patch_dim (int, isteğe bağlı, varsayılan 2) — Modelin video gömme birimi tarafından tek bir zamansal yamaya (temporal patch) indirgenen kare sayısı.

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

NemotronH_Omni_Reasoning_V3Processor, NemotronH_Omni_Reasoning_V3ImageProcessor, NemotronH_Omni_Reasoning_V3VideoProcessor, tokenizer_class ve feature_extractor_class sınıflarının tüm işlevlerini sunar. Daha fazla bilgi için ~NemotronH_Omni_Reasoning_V3ImageProcessor, ~NemotronH_Omni_Reasoning_V3VideoProcessor, ~tokenizer_class ve ~feature_extractor_class belgelerini inceleyin.

batch_decode

< >

( *args**kwargs )

Tokenizer'ın batch_decode() yöntemine yönlendirin.

decode

< >

( *args**kwargs )

Tokenizörün decode() yöntemine yönlendirin.

post_process_image_text_to_text

< >

( generated_outputsskip_special_tokens = Trueclean_up_tokenization_spaces = False**kwargs )

Modelin ürettiği token kimliklerini metne dönüştürün.

replace_video_token

< >

( video_inputs: dictvideo_idx: int**kwargs )

<video> etiketini, her zaman yaması (tubelet) için bir <img>...</img> parçasına genişletin.

Her parça, paketlediği karelerin zaman damgalarıyla etiketlenir; bunlar ” ve ” ile birleştirilir (tubelet'teki ilk kare için “Frame”, diğerleri için “frame”). Tokenizer'ın gerçek bir <video> token'ı yoktur, bu nedenle parçalar görüntü token'ını kullanır; model, hangi pixel_values_* argümanının geçirildiğine bakarak görüntüyü videodan ayırt eder.

NemotronH_Omni_Reasoning_V3

sınıf transformers.NemotronH_Omni_Reasoning_V3

< >

( config: NemotronH_Omni_Reasoning_V3_Config )

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Nonepixel_values: typing.Optional[torch.Tensor] = Noneimage_grid_hw: typing.Optional[torch.LongTensor] = Nonepixel_values_videos: typing.Optional[torch.Tensor] = Noneinput_features: typing.Optional[torch.Tensor] = Noneinput_features_mask: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Nonelabels: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = 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?

  • pixel_values (torch.Tensor, şekli (total_patches, num_channels * patch_size**2), isteğe bağlı) — Görüntü işleyicinin döndürdüğü gibi, tüm görüntülerin düzleştirilmiş yamalarının birleştirilmiş hali.
  • image_grid_hw (torch.LongTensor, şekli (num_images, 2), isteğe bağlı) — pixel_values içindeki her bir görüntünün yama ızgarası (height, width).
  • 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ın piksel değerleri, NemotronH_Omni_Reasoning_V3VideoProcessor kullanılarak elde edilebilir. Ayrıntılar için NemotronH_Omni_Reasoning_V3VideoProcessor.call() bölümüne bakın (NemotronH_Omni_Reasoning_V3Processor, videoları işlemek için NemotronH_Omni_Reasoning_V3VideoProcessor kullanır).
  • input_features (torch.Tensor, şekli (batch_size, num_frames, num_mel_bins), isteğe bağlı) — İşleyici tarafından üretilen, kodlanan ve ses yer tutucu jetonlarına dağıtılan Mel özellikleri.
  • input_features_mask (torch.Tensor, şekli (batch_size, num_frames), isteğe bağlı) — Her dolgulu klipteki gerçek mel çerçevelerini işaretleyen maske.
  • 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.

  • labels (torch.LongTensor, şekli (batch_size, sequence_length), isteğe bağlı) — Maskeli dil modelleme kaybını hesaplamak için etiketler. Endeksler [0, ..., config.vocab_size] aralığında olmalı ya da -100 olmalı (input_ids docstring'ine bakın). Endeksleri -100 olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca etiketleri [0, ..., config.vocab_size] aralığında olan tokenlar için hesaplanır.
  • inputs_embeds (torch.Tensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak, input_ids yerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu, input_ids dizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisinden daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.
  • use_cache (bool, isteğe bağlı) — True olarak ayarlanırsa, past_key_values anahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz. past_key_values).
  • 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 (NemotronH_Omni_Reasoning_V3_Config) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

NemotronH_Omni_Reasoning_V3 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 PIL import Image
>>> from transformers import AutoProcessor, NemotronH_Omni_Reasoning_V3

>>> model = NemotronH_Omni_Reasoning_V3.from_pretrained("nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16")
>>> processor = AutoProcessor.from_pretrained("nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16")

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

generate

< >

( inputs: typing.Optional[torch.Tensor] = Nonegeneration_config: transformers.generation.configuration_utils.GenerationConfig | None = Nonelogits_processor: transformers.generation.logits_process.LogitsProcessorList | None = Nonestopping_criteria: transformers.generation.stopping_criteria.StoppingCriteriaList | None = Noneprefix_allowed_tokens_fn: collections.abc.Callable[[int, torch.Tensor], list[int]] | None = Nonesynced_gpus: bool | None = Noneassistant_model: typing.Optional[ForwardRef('PreTrainedModel')] = Nonestreamer: typing.Optional[ForwardRef('BaseStreamer')] = Nonenegative_prompt_ids: typing.Optional[torch.Tensor] = Nonenegative_prompt_attention_mask: typing.Optional[torch.Tensor] = Nonecustom_generate: str | collections.abc.Callable | None = None**kwargs ) → ModelOutput or torch.LongTensor

Parametreler

  • inputs (torch.Tensor, modağa göre değişen şekle sahip, isteğe bağlı) — Üretim için istem olarak veya kodlayıcıya model girdisi olarak kullanılan dizi. None ise yöntem bunu bos_token_id ve 1 parti boyutu ile başlatır. Sadece çözücü modeller için inputs input_ids biçiminde olmalıdır. Kodlayıcı-çözücü modeller için inputs, input_ids, input_values, input_features veya pixel_values'den herhangi birini temsil edebilir.
  • generation_config (GenerationConfig, isteğe bağlı) — Üretim çağrısı için temel parametrelendirme olarak kullanılacak üretim yapılandırması. **kwargs generate'e aktarılan ve generation_config öznitelikleriyle eşleşenler bunları geçersiz kılar. generation_config sağlanmazsa, varsayılanı kullanılır; bunun yükleme önceliği şöyledir: 1) varsa generation_config.json model dosyasından; 2) model yapılandırmasından. Belirtilmeyen parametrelerin GenerationConfig'in varsayılan değerlerini devralacağını ve üretimi parametrelendirmek için bunların belgelerinin kontrol edilmesi gerektiğini lütfen unutmayın.
  • logits_processor (LogitsProcessorList, isteğe bağlı) — Argümanlardan ve üretim yapılandırmasından oluşturulan varsayılan logits işleyicilerini tamamlayan özel logits işleyicileri. Argümanlarla veya bir üretim yapılandırmasıyla zaten oluşturulmuş bir logits işleyicisi geçirilirse bir hata fırlatılır. Bu özellik ileri düzey kullanıcılar için tasarlanmıştır.
  • stopping_criteria (StoppingCriteriaList, isteğe bağlı) — Argümanlardan ve bir generation config'ten oluşturulan varsayılan durdurma kriterlerini tamamlayan özel durdurma kriterleri. Argümanlarla veya bir generation config ile zaten oluşturulmuş bir durdurma kriteri geçirilirse bir hata fırlatılır. Durdurma kriteriniz scores girdisine bağlıysa, generate fonksiyonuna return_dict_in_generate=True, output_scores=True parametrelerini geçirdiğinizden emin olun. Bu özellik ileri düzey kullanıcılar için tasarlanmıştır.
  • prefix_allowed_tokens_fn (Callable[[int, torch.Tensor], list[int]], isteğe bağlı) — Sağlanırsa, bu fonksiyon her adımda beam search'i yalnızca izin verilen tokenlara kısıtlar. Sağlanmazsa hiçbir kısıtlama uygulanmaz. Bu fonksiyon 2 argüman alır: batch kimliği batch_id ve input_ids. Batch kimliği batch_id ve daha önce üretilen tokenlar inputs_ids koşullarına bağlı olarak, bir sonraki üretim adımı için izin verilen tokenların listesini döndürmelidir. Bu argüman, Autoregressive Entity Retrieval makalesinde anlatıldığı gibi, önekle (prefix) koşullu kısıtlı üretim için faydalıdır.
  • synced_gpus (bool, isteğe bağlı) — max_length değerine ulaşılana kadar while döngüsünün çalışmaya devam edip etmeyeceğini belirler. Aksi belirtilmedikçe, birden fazla GPU ile FullyShardedDataParallel veya DeepSpeed ZeRO Stage 3 kullanılıyorsa, bir GPU diğer GPU'lar bitirmeden önce üretimi tamamlarsa ölü kilitlenmeyi (deadlock) önlemek için bu bayrak True olarak ayarlanır. Aksi halde varsayılan değer False'tir.
  • assistant_model (PreTrainedModel, isteğe bağlı) — Üretimi hızlandırmak için kullanılabilen bir asistan modeli. Asistan modelin, tam olarak aynı tokenizer'a sahip olması gerekir. Hızlandırma, asistan model ile aday token'ları tahmin etmenin, generate çağrısını yaptığınız modelle üretim çalıştırmaktan çok daha hızlı olması durumunda elde edilir. Bu nedenle asistan modelin çok daha küçük olması gerekir.
  • streamer (BaseStreamer, isteğe bağlı) — Üretilen dizilerin akışını sağlamak için kullanılacak Streamer nesnesi. Üretilen jetonlar streamer.put(token_ids) üzerinden geçirilir ve akışın herhangi bir sonraki işlenmesinden streamer sorumludur.
  • negative_prompt_ids (torch.LongTensor, şekli (batch_size, sequence_length), isteğe bağlı) — CFG gibi bazı işlemciler için gereken negatif prompt. Batch boyutu, girdi batch boyutuyla eşleşmelidir. Bu deneysel bir özelliktir ve gelecekteki sürümlerde kırıcı API değişikliklerine tabi olabilir.
  • negative_prompt_attention_mask (torch.LongTensor, şekli (batch_size, sequence_length), isteğe bağlı) — negative_prompt_ids için attention_mask.
  • custom_generate (str veya Callable, isteğe bağlı) — Aşağıdakilerden biri:
    • str (Hugging Face Hub deposu adı): standart generate yöntemi yerine, o depodaki custom_generate/generate.py dosyasında tanımlanan özel generate işlevini çalıştırır. Depo, üretim mantığını tamamen değiştirir ve dönüş tipi farklı olabilir.
    • str (yerel depo yolu): yukarıdakiyle aynı ancak yerel bir yoldan. Yerel dizinler de yerel custom_generate/generate.py çalıştırıldığı için trust_remote_code=True gerektirir.
    • Callable: generate, standart girdi hazırlama adımlarını gerçekleştirdikten sonra, çözümleme döngüsünü çalıştırmak için sağlanan çağrılabiliri (callable) çağırır. Daha fazla bilgi için belgelere bakın.
  • kwargs (dict[str, Any], isteğe bağlı) — generation_config için ad hoc parametrelendirme ve/veya modelin forward fonksiyonuna iletilecek ek model-özel kwargs'lar. Model bir encoder-decoder modeli ise, encoder'a özgü kwargs'lar öneklenmemeli ve decoder'a özgü kwargs'lar decoder_ önekiyle başlamalıdır.

Dönüş değeri

ModelOutput veya torch.LongTensor

Bir ModelOutput (return_dict_in_generate=True ise veya config.return_dict_in_generate=True olduğunda) ya da bir torch.LongTensor.

Model bir encoder-decoder modeli değilse (model.config.is_encoder_decoder=False), olası ModelOutput türleri şunlardır:

Model bir kodlayıcı-çözücü modeli (model.config.is_encoder_decoder=True) ise olası ModelOutput türleri şunlardır:

Dil modelleme başlığına sahip modeller için token kimliği dizileri üretir.

Çoğu üretim kontrol parametresi, generation_config içinde ayarlanır; bu parametre geçirilmezse, modelin varsayılan üretim yapılandırması kullanılır. generation_config içindeki herhangi bir değeri, generate() fonksiyonuna ilgili parametreleri geçirerek geçersiz kılabilirsiniz, örneğin .generate(inputs, num_beams=4, do_sample=True).

Üretim stratejileri ve kod örneklerinin genel bakışı için şu kılavuza göz atın.

Update on GitHub