模型:
MCG-NJU/videomae-large
任务:
视频分类许可:
cc-by-nc-4.0VideoMAE 模型在Kinetics-400上以自监督方式进行了1600个epoch的预训练。它在 Tong等人的论文 VideoMAE: Masked Autoencoders are Data-Efficient Learners for Self-Supervised Video Pre-Training 中首次提出,并在 this repository 中首次发布。
免责声明:发布VideoMAE的团队未为该模型编写模型卡片,因此此模型卡片由Hugging Face团队编写。
VideoMAE是 Masked Autoencoders (MAE) 的视频扩展。模型的架构与标准的Vision Transformer(ViT)非常相似,顶部还有一个解码器,用于预测遮罩补丁的像素值。
视频以固定大小的补丁序列(分辨率为16x16)的形式呈现给模型,这些补丁是线性嵌入的。在将序列输入到Transformer编码器的层之前,还会添加一个[CLS]标记。还会添加固定的正弦/余弦位置嵌入。
通过预训练模型,它学习了视频的内部表示,然后可以用于提取对下游任务有用的特征:例如,如果您有一个带标签的视频数据集,可以在预训练的编码器之上放置一个线性层来训练一个标准分类器。通常会在[CLS]标记的顶部放置一个线性层,因为该标记的最后隐藏状态可以被视为整个视频的表示。
您可以使用原始模型预测视频的随机遮罩补丁的像素值,但它主要用于在下游任务上进行微调。请参考 model hub 寻找适合您感兴趣任务的微调版本。
这里介绍如何使用这个模型来预测随机遮罩补丁的像素值:
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
有关更多代码示例,请参考 documentation 。
(待定,欢迎提交PR)
(待定,欢迎提交PR)
(待定,欢迎提交PR)
(待定,欢迎提交PR)
misc{https://doi.org/10.48550/arxiv.2203.12602, doi = {10.48550/ARXIV.2203.12602}, url = {https://arxiv.org/abs/2203.12602}, author = {Tong, Zhan and Song, Yibing and Wang, Jue and Wang, Limin}, keywords = {Computer Vision and Pattern Recognition (cs.CV), FOS: Computer and information sciences, FOS: Computer and information sciences}, title = {VideoMAE: Masked Autoencoders are Data-Efficient Learners for Self-Supervised Video Pre-Training}, publisher = {arXiv}, year = {2022}, copyright = {Creative Commons Attribution 4.0 International} }