Transformers documentation
V-JEPA 2
نُشر هذا النموذج في أوراق HF في 11 يونيو 2025، وسُهم به في مكتبة Hugging Face Transformers في 11 يونيو 2025.
V-JEPA 2
V-JEPA 2 (منشور مدونة) هو نهج ذاتي الإشراف لتدريب مشفّرات الفيديو، طوّره فريق FAIR في Meta. باستخدام بيانات فيديو على نطاق الإنترنت، يحقق V-JEPA 2 أداءً متقدماً من الطراز الأول في مهام فهم الحركة وتوقع أفعال البشر. أما V-JEPA 2-AC فهو نموذج عالمي مشروط بالإجراء في الفضاء الكامن، تم تدريبه لاحقاً انطلاقاً من V-JEPA 2 (باستخدام كمية صغيرة من بيانات تفاعل مسارات الروبوت)، ويحلّ مهام التلاعب بالروبوت دون الحاجة إلى جمع بيانات محددة للبيئة أو تدريب أو معايرة محددة للمهمة.

يمكنك العثور على جميع نقاط التفتيش الأصلية لـ V-JEPA2 ضمن مجموعة V-JEPA 2.
تمت مساهمة هذا النموذج من قِبَل koustuvs وyonigozlan وqubvel. يمكن العثور على الكود الأصلي هنا.
مثال على الاستخدام
يُظهر المقطع أدناه كيفية تحميل نموذج V-JEPA 2 لاستخراج الميزات باستخدام فئة AutoModel.
import numpy as np
from torchcodec.decoders import VideoDecoder
processor = AutoVideoProcessor.from_pretrained("facebook/vjepa2-vitl-fpc64-256")
model = AutoModel.from_pretrained(
"facebook/vjepa2-vitl-fpc64-256",
device_map="auto",
attn_implementation="sdpa"
)
video_url = "https://huggingface.co/datasets/nateraw/kinetics-mini/resolve/main/val/archery/-Qz25rXdMjE_000014_000024.mp4"
vr = VideoDecoder(video_url)
frame_idx = np.arange(0, 64) # choosing some frames. here, you can define more complex sampling strategy
video = vr.get_frames_at(indices=frame_idx).data # T x C x H x W
video = processor(video, return_tensors="pt").to(model.device)
outputs = model(**video)
# V-JEPA 2 encoder outputs, same as calling `model.get_vision_features()`
encoder_outputs = outputs.last_hidden_state
# V-JEPA 2 predictor outputs
predictor_outputs = outputs.predictor_output.last_hidden_stateيمكن أيضًا ضبط V-JEPA 2 بشكل دقيق لتصنيف الفيديو. في المقطع التالي، نوضح كيفية استخدام النموذج المُضبط بدقة على تصنيف الفيديو Something-Something-V2.
import numpy as np
import torch
from torchcodec.decoders import VideoDecoder
from transformers import AutoModelForVideoClassification, AutoVideoProcessor
# Load model and video preprocessor
hf_repo = "facebook/vjepa2-vitl-fpc16-256-ssv2"
model = AutoModelForVideoClassification.from_pretrained(hf_repo, device_map="auto")
processor = AutoVideoProcessor.from_pretrained(hf_repo)
# To load a video, sample the number of frames according to the model.
video_url = "https://huggingface.co/datasets/nateraw/kinetics-mini/resolve/main/val/bowling/-WH-lxmGJVY_000005_000015.mp4"
vr = VideoDecoder(video_url)
frame_idx = np.arange(0, model.config.frames_per_clip, 8) # you can define more complex sampling strategy
video = vr.get_frames_at(indices=frame_idx).data # frames x channels x height x width
# Preprocess and run inference
inputs = processor(video, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
print("Top 5 predicted class names:")
top5_indices = logits.topk(5).indices[0]
top5_probs = torch.softmax(logits, dim=-1).topk(5).values[0]
for idx, prob in zip(top5_indices, top5_probs):
text_label = model.config.id2label[idx.item()]
print(f" - {text_label}: {prob:.2f}")VJEPA2Config
فئة transformers.VJEPA2Config
< 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 = Nonepatch_size: int | list[int] | tuple[int, int] = 16crop_size: int = 256frames_per_clip: int = 64tubelet_size: int = 2hidden_size: int = 1024in_chans: int = 3num_attention_heads: int = 16num_hidden_layers: int = 24drop_path_rate: float | int = 0.0mlp_ratio: int | float = 4.0layer_norm_eps: float = 1e-06qkv_bias: bool = Trueattention_probs_dropout_prob: float | int = 0.0hidden_act: str = 'gelu'initializer_range: float = 0.02attention_dropout: float | int = 0.0num_pooler_layers: int = 3pred_hidden_size: int = 384pred_num_attention_heads: int = 12pred_num_hidden_layers: int = 12pred_num_mask_tokens: int = 10pred_zero_init_mask_tokens: bool = Truepred_mlp_ratio: int | float = 4.0 )
المعاملات
- patch_size (
Union[int, list[int], tuple[int, int]]، اختياري، القيمة الافتراضية16) — حجم (دقة) كل رقعة. - crop_size (
int، اختياري، القيمة الافتراضية 256) — دقة الإدخال للنموذج - frames_per_clip (
int، اختياري، القيمة الافتراضية 64) — عدد الإطارات التي تم تدريب النموذج مسبقًا عليها. لا يؤثر على الاستدلال. - tubelet_size (
int، اختياري، القيمة الافتراضية 2) — عدد الإطارات الزمنية المستخدمة لكل raster، راجع الورقة لمزيد من المعلومات. - hidden_size (
int، اختياري، القيمة الافتراضية1024) — أبعاد التمثيلات المخفية. - in_chans (
int، اختياري، القيمة الافتراضية3) — عدد قنوات الإدخال. - num_attention_heads (
int، اختياري، القيمة الافتراضية16) — عدد رؤوس الانتباه لكل طبقة انتباه في مُفكِّك Transformer. - num_hidden_layers (
int، اختياري، القيمة الافتراضية24) — عدد الطبقات المخفية في مُفكِّك Transformer. - drop_path_rate (
Union[float, int], اختياري، القيمة الافتراضية0.0) — معدل إسقاط المسار (Drop path) لدمج البقع (patch fusion). - mlp_ratio (
Union[int, float]، اختياري، القيمة الافتراضية4.0) — نسبة بُعد مخفي MLP إلى بُعد التضمين. - layer_norm_eps (
float, اختياري، القيمة الافتراضية1e-06) — قيمة الإيبسلون المستخدمة في طبقات تطبيع الطبقة. - qkv_bias (
bool، اختياري، القيمة الافتراضيةTrue) — ما إذا كان يجب إضافة انحياز إلى الاستعلامات والمفاتيح والقيم. - attention_probs_dropout_prob (
Union[float, int]، اختياري، القيمة الافتراضية0.0) — نسبة الإسقاط (dropout) لاحتمالات الانتباه. - hidden_act (
str، اختياري، القيمة الافتراضيةgelu) — دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال،"gelu"،"relu"،"silu"، وما إلى ذلك. - initializer_range (
float، اختياري، القيمة الافتراضية0.02) — الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان. - attention_dropout (
Union[float, int]، اختياري، القيمة الافتراضية0.0) — نسبة إسقاط (dropout) لاحتمالات الانتباه. - num_pooler_layers (
int، اختياري، القيمة الافتراضية 3) — عدد طبقات الانتباه الذاتي في المُجمِّع. - pred_hidden_size (
int، اختياري، القيمة الافتراضية 384) — أبعاد طبقات المُتنبِّئ - pred_num_attention_heads (
int، اختياري، القيمة الافتراضية 12) — عدد رؤوس الانتباه لكل طبقة انتباه في Predictor - pred_num_hidden_layers (
int, اختياري، القيمة الافتراضية 12) — عدد الطبقات المخفية في المُنبِئ - pred_num_mask_tokens (
int, اختياري، القيمة الافتراضية 10) — تحديد عدد رموز القناع (mask tokens) المستخدمة في Predictor - pred_zero_init_mask_tokens (
bool، اختياري، القيمة الافتراضيةTrue) — تهيئة رموز القناع في المُتنبئ بالقيمة 0. - pred_mlp_ratio (
float، اختياري، القيمة الافتراضية 4.0) — نسبة حجم الطبقة المخفية في وحدات MLP المستخدمة في Predictor إلىpred_hidden_size.
هذه فئة الإعدادات المخزنة لإعدادات نموذج VJEPA2Model. تُستخدم لاستحداث نموذج Vjepa2 وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ facebook/vjepa2-vitl-fpc64-256
ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.
مثال:
>>> from transformers import VJEPA2Config, VJEPA2Model
>>> # Initializing a VJEPA2 vjepa2-vitl-fpc64-256 style configuration
>>> configuration = VJEPA2Config()
>>> # Initializing a model (with random weights) from the vjepa2-vitl-fpc64-256 style configuration
>>> model = VJEPA2Model(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configVJEPA2Model
فئة transformers.VJEPA2Model
< source >( config: VJEPA2Config )
المعاملات
- config (VJEPA2Config) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
نموذج Vjepa2 الأساسي الذي يُخرج حالات مخفية خام دون أي رأس محدد في الأعلى.
يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).
هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.
forward
< source >( pixel_values_videos: Tensorcontext_mask: list[torch.Tensor] | None = Nonetarget_mask: list[torch.Tensor] | None = Noneskip_predictor: bool = False**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → VJEPA2WithMaskedInputModelOutput or tuple(torch.Tensor)
المعاملات
- pixel_values_videos (
torch.Tensorمن الشكل(batch_size, num_frames, num_channels, frame_size, frame_size)) — المصفوفات المقابلة لفيديو الإدخال. يمكن الحصول على قيم البكسل للفيديوهات باستخدام VJEPA2VideoProcessor. راجع VJEPA2VideoProcessor.call() للتفاصيل (يستخدمprocessor_classVJEPA2VideoProcessor لمعالجة الفيديوهات). - context_mask (
torch.Tensorby shape[batch_size, patch_size, 1], اختياري) — معرّفات المواضع التي تشير إلى أيّ رقعات مخرجات المُشفِّر ستُعرَض على المُتنبِّئ. بشكل افتراضي، يُنشأ هذا القناع على النحو torch.arange(N).unsqueeze(0).repeat(B,1)، مما يدلّ على أن السياق الكامل متاح للمُتنبِّئ. - target_mask (
torch.Tensorبالشكل[batch_size, patch_size, 1]، اختياري) — معرّفات مواضع القناع التي تُحدّد أيّ من رقعات مخرجات المُشفِّر ستُستخدم كهدف للتنبؤ بالنسبة للمُتنبِّئ. افتراضيًا، يُنشأ هذا القناع على النحو torch.arange(N).unsqueeze(0).repeat(B,1)، مما يعني أن المُتنبِّئ ينبغي أن يتنبأ بجميع رقعات المُشفِّر. - skip_predictor (
bool، اختياري، القيمة الافتراضيةFalse) — علامة لتخطي تمرير المُتنبّئ، مفيدة إذا كنت بحاجة فقط إلى مخرجات المُشفّر
يعيد
VJEPA2WithMaskedInputModelOutput أو tuple(torch.Tensor)
VJEPA2WithMaskedInputModelOutput أو مجموعة مرتبة من
torch.Tensor (في حال تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة
تعتمد على الإعداد (VJEPA2Config) والمدخلات.
تتجاوز طريقة VJEPA2Model الخاصة بالتقديم (forward) الطريقة الخاصة __call__.
على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن
Moduleبدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.
last_hidden_state (
torch.Tensorمن الشكل(batch_size, sequence_length, hidden_size)) — تسلسل حالات مخفية عند مخرج الطبقة الأخيرة من النموذج.masked_hidden_state (
torch.Tensorمن الشكل(batch_size, sequence_length, hidden_size)، اختياري، يُعاد عند تقديمcontext_maskالذي يُطبَّق على مخرجات VJEPA2Encoder) — حالة المخفية المقنّعة للنموذج.hidden_states (
tuple[torch.Tensor, ...]، اختياري، يُعاد عند تمريرoutput_hidden_states=Trueأو عند تعيينconfig.output_hidden_states=True) — مجموعة منtorch.Tensor(واحدة لإخراج الطبقات المضمنة، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لإخراج كل طبقة) بأبعاد(batch_size, sequence_length, hidden_size).حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.
attentions (
tuple[torch.Tensor, ...]، اختياري، يُعاد عند تمريرoutput_attentions=Trueأو عند تعيينconfig.output_attentions=True) — مجموعة منtorch.Tensor(واحدة لكل طبقة) بأبعاد(batch_size, num_heads, sequence_length, sequence_length).أوزان الانتباه بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.
predictor_output (
VJEPA2WithMaskedInputPredictorOutput، اختياري) — المخرجات من وحدة Predictor.
VJEPA2ForVideoClassification
فئة transformers.VJEPA2ForVideoClassification
< source >( config: VJEPA2Config )
المعاملات
- config (VJEPA2Config) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
نموذج V-JEPA 2 transformer مع رأس تصنيف فيديو في الأعلى (طبقة خطية فوق المُجمِّع الانتباهي).
يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).
هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.
forward
< source >( pixel_values_videos: Tensorlabels: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → ImageClassifierOutput or tuple(torch.Tensor)
المعاملات
- pixel_values_videos (
torch.Tensorمن الشكل(batch_size, num_frames, num_channels, frame_size, frame_size)) — المصفوفات المقابلة لفيديو الإدخال. يمكن الحصول على قيم البكسل للفيديوهات باستخدام VJEPA2VideoProcessor. راجع VJEPA2VideoProcessor.call() للتفاصيل (يستخدمprocessor_classVJEPA2VideoProcessor لمعالجة الفيديوهات). - labels (
torch.LongTensorof shape(batch_size,), اختياري) — التسميات لحساب خسارة تصنيف الصور/الانحدار. يجب أن تكون الفهارس ضمن[0, ..., config.num_labels - 1]. إذا كانconfig.num_labels == 1يتم حساب خسارة الانحدار (خسارة متوسط المربع)، وإذا كانconfig.num_labels > 1يتم حساب خسارة التصنيف (الإنتروبيا المتقاطعة).
يعيد
ImageClassifierOutput أو tuple(torch.Tensor)
ImageClassifierOutput أو مجموعة مرتبة من
torch.Tensor (في حال تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة
تعتمد على الإعداد (VJEPA2Config) والمدخلات.
تتجاوز طريقة VJEPA2ForVideoClassification الخاصة بالتقديم (forward) الطريقة الخاصة __call__.
على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن
Moduleبدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.
loss (
torch.Tensorمن الشكل(1,)، اختياري، يُعاد عند توفيرlabels) — خسارة التصنيف (أو الانحدار إذا كان config.num_labels==1).logits (
torch.Tensorمن الشكل(batch_size, config.num_labels)) — درجات التصنيف (أو الانحدار إذا كان config.num_labels==1) (قبل SoftMax).hidden_states (
tuple(torch.Tensor)، اختياري، يُعاد عند تمريرoutput_hidden_states=Trueأو عند تعيينconfig.output_hidden_states=True) — مجموعة منtorch.Tensor(واحدة لإخراج الطبقات المضمنة، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لإخراج كل مرحلة) من الشكل(batch_size, sequence_length, hidden_size). حالات مخفية (تُسمى أيضًا خرائط الميزات) للنموذج عند إخراج كل مرحلة.attentions (
tuple(torch.Tensor)، اختياري، يُعاد عند تمريرoutput_attentions=Trueأو عند تعيينconfig.output_attentions=True) — مجموعة منtorch.Tensor(واحدة لكل طبقة) بأبعاد(batch_size, num_heads, patch_size, sequence_length).أوزان الانتباه بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.
أمثلة:
>>> import torch
>>> import numpy as np
>>> from transformers import AutoVideoProcessor, VJEPA2ForVideoClassification
>>> device = "cuda"
>>> video_processor = AutoVideoProcessor.from_pretrained("facebook/vjepa2-vitl-fpc16-256-ssv2")
>>> model = VJEPA2ForVideoClassification.from_pretrained("facebook/vjepa2-vitl-fpc16-256-ssv2").to(device)
>>> video = np.ones((64, 256, 256, 3)) # 64 frames, 256x256 RGB
>>> inputs = video_processor(video, return_tensors="pt").to(device)
>>> # For inference
>>> with torch.no_grad():
... outputs = model(**inputs)
>>> logits = outputs.logits
>>> predicted_label = logits.argmax(-1).item()
>>> print(model.config.id2label[predicted_label])
>>> # For training
>>> labels = torch.ones(1, dtype=torch.long, device=device)
>>> loss = model(**inputs, labels=labels).loss
VJEPA2VideoProcessor
فئة transformers.VJEPA2VideoProcessor
< source >( **kwargs: *<class 'transformers.processing_utils.VideosKwargs'> )
المعاملات
- do_convert_rgb (
bool، kwargs، اختياري) — ما إذا كان يجب تحويل الصورة إلى RGB. - do_resize (
bool، kwargs، اختياري، القيمة الافتراضيةTrue) — ما إذا كان يجب تغيير حجم الصورة. - size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]، kwargs، القيمة الافتراضية{'shortest_edge' -- 292}): يصف الأبعاد القصوى للمدخلات إلى النموذج. - default_to_square (
bool، kwargs، اختياري، القيمة الافتراضيةTrue) — ما إذا كان يجب افتراض صورة مربعة عند تغيير الحجم، إذا كانت قيمة size من نوع int. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None]، kwargs، القيمة الافتراضية2) — مرشّح إعادة العينة (Resampling filter) المستخدم عند تغيير حجم الصورة. يمكن أن يكون أحد قيم التعدادPILImageResampling. لا يكون له أي تأثير إلا إذا كانت قيمةdo_resizeهيTrue. - do_rescale (
bool، kwargs، اختياري، القيمة الافتراضيةTrue) — ما إذا كان يجب إعادة تحجيم الصورة. - rescale_factor (
float، kwargs، اختياري، القيمة الافتراضية0.00392156862745098) — عامل إعادة التحجيم لإعادة تحجيم الصورة إذا كانdo_rescaleمضبوطًا علىTrue. - do_normalize (
bool، kwargs، اختياري، القيمة الافتراضيةTrue) — ما إذا كان سيتم تطبيع الصورة. - image_mean (
Union[float, list[float], tuple[float, ...]]، kwargs، اختياري، القيمة الافتراضية[0.485, 0.456, 0.406]) — متوسط الصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيينdo_normalizeإلىTrue. - image_std (
Union[float, list[float], tuple[float, ...]]، kwargs، اختياري، القيمة الافتراضية[0.229, 0.224, 0.225]) — الانحراف المعياري للصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيينdo_normalizeإلىTrue. - do_center_crop (
bool، kwargs، اختياري، القيمة الافتراضيةTrue) — ما إذا كان سيتم قص الصورة من المنتصف. - do_pad (
bool، kwargs، اختياري) — ما إذا كان سيتم توسيط الصورة. يتم التوسيط إما إلى أكبر حجم في الدفعة أو إلى حجم مربع ثابت لكل صورة. تعتمد استراتيجية التوسيط الدقيقة على النموذج. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]، kwargs، القيمة الافتراضية256) — حجم الصورة الناتجة بعد تطبيقcenter_crop. - data_format (
Union[str, ~image_utils.ChannelDimension]، kwargs، اختياري) — يُؤمَّن دعمChannelDimension.FIRSTفقط. أُضيف من أجل التوافق مع المعالجات البطيئة. - input_data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, اختياري) — تنسيق بُعد القناة للصورة المدخلة. إذا لم يُضبط، يُستنتج تنسيق بُعد القناة من الصورة المدخلة. يمكن أن يكون أحد ما يلي:"channels_first"أوChannelDimension.FIRST: صورة بتنسيق (num_channels, height, width)."channels_last"أوChannelDimension.LAST: صورة بصيغة (الارتفاع، العرض، عدد القنوات)."none"أوChannelDimension.NONE: صورة بصيغة (الارتفاع، العرض).
- device (
Annotated[Union[str, torch.device, NoneType], None], kwargs) — الجهاز الذي تتم عليه معالجة مقاطع الفيديو. إذا لم يتم تعيينه، يُستنتج الجهاز من مقاطع الفيديو المدخلة. - do_sample_frames (
bool، kwargs، اختياري) — ما إذا كان يجب أخذ عينات من الإطارات من الفيديو قبل المعالجة، أم معالجة الفيديو بالكامل. - video_metadata (
Annotated[~video_utils.VideoMetadata | dict | list[dict | ~video_utils.VideoMetadata] | list[list[dict | ~video_utils.VideoMetadata]] | None, None], kwargs) — بيانات وصفية للفيديو تتضمن معلومات عن المدة الإجمالية، ومعدل الإطارات في الثانية (fps)، والإجمالي عدد الإطارات. ستُستخدم هذه البيانات لعينة الإطارات من الفيديو أو لحساب الطوابع الزمنية. لا تقم بتمرير أي بيانات وصفية إلا إذا كنت تحاول فك ترميز الفيديو يدوياً قبل المعالجة. - fps (
Annotated[int | float | None, None], kwargs) — عدد الإطارات المستهدفة التي يجب أخذها كل ثانية عند تعيينdo_sample_frames=True. - num_frames (
Annotated[int | None, None]، kwargs) — الحد الأقصى لعدد الإطارات التي يجب أخذها عينة عند تعيينdo_sample_frames=True. - return_metadata (
bool، kwargs، اختياري، القيمة الافتراضيةFalse) — ما إذا كان يجب إرجاع بيانات وصفية للفيديو أم لا. بيانات الوصفية للفيديو هي كائن يحتوي على معلومات حول مدة الفيديو، ومعدل الإطارات في الثانية (fps)، وخلفية فك الترميز، وما إلى ذلك. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — إذا تم ضبطه، فسيُعاد تينسورات من إطار عمل محدد. القيم المقبولة هي:'pt': إرجاع كائناتtorch.Tensorمن PyTorch.'np': إرجاع كائناتnp.ndarrayمن NumPy.
- **kwargs (VideosKwargs، اختياري) — خيارات معالجة إضافية لكل نمط (نص، صور، مقاطع فيديو، صوت). تُدرج المعلمات الخاصة بالنموذج أعلاه؛ راجع فئة TypedDict للحصول على القائمة الكاملة للحجج المدعومة.
ينشئ معالج فيديو VJEPA2VideoProcessor.