🚀 视觉变换器(小型模型):基于MSN方法的预训练模型
本项目是一个使用 MSN 方法进行预训练的视觉变换器(ViT)模型。该模型在图像特征提取和下游任务应用中表现出色,能够帮助用户在有限标注数据的情况下实现高效的图像分类等任务。
🚀 快速开始
本模型可用于图像分类等下游任务。你可以在 模型中心 查找不同版本的 MSN 预训练模型。当训练集中只有少量标注样本时,该模型尤为有用。
✨ 主要特性
- 联合嵌入架构:MSN 采用联合嵌入架构,将掩码块的原型与未掩码块的原型进行匹配,在少样本和极低样本情况下表现出色。
- 特征提取能力:通过预训练,模型学习到图像的内部表示,可用于提取对下游任务有用的特征。
- 下游任务适配:可在预训练编码器上添加线性层,训练标准分类器以完成图像分类等任务。
📚 详细文档
模型描述
视觉变换器(ViT)是一种类似 BERT 的变换器编码器模型。图像以固定大小的块序列形式输入到模型中。
MSN 提出了一种联合嵌入架构,用于匹配掩码块和未掩码块的原型。通过这种设置,该方法在少样本和极低样本情况下取得了优异的性能。
通过对模型进行预训练,它可以学习到图像的内部表示,进而用于提取对下游任务有用的特征。例如,如果你有一个标注图像的数据集,可以在预训练编码器上添加一个线性层,训练一个标准分类器。
预期用途和限制
你可以将原始模型用于图像分类等下游任务。可在 模型中心 查找感兴趣的不同版本的 MSN 预训练模型。当训练集中只有少量标注样本时,该模型特别有用。
如何使用
以下是如何使用这个骨干编码器:
基础用法
from transformers import AutoFeatureExtractor, ViTMSNModel
import torch
from PIL import Image
import requests
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
feature_extractor = AutoFeatureExtractor.from_pretrained("facebook/vit-msn-small")
model = ViTMSNModel.from_pretrained("facebook/vit-msn-small")
inputs = feature_extractor(images=image, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
last_hidden_states = outputs.last_hidden_state
高级用法
对于图像分类的微调,使用 ViTMSNForImageClassification
类:
from transformers import AutoFeatureExtractor, ViTMSNForImageClassification
import torch
from PIL import Image
import requests
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
feature_extractor = AutoFeatureExtractor.from_pretrained("facebook/vit-msn-small")
model = ViTMSNForImageClassification.from_pretrained("facebook/vit-msn-small")
...
引用
@article{assran2022masked,
title={Masked Siamese Networks for Label-Efficient Learning},
author={Assran, Mahmoud, and Caron, Mathilde, and Misra, Ishan, and Bojanowski, Piotr, and Bordes, Florian and Vincent, Pascal, and Joulin, Armand, and Rabbat, Michael, and Ballas, Nicolas},
journal={arXiv preprint arXiv:2204.07141},
year={2022}
}
📄 许可证
本项目采用 Apache-2.0 许可证。
属性 |
详情 |
模型类型 |
视觉变换器(ViT)小型模型,使用 MSN 方法预训练 |
训练数据 |
ImageNet-1k |
⚠️ 重要提示
发布 MSN 的团队未为此模型编写模型卡片,此模型卡片由 Hugging Face 团队编写。
💡 使用建议
当训练集中只有少量标注样本时,该模型特别有用。你可以在 模型中心 查找感兴趣的不同版本的 MSN 预训练模型。