Transformers documentation
Nemotron 3 Konuşmacı Ayrıştırma
Bu model, 2026-09-23 tarihinde Hugging Face Transformers'a katkıda bulunulmuştur.
Nemotron 3 Konuşmacı Ayrıştırma
Genel Bakış
Nemotron 3 Diarization, gerçek dünya seslerinde “kimin ne zaman konuştuğunu” belirlemek üzere tasarlanmış, açık ağırlıklı bir akış konuşmacı ayrıştırma modelidir. Hem akış hem de çevrimdışı çıkarımı destekler, en fazla sekiz konuşmacıyı işler ve konuşmacı çıktıları, her konuşmacının girdi sesindeki ilk varlığına göre sıralanır.
Model, Streaming Sortformer için tanıtılan 1 ve 1, 2 Arrival-Order Speaker Cache (AOSC) ile FIFO kuyruğunu kullanır. Tek bir checkpoint, 80 ms'lik bir giriş tamponundan 30,4 sn'lik çevrimdışı tarzı bir tampona kadar yapılandırılabilir gecikme profillerini ve 10 ms'nin katları şeklinde yapılandırılabilir çıktı çerçeve çözünürlüğünü destekler. Parçalı çıkarım (chunked inference) ile maksimum ses süresi sınırlı değildir.
Kullanım
Çevrimdışı
import torch
from transformers import AutoModelForAudioFrameClassification, AutoProcessor
from transformers.audio_utils import load_audio
model_id = "nvidia/Nemotron-3-Diarization"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForAudioFrameClassification.from_pretrained(model_id, device_map="auto")
sampling_rate = processor.feature_extractor.sampling_rate
audio = load_audio(
"https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/diarization_example.mp3",
sampling_rate=sampling_rate,
)
inputs = processor(audio, sampling_rate=sampling_rate).to(model.device, dtype=model.dtype)
with torch.inference_mode():
logits = model(**inputs).logits # (1, num_frames, 8), one frame every 10 ms
segments = processor.extract_speaker_dict(logits, inputs.attention_mask)[0]
for segment in segments:
print(f"speaker_{segment['Speaker']}: {segment['Start']:.2f}s - {segment['End']:.2f}s")Akış
Ses, parça parça gelir ve her ileri geçiş bir parçayı işler: işlemci, streaming_mode için onu keser ve num_lookahead_frames değerini ekler; bu, modelin dikkate aldığı ancak puanlamadığı, sonraki parçayı açan son izleme çerçevesi sayısıdır. İleri geçiş, sonraki çağrıya aktarılacak speaker_cache değerini döndürür. Bir oturumun son parçası is_last_audio_chunk=True ile çıkarılır: izleme çerçevesi olmadığından, kalan tüm çerçeveler puanlanır.
streaming_mode | Gecikme¹ |
|---|---|
"low_latency" (varsayılan) | 1.04 s |
"very_low_latency" | 0.64 s |
"ultra_low_latency" | 0.32 s |
¹ Modelin bir parça üzerinde çalışmadan önce beklemesi gereken ses: hesaplama süresi hariç, parça ve ileriye bakma (look-ahead) süresi.
import torch
from transformers import AutoModelForAudioFrameClassification, AutoProcessor
from transformers.audio_utils import load_audio
model_id = "nvidia/Nemotron-3-Diarization"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForAudioFrameClassification.from_pretrained(model_id, device_map="auto")
processor.set_streaming_mode("low_latency") # the default, can also be "very_low_latency" and "ultra_low_latency"
print(f"Streaming latency: {processor.streaming_latency_ms} ms")
sampling_rate = processor.feature_extractor.sampling_rate
audio = load_audio(
"https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/diarization_example.mp3",
sampling_rate=sampling_rate,
)
def inputs_generator():
"""Yields the processor outputs of each chunk."""
yield processor(
audio[: processor.num_samples_first_audio_chunk],
sampling_rate=sampling_rate,
is_streaming=True,
is_first_audio_chunk=True,
)
mel_frame_idx = processor.num_mel_frames_per_step
start_idx = processor.audio_chunk_start(mel_frame_idx)
while (end_idx := start_idx + processor.num_samples_per_audio_chunk) <= audio.shape[0]:
yield processor(
audio[start_idx:end_idx],
sampling_rate=sampling_rate,
is_streaming=True,
is_first_audio_chunk=False,
)
mel_frame_idx += processor.num_mel_frames_per_step
start_idx = processor.audio_chunk_start(mel_frame_idx)
# the audio ended: the frames left in the buffer are the last ones of the session
yield processor(
audio[start_idx:],
sampling_rate=sampling_rate,
is_streaming=True,
is_first_audio_chunk=False,
is_last_audio_chunk=True,
)
speaker_cache, logits = None, []
with torch.inference_mode():
for inputs in inputs_generator():
inputs = inputs.to(model.device, dtype=model.dtype)
# `inputs` carries `num_lookahead_frames` for every chunk but the last, `speaker_cache` links the chunks
outputs = model(**inputs, speaker_cache=speaker_cache)
logits.append(outputs.logits) # the chunk's frames, without its look-ahead
speaker_cache = outputs.speaker_cache
logits = torch.cat(logits, dim=1) # (1, num_frames, 8), one frame every 10 ms
segments = processor.extract_speaker_dict(logits)[0] # [{"Start": 0.0, "End": 15.43, "Speaker": 0}, ...]Hızlandırmak
Bir akış adımının kodlayıcı girişi [speaker cache | FIFO | chunk] şeklindedir; uzunluğu, önbellek ve FIFO'nun dolup boşalmasıyla değişir: torch.compile bir oturumda yaklaşık yüz kez yeniden derleme yapardı. Her adımı modun en büyük penceresine kadar doldurmak (padding) şekli sabitler. Konumlar her chunk'ta sıfırdan başlar, bu nedenle sağ padding geçerli kareleri değiştirmez:
import torch.nn.functional as F
chunk_length, chunk_right_context = processor.streaming_modes[processor.streaming_mode]
max_window = (
model.config.streaming_config.speaker_cache_length
+ model.config.streaming_config.fifo_length
+ chunk_length
+ chunk_right_context
)
encoder = model.model
compiled_forward = torch.compile(encoder.forward, mode="reduce-overhead", fullgraph=True, dynamic=False)
def padded_forward(inputs_embeds, attention_mask=None, position_ids=None, **kwargs):
batch_size, num_frames, _ = inputs_embeds.shape
if attention_mask is None:
attention_mask = inputs_embeds.new_ones(batch_size, num_frames, dtype=torch.bool)
padding = max_window - num_frames
hidden_states = compiled_forward(
inputs_embeds=F.pad(inputs_embeds, (0, 0, 0, padding)),
attention_mask=F.pad(attention_mask.bool(), (0, padding), value=False),
position_ids=torch.arange(max_window, device=inputs_embeds.device)[None, :],
**kwargs,
)
return hidden_states[:, :num_frames].clone() # CUDA graphs reuse the output buffer
encoder.forward = padded_forward
# warm up before the session: compiles, then records the CUDA graph, so the first real chunk runs at full speed
with torch.inference_mode():
for _ in range(3):
hidden_size = model.config.audio_config.hidden_size
padded_forward(torch.zeros(1, max_window, hidden_size, device=model.device, dtype=model.dtype))Yukarıdaki akış döngüsü bir kez derlenir. Çevrimdışı ileri geçiş de aynı şekilde parçalara ayrılır, bu nedenle aynı sarmalayıcı max_window içinde config.fifo_length, config.chunk_left_context, config.chunk_length ve config.chunk_right_context ile uygulanır.
| Hızlanma oranı (eager'a kıyasla) (A100, batch boyutu 1) | float32 | bfloat16 |
|---|---|---|
| akış, adım başına | 1.2x | 4.4x |
| çevrimdışı, 488 s kayıtlı | 1.3x | 2.8x |
Nemotron3DiarizationConfig
sınıf transformers.Nemotron3DiarizationConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneaudio_config: transformers.models.nemotron3_diarization.configuration_nemotron3_diarization.Nemotron3DiarizationAudioConfig | dict | None = Nonehead_config: transformers.models.nemotron3_diarization.configuration_nemotron3_diarization.Nemotron3DiarizationHeadConfig | dict | None = Nonestreaming_config: transformers.models.nemotron3_diarization.configuration_nemotron3_diarization.Nemotron3DiarizationStreamingConfig | dict | None = Nonechunk_length: int = 340chunk_right_context: int = 40chunk_left_context: int = 0fifo_length: int = 40speaker_cache_update_period: int = 300initializer_range: float = 0.02 )
Parametreler
- audio_config (
Nemotron3DiarizationAudioConfigveyadict, isteğe bağlı) — Transformer ses kodlayıcısının yapılandırması. Varsayılan olarakNemotron3DiarizationAudioConfig()kullanılır. - head_config (
Nemotron3DiarizationHeadConfigveyadict, isteğe bağlı) — Konuşmacı başlığının yapılandırması. Varsayılan olarakNemotron3DiarizationHeadConfig()kullanılır. - streaming_config (
Nemotron3DiarizationStreamingConfigveyadict, isteğe bağlı) — Konuşmacı önbelleği politikası ve akışkan modun FIFO boyutları. Varsayılan değeriNemotron3DiarizationStreamingConfig()'tir. - chunk_length (
int, isteğe bağlı, varsayılan 340) — Çevrimdışı modda: tüm bir kayıt tek bir ileri geçişte konuşmacı ayrımı yapıldığında parça başına kodlayıcı çerçeve sayısı. Akış modunda parça, her ileri geçişin girdisidir. - chunk_right_context (
int, isteğe bağlı, varsayılan 40) — Çevrimdışı modda: her parçanın bir sonraki parçalardan aldığı ileriye dönük kodlayıcı çerçevesi sayısı. Akış modunda ileriye dönük bakış, her ileri geçişinnum_lookahead_framesdeğeridir. - chunk_left_context (
int, isteğe bağlı, varsayılan 0) — Çevrimdışı mod: Her parçanın, önbelleğe alınmış kareler ile parça arasına yerleştirilen, bir önceki parçalardan tekrar aldığı geriye dönük kodlayıcı kare sayısı. İleriye dönük bakışta olduğu gibi bu karelere dikkat edilir ancak puanlanmazlar ve FIFO kuyruğuna eklenmezler. Akış modunda geriye dönük bakış, her ileri geçişinnum_lookback_framesdeğeridir. - fifo_length (
int, isteğe bağlı, varsayılan 40) — Çevrimdışı mod: en son kodlayıcı karelerinin FIFO kuyruğunun kapasitesi. Akış modustreaming_config.fifo_lengthkullanır. - speaker_cache_update_period (
int, isteğe bağlı, varsayılan 300) — Çevrimdışı mod: kuyruk taşarsa FIFO kuyruğundan konuşmacı önbelleğine taşınan kodlayıcı çerçevesi sayısı. Akış modustreaming_config.speaker_cache_update_periodkullanır. - initializer_range (
float, isteğe bağlı, varsayılan0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.
Bu, bir Nemotron3DiarizationModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Nemotron3 Diarization modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, nvidia/Nemotron-3-Diarization 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.
Nemotron3DiarizationAudioConfig
sınıf transformers.Nemotron3DiarizationAudioConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 512intermediate_size: int = 2048num_hidden_layers: int = 31num_attention_heads: int = 8num_key_value_heads: int | None = Nonehidden_act: str = 'gelu'max_position_embeddings: int = 5000initializer_range: float = 0.02rope_parameters: dict | None = Noneattention_dropout: float | int = 0.0num_mel_bins: int = 128subsampling_factor: int = 8 )
Parametreler
- hidden_size (
int, isteğe bağlı, varsayılan512) — Gizli temsillerin boyutu. - intermediate_size (
int, isteğe bağlı, varsayılan2048) — MLP temsillerinin boyutu. - num_hidden_layers (
int, isteğe bağlı, varsayılan31) — Transformer çözücüdeki gizli katman sayısı. - num_attention_heads (
int, isteğe bağlı, varsayılan8) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı. - num_key_value_heads (
int, isteğe bağlı) — Bu, Grouped Query Attention uygulamasında kullanılacak key_value başlarının sayısıdır.num_key_value_heads=num_attention_headsise model Multi Head Attention (MHA) kullanır,num_key_value_heads=1ise 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 olaraknum_attention_headskullanılır. - hidden_act (
str, isteğe bağlı, varsayılangelu) — Çö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ılan5000) — Bu modelin kullanılabileceği maksimum dizi uzunluğu. - initializer_range (
float, isteğe bağlı, varsayılan0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması. - rope_parameters (
dict, isteğe bağlı) — RoPE gömme yapılandırma parametrelerini içeren sözlük. Sözlük,rope_thetaiçin bir değer ve daha uzunmax_position_embeddingsile RoPE kullanmak istiyorsanız ölçekleme için kullanılan isteğe bağlı parametreleri içermelidir. - attention_dropout (
Union[float, int], isteğe bağlı, varsayılan0.0) — Dikkat olasılıkları için dropout oranı. - num_mel_bins (
int, isteğe bağlı, varsayılan128) — Giriş başına kullanılan mel özellik sayısı.AutoFeatureExtractorsınıfında kullanılan değerle eşleşmelidir. - subsampling_factor (
int, isteğe bağlı, varsayılan 8) — Tek bir kodlayıcı çerçevesine yığılan ardışık spektrogram çerçevesi sayısı. Sınıflandırıcı, çıktılarını aynı katsayıyla yukarı örnekler, böylece konuşmacı aktivitesi spektrogram çerçevesi hızında tahmin edilir.
Bu, bir Nemotron3DiarizationModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Nemotron3 Diarization modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, nvidia/Nemotron-3-Diarization 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.
Nemotron3DiarizationHeadConfig
sınıf transformers.Nemotron3DiarizationHeadConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 192num_speakers: int = 8audio_hidden_size: int = 512subsampling_factor: int = 8 )
Parametreler
- hidden_size (
int, isteğe bağlı, varsayılan 192) — Konuşmacı başlığının gizli boyutu: kodlayıcı çıktısı buna yansıtılır ve yükseltici ile sınıflandırıcı bunu korur. - num_speakers (
int, isteğe bağlı, varsayılan 8) — Konuşmacıların maksimum sayısı, yani çerçevelere göre aktivite çıktıları sayısı. Konuşmacılar, ses dosyasındaki ilk görünümlerine göre sıralanır. - audio_hidden_size (
int, opsiyonel, varsayılan 512) — Başlığın projeksiyon yaptığı kodlayıcı çıktısının gizli boyutu.Nemotron3DiarizationAudioConfig.hidden_sizeile eşleşmelidir. - subsampling_factor (
int, isteğe bağlı, varsayılan 8) — Başın (head) upsampling çarpanı, spektrogram çerçeve hızına geri dönmek için.Nemotron3DiarizationAudioConfig.subsampling_factorile eşleşmelidir.
Bu, bir Nemotron3DiarizationModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Nemotron3 Diarization modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, nvidia/Nemotron-3-Diarization 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.
Nemotron3DiarizationStreamingConfig
sınıf transformers.Nemotron3DiarizationStreamingConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonefifo_length: int = 264speaker_cache_update_period: int = 222speaker_cache_length: int = 264speaker_cache_silence_frames_per_speaker: int = 1prediction_score_threshold: float = 0.25latest_frames_score_boost: float = 0.05strong_boost_rate: float = 0.75weak_boost_rate: float = 1.5min_positive_scores_rate: float = 0.5num_speakers: int = 8subsampling_factor: int = 8 )
Parametreler
- fifo_length (
int, isteğe bağlı, varsayılan 264) — Akış modunda en son kodlayıcı karelerinin FIFO kuyruğunun kapasitesi (çevrimdışı modNemotron3DiarizationConfig.fifo_lengthkullanır). - speaker_cache_update_period (
int, isteğe bağlı, varsayılan 222) — Akış modunda kuyruk taşarsa FIFO kuyruğundan konuşmacı önbelleğine taşınan kodlayıcı çerçevesi sayısı (çevrimdışı modNemotron3DiarizationConfig.speaker_cache_update_periodkullanır). - speaker_cache_length (
int, isteğe bağlı, varsayılan 264) — Arrival-Order Speaker Cache kapasitesi. En az(1 + speaker_cache_silence_frames_per_speaker) * num_speakersolmalıdır. - speaker_cache_silence_frames_per_speaker (
int, isteğe bağlı, varsayılan 1) — Önbellek sıkıştırıldığında, öğrenilen sessizlik gömme için konuşmacı başına konuşmacı-önbellek yuvalarından ayrılan sayı. - prediction_score_threshold (
float, isteğe bağlı, varsayılan 0.25) — Konuşmacı önbelleği çerçeve puanlarında logaritma alınmadan önce konuşmacı olasılıklarının alt sınırı. - latest_frames_score_boost (
float, isteğe bağlı, varsayılan 0.05) — Konuşmacı önbelleği sıkıştırıldığında, önbelleğe yeni eklenen karelere verilen puan bonusu. - strong_boost_rate (
float, isteğe bağlı, varsayılan 0.75) — Konuşmacı başına önbellek bütçesinin, güçlü bir puan artışı alan en iyi karelerin oranı; böylece her konuşmacı önbellekte en az bu kadar kare tutar. - weak_boost_rate (
float, isteğe bağlı, varsayılan 1.5) — Konuşmacı başına önbellek bütçesinin, zayıf puan artışı alan en iyi karelerinin oranı; bu, tek bir konuşmacının önbelleği domine etmesini önler. - min_positive_scores_rate (
float, isteğe bağlı, varsayılan 0.5) — Konuşmacı başına önbellek bütçesinin oranı: en az bu kadar sayıda pozitif puanlı çerçeveye sahip bir konuşmacının, pozitif olmayan (örtüşen konuşma) çerçeveleri önbellekten hariç tutulur. - num_speakers (
int, isteğe bağlı, varsayılan 8) — Konuşmacı önbelleği tarafından izlenen konuşmacı sayısı.Nemotron3DiarizationHeadConfig.num_speakersile eşleşmelidir. - subsampling_factor (
int, isteğe bağlı, varsayılan 8) — Her kodlayıcı çerçevesi başına konuşmacı olasılığı çerçevesi sayısı.Nemotron3DiarizationAudioConfig.subsampling_factorile eşleşmelidir.
Bu, bir Nemotron3DiarizationModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Nemotron3 Diarization modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, nvidia/Nemotron-3-Diarization 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.
Nemotron3DiarizationAudioModel
sınıf transformers.Nemotron3DiarizationAudioModel
< source >( config: Nemotron3DiarizationAudioConfig )
Parametreler
- config (Nemotron3DiarizationAudioConfig) — 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 bulunmayan, ham hidden-state çıktısı üreten çıplak Nemotron3 Diarization 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
< source >( input_features: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutput or tuple(torch.Tensor)
Parametreler
- input_features (
torch.Tensor, şekli(batch_size, sequence_length, feature_dim), isteğe bağlı) — Giriş ses özelliklerine karşılık gelen tensörler. Ses özellikleri NemotronAsrStreamingFeatureExtractor kullanılarak elde edilebilir. Ayrıntılar içinNemotronAsrStreamingFeatureExtractor.__call__()bölümüne bakın (Nemotron3DiarizationProcessor, sesleri işlemek için NemotronAsrStreamingFeatureExtractor kullanır). - 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.
- inputs_embeds (
torch.Tensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak,input_idsyerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu,input_idsdizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisinden daha fazla kontrol sahibi olmak istiyorsanız faydalıdır. - position_ids (
torch.Tensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Girdi dizilerindeki her token'ın konum gömme (position embedding) içindeki konum indeksleri. Seçim aralığı[0, config.n_positions - 1].
Dönüş değeri
BaseModelOutput veya tuple(torch.Tensor)
Bir BaseModelOutput veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (Nemotron3DiarizationConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
Nemotron3DiarizationAudioModel 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.hidden_states (
tuple(torch.Tensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.Tensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren,(batch_size, sequence_length, hidden_size)biçiminde bir demet.Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
attentions (
tuple(torch.Tensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.Tensor(katman başına bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, sequence_length).Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
Nemotron3DiarizationModel
sınıf transformers.Nemotron3DiarizationModel
< source >( config: Nemotron3DiarizationConfig )
Parametreler
- config (Nemotron3DiarizationConfig) — 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.
Konuşmacı sınıflandırıcısı olmadan Nemotron3Diarization modeli: bir parçayı (önbelleğe alınmış kareleriyle birlikte) kodlar ve kodlayıcı karelerini spektrogram kare hızına geri örnekler. Akış durumunu (streaming state) tutmaz; parçalı ileri geçiş için Nemotron3DiarizationForAudioFrameClassification sınıfına bakın.
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
forward
< source >( input_features: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutput or tuple(torch.Tensor)
Parametreler
- input_features (
torch.Tensor, şekli(batch_size, sequence_length, feature_dim), isteğe bağlı) — Giriş ses özelliklerine karşılık gelen tensörler. Ses özellikleri NemotronAsrStreamingFeatureExtractor kullanılarak elde edilebilir. Ayrıntılar içinNemotronAsrStreamingFeatureExtractor.__call__()bölümüne bakın (Nemotron3DiarizationProcessor, sesleri işlemek için NemotronAsrStreamingFeatureExtractor kullanır). - 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.
- inputs_embeds (
torch.Tensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak,input_idsyerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu,input_idsdizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisinden daha fazla kontrol sahibi olmak istiyorsanız faydalıdır. - position_ids (
torch.Tensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Girdi dizilerindeki her token'ın konum gömme (position embedding) içindeki konum indeksleri. Seçim aralığı[0, config.n_positions - 1].
Dönüş değeri
BaseModelOutput veya tuple(torch.Tensor)
Bir BaseModelOutput veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (Nemotron3DiarizationConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
Nemotron3DiarizationModel 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.hidden_states (
tuple(torch.Tensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.Tensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren,(batch_size, sequence_length, hidden_size)biçiminde bir demet.Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
attentions (
tuple(torch.Tensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.Tensor(katman başına bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, sequence_length).Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
Nemotron3DiarizationProcessor
sınıf transformers.Nemotron3DiarizationProcessor
< source >( feature_extractorsubsampling_factor = 8streaming_modes = Nonestreaming_mode = 'low_latency' )
Parametreler
- feature_extractor (
NemotronAsrStreamingFeatureExtractor) — Özellik çıkarıcı zorunlu bir girdidir. - subsampling_factor (
int, isteğe bağlı, varsayılan 8) — Her encoder çerçevesi başına mel çerçeve sayısı,Nemotron3DiarizationAudioConfig.subsampling_factorile aynıdır. - streaming_modes (
dict[str, tuple[int, int]], isteğe bağlı) — Kontrol noktasının desteklediği akış modları, adların(chunk_length, chunk_right_context)olarak kodlayıcı çerçevelerine eşlenmesi. Bu küme için tek doğruluk kaynağı işleyicidir:set_streaming_mode()bunu doğrular. Varsayılan olarak model kartı modları kullanılır:"low_latency"(9, 4),"very_low_latency"(6, 2) ve"ultra_low_latency"(3, 1). - streaming_mode (
str, isteğe bağlı, varsayılan"low_latency") — Oturumların akış modu,streaming_modesdeğerlerinden biri;set_streaming_mode()ile değiştirilir. Çevrimdışı kullanım bu parametreyi yok sayar.
Bir özellik çıkarıcıyı (feature extractor) tek bir işlemciye (processor) saran bir Nemotron3DiarizationProcessor oluşturur.
Nemotron3DiarizationProcessor, NemotronAsrStreamingFeatureExtractor'in tüm işlevlerini sunar. Daha fazla bilgi için ~NemotronAsrStreamingFeatureExtractor sayfasına bakın.
__call__
< source >( audio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor']]sampling_rate: int | None = Noneis_streaming: bool = Falseis_first_audio_chunk: bool = Trueis_last_audio_chunk: bool = False**kwargs: *<class 'transformers.models.nemotron3_diarization.processing_nemotron3_diarization.Nemotron3DiarizationProcessorKwargs'> ) → BatchFeature
Parametreler
- audio (
Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]]) — Hazırlanacak ses veya sesler 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. - sampling_rate (
int, isteğe bağlı) — Giriş sesinin Hz cinsinden örneklem hızı. Verildiğinde, özellik çıkarıcısının beklenen örneklem hızıyla (16000 Hz) doğrulanır. - is_streaming (
bool, isteğe bağlı, varsayılanFalse) — Sesin bir akış oturumunun parçası olup olmadığını belirtir;is_first_audio_chunkveis_last_audio_chunkilk ve son parçaları diğerlerinden ayırt eder. Parça boyutlarıstreaming_mode'ınkilerdir veset_streaming_mode()ile değiştirilir. Son parça hariç her parça, ilk parça için tam olaraknum_samples_first_audio_chunkses örneği, sonraki parçalar için isenum_samples_per_audio_chunkörnek içermelidir. - is_first_audio_chunk (
bool, isteğe bağlı, varsayılanTrue) — Bu, bir akış oturumunun ilk parçası mıdır? Özellik çıkarıcı, ilk parça için ve çevrimdışı kullanım için analiz pencerelerini ortalar (center=True), sonraki parçalar için ise ortalamaz (center=False); böylece parça başına spektrogram, tek bir tam ifade geçişini çerçeve çerçeve yeniden üretir.is_streaming=FalseolduğundaTrueolmalıdır. - is_last_audio_chunk (
bool, isteğe bağlı, varsayılanFalse) — Bu parçanın akış oturumunu sonlandırıp sonlandırmadığını belirtir. Bir oturumdaki parça, modelin yalnızca bir sonraki adımda puanladığı ve bir sonraki parçasının başlangıcında açtığıchunk_right_contextileriye dönük kodlayıcı çerçeveleriyle sona erer. Son parçanın bir sonraki adımı olmadığından, çerçevelerinin sayısı ne olursa olsun hepsi puanlanır ve sonu, tam bir ifade geçişinin sesin sonunu sıfırla doldurması (zero-padding) gibi sıfırla doldurulur; böylece ifadenin son çerçevelerini üretir.is_streaming=FalseolduğundaFalseolmalıdır. - return_tensors (
strveya 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': PyTorchtorch.Tensornesnelerini döndürür.'np': NumPynp.ndarraynesnelerini 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
özellik çıkarıcısının çıktılarını, input_features ve attention_mask üretir. Akış modunda, analiz penceresi son parçadan farklı bir parçanın ötesine uzanan son kareler atılır; bu nedenle input_features yalnızca parçanın karelerini içerir ve modele olduğu gibi aktarılabilir. Son parça hariç her parça, modelin akış moduna geçmesini sağlayan, sonundaki ileriye dönük kodlayıcı karelerinin sayısını temsil eden num_lookahead_frames değerini de taşır.
Nemotron3DiarizationSpeakerCache
sınıf transformers.Nemotron3DiarizationSpeakerCache
< source >( config: Nemotron3DiarizationStreamingConfigfifo_length: int | None = Nonespeaker_cache_update_period: int | None = None )
Parametreler
- config (
Nemotron3DiarizationStreamingConfig) — Konuşmacı önbellek politikası ve akışkan modun FIFO boyutları. - fifo_length (
int, isteğe bağlı) — En son kodlayıcı karelerinin FIFO kuyruğunun kapasitesi. Varsayılan değericonfig.fifo_length'tür. - speaker_cache_update_period (
int, isteğe bağlı) — Kuyruk taşarsa FIFO kuyruğundan konuşmacı önbelleğine taşınan kodlayıcı çerçeve sayısı. Varsayılan değericonfig.speaker_cache_update_period'tür.
Nemotron3DiarizationForAudioFrameClassification sınıfının akış durumu: varış sırasına göre konuşmacı önbelleği ve her parçanın dikkat ettiği en son kodlayıcı karelerinin FIFO kuyruğu.
güncelle
< source >( chunk_input_embeds: Tensorchunk_logits: Tensorsilence_embeds: Tensornum_chunk_frames: intmask: typing.Optional[torch.Tensor] = Nonenum_lookback_frames: int = 0 )
Parametreler
- chunk_input_embeds (
torch.Tensor, şekli(batch_size, num_input_frames, hidden_size)) — Adımın kodlayıcı girdisi:get_embedstarafından döndürülen önbelleğe alınmış kareler, geriye dönük kareler, parça ve ileriye dönük kareler. - chunk_logits (
torch.Tensor, şekli(batch_size, num_input_frames * subsampling_factor, num_speakers)) — Konuşmacı önbelleği sıkıştırıldığında kareleri puanlamak için kullanılan adımın konuşmacı logitleri. - silence_embeds (
torch.Tensor, şekli(hidden_size,)) — Sıkıştırılmış önbellekteki ayrılmış sessizlik yuvalarını dolduran öğrenilmiş sessizlik gömme vektörü. - num_chunk_frames (
int) —chunk_input_embedsiçindeki önbelleğe alınmış ve geriye dönük karelerin ardından gelen parça karelerinin sayısı. FIFO kuyruğuna yalnızca bunlar eklenir; bunların ardından gelen ileriye dönük kareler bir sonraki adımda yeniden işlenir. - mask (
torch.Tensor, şekli(batch_size, num_input_frames), isteğe bağlı) —chunk_input_embeds'in geçerli kareleri; dolgu karelerine sıfır konuşmacı olasılıkları atanır. - num_lookback_frames (
int, isteğe bağlı, varsayılan 0) —chunk_input_embedsiçindeki önbelleğe alınmış kareler ile parça arasındaki geriye dönük kare sayısı: önceki parçanın, o parça ile birlikte zaten gönderilmiş olan kareleri.
İşlenmiş bir parçayı FIFO kuyruğuna iter ve taşma durumunda en eski karelerini konuşmacı önbelleğine taşır.
Nemotron3DiarizationOutput
sınıf transformers.Nemotron3DiarizationOutput
< source >( logits: typing.Optional[torch.Tensor] = Nonehidden_states: tuple[torch.Tensor, ...] | None = Noneattentions: tuple[torch.Tensor, ...] | None = Nonespeaker_cache: transformers.models.nemotron3_diarization.modeling_nemotron3_diarization.Nemotron3DiarizationSpeakerCache | None = None )
Parametreler
- logits (
torch.Tensor, şekli(batch_size, num_frames, config.head_config.num_speakers)) — Spektrogram çerçeve hızında, çerçeve başına konuşmacı aktivite logitleri.logits.sigmoid(), her konuşmacının her çerçevede aktif olma olasılığını verir; konuşmacılar, ses dosyasındaki ilk varış sıralarına göre sıralanır. - hidden_states (
tuple[torch.Tensor, ...], isteğe bağlı,output_hidden_states=Trueolduğunda döndürülür) — Her parçanın (chunk) kodlayıcı gizli durumları, parça sırasına göre: kodlayıcı her parça için bir kez çalıştığından, bu tuple her parça içinconfig.audio_config.num_hidden_layers + 1tensör içerir. Sıraları uzunlukları, önbellek ve ileriye bakış kareleri dahil olmak üzere parçanınkine eşittir. - attentions (
tuple[torch.Tensor, ...], isteğe bağlı,output_attentions=Trueolduğunda döndürülür) — Her parçanın kodlayıcı dikkat ağırlıkları, parça sırasına göre, parça başınaconfig.audio_config.num_hidden_layerstensör. - speaker_cache (
Nemotron3DiarizationSpeakerCache, opsiyonel, akış modunda döndürülür) — Aynı akışların bir sonraki ses parçasının forward'ine iletilmek üzere güncellenmiş akış durumu.
Nemotron3DiarizationForAudioFrameClassification
sınıf transformers.Nemotron3DiarizationForAudioFrameClassification
< source >( config: Nemotron3DiarizationConfig )
Parametreler
- config (Nemotron3DiarizationConfig) — 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.
Streaming Sortformer konuşmacı ayrıştırma modeli: her spektrogram çerçevesi için, ilk geliş sırasına göre sıralanmış en fazla config.head_config.num_speakers konuşmacının aktivitesini tahmin eder. Ses, parça parça işlenir; her parça, birkaç ileriye bakış çerçevesine ve Nemotron3DiarizationSpeakerCache içinde taşınan Arrival-Order Speaker Cache ile FIFO kuyruğuna dikkat eder. Tüm bir kayıt, forward tarafından parçalara ayrılır (çevrimdışı mod); bir akış ise her forward'da bir parça olarak beslenir (streaming modu).
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
forward
< source >( input_features: Tensorattention_mask: typing.Optional[torch.Tensor] = Nonespeaker_cache: transformers.models.nemotron3_diarization.modeling_nemotron3_diarization.Nemotron3DiarizationSpeakerCache | None = Nonenum_lookahead_frames: int | None = Nonenum_lookback_frames: int | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Nemotron3DiarizationOutput or tuple(torch.Tensor)
Parametreler
- input_features (
torch.Tensor, şekli(batch_size, sequence_length, feature_dim)) — Giriş ses özelliklerine karşılık gelen tensörler. Ses özellikleri NemotronAsrStreamingFeatureExtractor kullanılarak elde edilebilir. Ayrıntılar içinNemotronAsrStreamingFeatureExtractor.__call__()bölümüne bakın (Nemotron3DiarizationProcessor, sesleri işlemek için NemotronAsrStreamingFeatureExtractor kullanır). - 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.
- speaker_cache (
Nemotron3DiarizationSpeakerCache, opsiyonel) — Aynı ses akışlarının önceki parçasının forward tarafından döndürülen akış durumu. - num_lookahead_frames (
int, isteğe bağlı) — Akış modu: girdinin, yalnızca ileriye bakış (look-ahead) olarak kullanılan sonda kalan kodlayıcı karelerinin sayısı. Bu karelere dikkat (attention) uygulanır ancak logit'leri döndürülmez ve bir sonraki parçayı açtıkları için FIFO kuyruğuna eklenmezler. Nemotron3DiarizationProcessor oturumun sonuncusu dışındaki her parça için bunu ayarlar.Bu argümanlar ve
num_lookback_framesmodu seçer. Akış (streaming) modu, ileri yönde (forward) birim başına bir parça:num_lookahead_framesveyanum_lookback_framesverilmişse (ilk parçaspeaker_cacheoluşturur, sonraki parçalar bunu alır) ya da yalnızcaspeaker_cacheverilmişse (oturumun son parçası, ileriye bakış yok). Girdi, geriye ve ileriye bakış kareleri çıkarıldığında, uzunluğu ne olursa olsun tek bir parça olur veconfig.streaming_configile boyutlandırılan FIFO kuyruğuna bütün olarak itilir. Çevrimdışı (offline) mod, ikisi de verilmediyse: girdi tüm bir kayıttır ve ileri yönde (forward)config.chunk_lengthkodlayıcı karelik parçalara bölünür; bu parçalar, öncekilerden en fazlaconfig.chunk_left_contextgeriye bakış karesi ve sonrakilerden en fazlaconfig.chunk_right_contextileriye bakış karesi alır; FIFO kuyruğuconfig.fifo_lengthile boyutlandırılır; önbellek (cache) döndürülmez. - num_lookback_frames (
int, isteğe bağlı) — Akış modu: girdinin, önceki parçanın sonunun bu parçadan önce tekrar beslenmesiyle oluşan,speaker_cachekarelerinin üzerine eklenen, yalnızca geriye dönük (look-back) olarak kullanılan baştaki kodlayıcı karelerinin sayısı. Bu karelere dikkat edilir ancak logitleri döndürülmez ve FIFO kuyruğuna tekrar eklenmezler. Varsayılan değer 0'dır.
Dönüş değeri
Nemotron3DiarizationOutput veya tuple(torch.Tensor)
A Nemotron3DiarizationOutput veya bir torch.Tensor demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (Nemotron3DiarizationConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
Nemotron3DiarizationForAudioFrameClassification 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.
- logits (
torch.Tensor, şekli(batch_size, num_frames, config.head_config.num_speakers)) — Spektrogram çerçeve hızında, çerçeve başına konuşmacı aktivite logitleri.logits.sigmoid(), her konuşmacının her çerçevede aktif olma olasılığını verir; konuşmacılar, ses dosyasındaki ilk varış sıralarına göre sıralanır. - hidden_states (
tuple[torch.Tensor, ...], isteğe bağlı,output_hidden_states=Trueolduğunda döndürülür) — Parça sırasına göre her parçanın kodlayıcı gizli durumları: kodlayıcı parça başına bir kez çalıştığından, bu demet her parça içinconfig.audio_config.num_hidden_layers + 1tensör içerir. Sıraları uzunlukları, önbellek ve ileriye dönük kareler dahil olmak üzere parçanınkine eşittir. - attentions (
tuple[torch.Tensor, ...], isteğe bağlı,output_attentions=Trueolduğunda döndürülür) — Her parçanın encoder dikkat ağırlıkları, parça sırasına göre, parça başınaconfig.audio_config.num_hidden_layerstensör. - speaker_cache (
Nemotron3DiarizationSpeakerCache, opsiyonel, akış modunda döndürülür) — Aynı akışların bir sonraki ses dilimine ait forward çağrısına iletilmek üzere güncellenmiş akış durumu.
Örnek:
>>> from transformers import AutoModelForAudioFrameClassification, AutoProcessor
>>> from transformers.audio_utils import load_audio
>>> model_id = "nvidia/Nemotron-3-Diarization"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = AutoModelForAudioFrameClassification.from_pretrained(model_id, device_map="auto")
>>> sampling_rate = processor.feature_extractor.sampling_rate
>>> audio = load_audio(
... "https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/en-Alice_woman.wav",
... sampling_rate=sampling_rate,
... )
>>> inputs = processor(audio, sampling_rate=sampling_rate).to(model.device, dtype=model.dtype)
>>> probabilities = model(**inputs).logits.sigmoid() # (1, num_frames, 8), one frame every 10 ms