MCG-NJU/videomae-large
VideoMAE (modelo de tamaño grande, solo preentrenado) es una extensión de los Autoencoders enmascarados (MAE) para video. La arquitectura del modelo es muy similar a la de un Transformador de Visión estándar (ViT), con un decodificador en la parte superior para predecir valores de píxeles para parches enmascarados. Los videos se presentan al modelo como una secuencia de parches de tamaño fijo (resolución 16x16), que se incrustan linealmente. También se agrega un token [CLS] al comienzo de una secuencia para usarlo en tareas de clasificación. También se agregan incrustaciones de posición sinusoidal/cosinusoidal fijas antes de alimentar la secuencia a las capas del codificador Transformer.
Como usar
Aquí se explica cómo usar este modelo para predecir valores de píxeles para parches enmascarados al azar:
from transformers import VideoMAEImageProcessor, VideoMAEForPreTraining
import numpy as np
import torch
num_frames = 16
video = list(np.random.randn(16, 3, 224, 224))
processor = VideoMAEImageProcessor.from_pretrained("MCG-NJU/videomae-large")
model = VideoMAEForPreTraining.from_pretrained("MCG-NJU/videomae-large")
pixel_values = processor(video, return_tensors="pt").pixel_values
num_patches_per_frame = (model.config.image_size // model.config.patch_size) ** 2
seq_length = (num_frames // model.config.tubelet_size) * num_patches_per_frame
bool_masked_pos = torch.randint(0, 2, (1, seq_length)).bool()
outputs = model(pixel_values, bool_masked_pos=bool_masked_pos)
loss = outputs.loss
Para más ejemplos de código, nos referimos a la documentación.
Funcionalidades
- Clasificación de video
- Transformers
- PyTorch
- Safetensors
- Preentrenamiento de videomae
- Visión
Casos de uso
- Predicción de valores de píxeles para parches enmascarados en un video
- Clasificación de video mediante ajuste fino del modelo preentrenado