🚀 基於DINO訓練的視覺變換器(小尺寸模型,補丁大小16)
本項目是使用DINO方法訓練的視覺變換器(ViT)模型。該模型在論文 自監督視覺變換器的新興特性 中被提出,作者為Mathilde Caron、Hugo Touvron、Ishan Misra、Hervé Jégou、Julien Mairal、Piotr Bojanowski、Armand Joulin,並首次在 此倉庫 中發佈。
聲明:發佈DINO的團隊並未為此模型編寫模型卡片,此模型卡片由Hugging Face團隊編寫。
🚀 快速開始
你可以使用此原始模型進行圖像分類任務。你可以在 模型中心 中查找針對你感興趣的任務進行微調後的版本。
💻 使用示例
基礎用法
from transformers import ViTImageProcessor, ViTModel
from PIL import Image
import requests
url = 'http://images.cocodataset.org/val2017/000000039769.jpg'
image = Image.open(requests.get(url, stream=True).raw)
processor = ViTImageProcessor.from_pretrained('facebook/dino-vits16')
model = ViTModel.from_pretrained('facebook/dino-vits16')
inputs = processor(images=image, return_tensors="pt")
outputs = model(**inputs)
last_hidden_states = outputs.last_hidden_state
✨ 主要特性
- 基於自監督學習方式,在大規模圖像集(如ImageNet - 1k)上進行預訓練。
- 以固定大小的圖像補丁(分辨率16x16)作為輸入,通過線性嵌入處理。
- 模型不包含任何微調後的頭部,可靈活應用於下游任務。
📚 詳細文檔
模型描述
視覺變換器(ViT)是一種類似BERT的Transformer編碼器模型,以自監督的方式在大量圖像(即ImageNet - 1k,分辨率為224x224像素)上進行預訓練。
圖像以固定大小的補丁序列(分辨率16x16)的形式輸入到模型中,並進行線性嵌入。同時,在序列開頭添加一個 [CLS] 標記,用於分類任務。在將序列輸入到Transformer編碼器層之前,還會添加絕對位置嵌入。
需要注意的是,此模型不包含任何微調後的頭部。
通過預訓練,模型學習到圖像的內部表示,可用於提取對下游任務有用的特徵。例如,如果你有一個帶標籤的圖像數據集,可以在預訓練的編碼器之上添加一個線性層,訓練一個標準分類器。通常會在 [CLS] 標記之上添加一個線性層,因為該標記的最後隱藏狀態可視為整個圖像的表示。
📄 許可證
本模型採用Apache - 2.0許可證。
BibTeX引用
@article{DBLP:journals/corr/abs-2104-14294,
author = {Mathilde Caron and
Hugo Touvron and
Ishan Misra and
Herv{\'{e}} J{\'{e}}gou and
Julien Mairal and
Piotr Bojanowski and
Armand Joulin},
title = {Emerging Properties in Self-Supervised Vision Transformers},
journal = {CoRR},
volume = {abs/2104.14294},
year = {2021},
url = {https://arxiv.org/abs/2104.14294},
archivePrefix = {arXiv},
eprint = {2104.14294},
timestamp = {Tue, 04 May 2021 15:12:43 +0200},
biburl = {https://dblp.org/rec/journals/corr/abs-2104-14294.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
屬性 |
詳情 |
模型類型 |
基於DINO方法訓練的視覺變換器(ViT)小尺寸模型,補丁大小16 |
訓練數據 |
ImageNet - 1k |