Transformers documentation
PE Video
Bu model 2025-04-17 tarihinde HF papers'ta yayımlandı ve 2025-12-16 tarihinde Hugging Face Transformers'a katkıda bulunuldu. Bu model 2025-04-17 tarihinde yayınlandı ve 2025-12-16 tarihinde Hugging Face Transformers'a eklendi.
PE Video
PE Video, Meta’nın Perception Encoder ailesinin video dalıdır. Video kliplerini metinlerle karşıtlı olarak ortak bir gömme uzayına hizalayarak, tek bir önceden eğitilmiş omurga üzerinden sıfır atışlı video sınıflandırma ve video-metin geri getirme imkânı sağlar.
Encoder'ın döner gömme (rotary embeddings) ve yama gömme (patch embedder) bileşenleri, zaman eksenini birincil sınıf bir boyut olarak ele alır; bu sayede değişken uzunluklu klipler, her kareyi bağımsız olarak döşeme (tiling) işlemine gerek kalmadan kodlanabilir.
Tüm resmi PE Audio kontrol noktalarını perception-encoder-audio-visual koleksiyonu altında bulabilirsiniz.
Hızlı Başlangıç
import torch
from transformers import AutoProcessor, PeVideoModel
from transformers.video_utils import load_video
processor = AutoProcessor.from_pretrained("facebook/pe-av-large")
model = PeVideoModel.from_pretrained(
"facebook/pe-av-large",
device_map="auto",
)
video, _ = load_video("https://huggingface.co/datasets/hf-internal-testing/fixtures_videos/resolve/main/tennis.mp4")
labels = ["a person playing tennis", "a person cooking", "a cat sleeping"]
video_inputs = processor.video_processor(video, num_frames=16, return_tensors="pt").to(model.device)
text_inputs = processor.tokenizer(labels, padding=True, return_tensors="pt").to(model.device)
inputs = {**video_inputs, **text_inputs}
with torch.no_grad():
outputs = model(**inputs)
probs = outputs.logits_video_text.sigmoid()
print({label: p.item() for label, p in zip(labels, probs[0])})Kullanım ipuçları ve notlar
- Değişken uzunluktaki videolar
padding_mask_videoskullanır (attention_maskdeğil). Video işleyicisi yalnızcareturn_tensorsayarlandığında dolguyu uygular ve bu maski döndürür; bu ayar yapılmadığında klip başına tensörlerden oluşan bir liste ve maski alırsınız. - Video işleyicisine
num_framesparametresini geçirerek[0, total_frames-1]aralığında sabit uzunlukta ve eşit aralıklı örneklemeyi uygulayın. Bu parametreyi atladığınızda, temel sınıftaki fps tabanlı örneklemeye geri dönülür. Kontrol noktaları genellikle belirli bir kare sayısı ile eğitildiğinden, kontrol noktasının beklediği değeri kullanın. - Encoder girdisi
pixel_values_videos'tur. Encoder'ınmain_input_namedeğeri"pixel_values_videos"iken tam modelin değeri"input_ids"'tür; bu durum,main_input_namealanını denetleyen genel amaçlı yardımcılar üzerinden yönlendirme yapılırken önemlidir.
PeVideoConfig
sınıf transformers.PeVideoConfig
< 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 = Nonetext_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonevideo_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None )
Bu, bir PeVideoModel'in yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Pe Video modelinin örneklenmesi ve model mimarisinin tanımlanması için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, facebook/pe-av-large 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.
>>> from transformers import PeVideoModel, PeVideoConfig
>>> # Initializing a PeVideoModel style configuration
>>> configuration = PeVideoConfig()
>>> # Initializing a model from the pe-av-large style configuration
>>> model = PeVideoModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configPeVideoEncoderConfig
sınıf transformers.PeVideoEncoderConfig
< 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 = Nonevision_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonehidden_size: int = 1792intermediate_size: int = 4800num_hidden_layers: int = 6num_attention_heads: int = 14num_key_value_heads: int | None = Nonehead_dim: int = 128hidden_act: str = 'silu'max_position_embeddings: int = 10000initializer_range: float = 0.02rms_norm_eps: float = 1e-05rope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Noneattention_bias: bool = Falseattention_dropout: float | int = 0.0 )
Parametreler
- vision_config (
Union[dict, ~configuration_utils.PreTrainedConfig], isteğe bağlı) — Görüntü omurgasının yapılandırma nesnesi veya sözlüğü. - hidden_size (
int, isteğe bağlı, varsayılan1792) — Gizli temsillerin boyutu. - intermediate_size (
int, isteğe bağlı, varsayılan4800) — MLP temsillerinin boyutu. - num_hidden_layers (
int, isteğe bağlı, varsayılan6) — Transformer çözücüdeki gizli katman sayısı. - num_attention_heads (
int, isteğe bağlı, varsayılan14) — Transformer decoder'ındaki her dikkat katmanı için dikkat başlığı 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. - head_dim (
int, isteğe bağlı, varsayılan128) — Dikkat başlığı boyutu. None ise, varsayılan olarak hidden_size // num_attention_heads değerini alır. - hidden_act (
str, isteğe bağlı, varsayılansilu) — Çö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ılan10000) — 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ı. - rms_norm_eps (
float, isteğe bağlı, varsayılan1e-05) — rms normalizasyon katmanları tarafından kullanılan epsilon. - 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_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_bias (
bool, isteğe bağlı, varsayılanFalse) — Öz-dikkat sırasında sorgu, anahtar, değer ve çıktı projeksiyon katmanlarında önyargı (bias) kullanılıp kullanılmayacağı. - attention_dropout (
Union[float, int], isteğe bağlı, varsayılan0.0) — Dikkat olasılıkları için dropout oranı.
Bu, bir PeVideoModel'in yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Pe Video modelinin örneklenmesi ve model mimarisinin tanımlanması için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, facebook/pe-av-large 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 PeAudioEncoder, PeAudioEncoderConfig
>>> # Initializing a PeAudioEncoder style configuration
>>> configuration = PeAudioEncoderConfig()
>>> # Initializing a model from the pe-av-large style configuration
>>> model = PeAudioEncoder(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configPeVideoVideoProcessor
sınıf transformers.PeVideoVideoProcessor
< source >( **kwargs: *<class 'transformers.processing_utils.VideosKwargs'> )
Parametreler
- 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, isteğe bağlı, varsayılanTrue) — size bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görüntü kullanılıp kullanılmayacağı. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, varsayılan2) — Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu,PILImageResamplingenum değerlerinden biri olabilir. Yalnızcado_resizeTrueolarak ayarlanırsa etkilidir. - do_rescale (
bool, kwargs, opsiyonel) — Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceği. - rescale_factor (
float, kwargs, opsiyonel, varsayılan0.00392156862745098) —do_rescaleTrueolarak ayarlandığında 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ızcado_normalizeTrueolarak ayarlanırsa etkilidir. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel) — Normalizasyon için kullanılacak görüntü standart sapması. Yalnızcado_normalizeTrueolarak ayarlanmışsa etkilidir. - do_center_crop (
bool, kwargs, opsiyonel) — Görselin ortadan kırpılıp kırpılmayacağı. - 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. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) —center_cropuygulandıktan sonra çıktı görüntüsünün boyutu. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — YalnızcaChannelDimension.FIRSTdesteklenir. 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"veyaChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü."channels_last"veyaChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü."none"veyaChannelDimension.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. - do_sample_frames (
bool, kwargs, opsiyonel) — İşlemden önce videodan kare örneklenip örneklenmeyeceği veya videonun tamamının işleneceği. - video_metadata (
Annotated[~video_utils.VideoMetadata | dict | list[dict | ~video_utils.VideoMetadata] | list[list[dict | ~video_utils.VideoMetadata]] | None, None], kwargs) — Toplam süre, fps ve toplam kare sayısı hakkında bilgi içeren videonun metadata'sı. Videodan kare örneklemek veya zaman damgaları hesaplamak için kullanılacaktır. Videoyu işlemden önce manuel olarak çözmeye çalışmıyorsanız herhangi bir metadata geçirmeyin - fps (
Annotated[int | float | None, None], kwargs) —do_sample_frames=Trueolduğunda saniyede örneklenmesi hedeflenen kare sayısı. - num_frames (
Annotated[int | None, None], kwargs) —do_sample_frames=Trueolduğunda örneklenmesi gereken maksimum kare sayısı. - return_metadata (
bool, kwargs, opsiyonel, varsayılanFalse) — Video meta verilerinin döndürülüp döndürülmeyeceğini belirtir. Video meta verileri, video süresi, fps, çözümleme arka ucu gibi bilgileri içeren bir nesnedir. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Belirtilirse, 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 (VideosKwargs, opsiyonel) — 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.
PeVideoVideoProcessor video işleyicisi oluşturur.
PeVideoProcessor
PeVideoEncoder
sınıf transformers.PeVideoEncoder
< source >( config: PeVideoEncoderConfig )
Parametreler
- config (PeVideoEncoderConfig) — 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.
PeVideo Encoder 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
< source >( pixel_values_videos: Tensorpadding_mask_videos: typing.Optional[torch.Tensor] = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.Tensor)
Parametreler
- pixel_values_videos (
torch.Tensor, şekli(batch_size, num_frames, num_channels, frame_size, frame_size)) — Girdi videosuna karşılık gelen tensörler. Videoların piksel değerleri PeVideoVideoProcessor kullanılarak elde edilebilir. Ayrıntılar için PeVideoVideoProcessor.call() bölümüne bakın (PeVideoProcessor, videoları işlemek için PeVideoVideoProcessor kullanır). - padding_mask_videos (
torch.Tensorşeklinde(batch_size, num_frames), isteğe bağlı) — Doldurma video karelerinde dikkat işleminin uygulanmaması için maske. Maske değerleri[0, 1]:- maskelenmemiş kareler için 1,
- maskelenmiş kareler için 0.
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 (PeVideoConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
PeVideoEncoder 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.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=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.
PeVideoModel
forward
< source >( input_ids: Tensorpixel_values_videos: Tensorattention_mask: typing.Optional[torch.Tensor] = Nonepadding_mask_videos: typing.Optional[torch.Tensor] = Nonereturn_loss: bool | None = None**kwargs ) → PeVideoOutput or tuple(torch.Tensor)
Parametreler
- input_ids (
torch.Tensorşeklinde(batch_size, sequence_length)) — Girdi dizisi belirteçlerinin sözlükteki 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.
- pixel_values_videos (
torch.Tensor, şekli(batch_size, num_frames, num_channels, frame_size, frame_size)) — Girdi videosuna karşılık gelen tensörler. Videoların piksel değerleri PeVideoVideoProcessor kullanılarak elde edilebilir. Ayrıntılar için PeVideoVideoProcessor.call() bölümüne bakın (PeVideoProcessor, videoları işlemek için PeVideoVideoProcessor 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.
- padding_mask_videos (
torch.Tensorşeklinde(batch_size, num_frames), isteğe bağlı) — Doldurma video karelerinde dikkat işleminin uygulanmaması için maske. Maske değerleri[0, 1]:- maskelenmemiş kareler için 1,
- maskelenmiş kareler için 0.
- return_loss (
bool, isteğe bağlı) — Kaybın (loss) döndürülüp döndürülmeyeceği.
Dönüş değeri
PeVideoOutput veya tuple(torch.Tensor)
PeVideoOutput veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (PeVideoConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
PeVideoModel 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ı) — Video ve metin temsilleri arasında hesaplanan kontrastif kayıp. - logits_video_text (
torch.Tensor, şekli(batch_size, batch_size), isteğe bağlı) — Video ve metin gömme vektörleri arasındaki benzerlik logitleri. - text_video_embeds (
torch.Tensor, şekli(batch_size, hidden_size), isteğe bağlı) — Video-metin uzayına yansıtılmış metin gömlemeleri. - video_embeds (
torch.Tensor, şekli(batch_size, hidden_size), isteğe bağlı) — Video-metin uzayına yansıtılmış video gömme değerleri. - text_outputs (
BaseModelOutputWithPooling, isteğe bağlı) — Metin kodlayıcısının model çıktıları; son gizli durumu ve havuzlanmış çıktıyı içerir. - video_outputs (
BaseModelOutputWithPooling, isteğe bağlı) — Son gizli durumu ve havuzlanmış çıktıyı içeren video kodlayıcısının model çıktıları.