🚀 eva02_tiny_patch14_224.mim_in22k模型卡
這是一個EVA02特徵/表徵模型。由論文作者使用掩碼圖像建模(以EVA - CLIP作為MIM教師模型)在ImageNet - 22k上進行預訓練。
EVA - 02模型是帶有均值池化、SwiGLU、旋轉位置嵌入(ROPE)的視覺變換器,並且在MLP(針對Base和Large模型)中額外添加了LN。
注意:為了與其他模型保持一致,timm
檢查點為float32格式。在某些情況下,原始檢查點為float16或bfloat16格式,若有需要請查看原始版本。
🚀 快速開始
本模型可用於圖像分類和特徵提取,以下是使用示例。
✨ 主要特性
- 基於視覺變換器架構,採用均值池化、SwiGLU、旋轉位置嵌入(ROPE)等技術。
- 在ImageNet - 22k上使用掩碼圖像建模進行預訓練。
timm
檢查點為float32格式,保證與其他模型的一致性。
📦 安裝指南
文檔中未提及安裝步驟,可參考timm
庫的官方安裝指南進行安裝。
💻 使用示例
基礎用法
圖像分類
from urllib.request import urlopen
from PIL import Image
import timm
img = Image.open(urlopen(
'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'
))
model = timm.create_model('eva02_tiny_patch14_224.mim_in22k', pretrained=True)
model = model.eval()
data_config = timm.data.resolve_model_data_config(model)
transforms = timm.data.create_transform(**data_config, is_training=False)
output = model(transforms(img).unsqueeze(0))
top5_probabilities, top5_class_indices = torch.topk(output.softmax(dim=1) * 100, k=5)
高級用法
圖像嵌入
from urllib.request import urlopen
from PIL import Image
import timm
img = Image.open(urlopen(
'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'
))
model = timm.create_model(
'eva02_tiny_patch14_224.mim_in22k',
pretrained=True,
num_classes=0,
)
model = model.eval()
data_config = timm.data.resolve_model_data_config(model)
transforms = timm.data.create_transform(**data_config, is_training=False)
output = model(transforms(img).unsqueeze(0))
output = model.forward_features(transforms(img).unsqueeze(0))
output = model.forward_head(output, pre_logits=True)
📚 詳細文檔
模型詳情
屬性 |
詳情 |
模型類型 |
圖像分類 / 特徵骨幹網絡 |
模型統計信息 |
參數數量(M):5.5;GMACs:1.7;激活值(M):9.1;圖像尺寸:224 x 224 |
相關論文 |
EVA - 02: A Visual Representation for Neon Genesis: https://arxiv.org/abs/2303.11331;EVA - CLIP: Improved Training Techniques for CLIP at Scale: https://arxiv.org/abs/2303.15389 |
原始代碼庫 |
https://github.com/baaivision/EVA;https://huggingface.co/Yuxin - CV/EVA - 02 |
預訓練數據集 |
ImageNet - 22k |
模型比較
可在timm 模型結果中查看該模型的數據集和運行時指標。
模型 |
top1 |
top5 |
參數數量 |
圖像尺寸 |
eva02_large_patch14_448.mim_m38m_ft_in22k_in1k |
90.054 |
99.042 |
305.08 |
448 |
eva02_large_patch14_448.mim_in22k_ft_in22k_in1k |
89.946 |
99.01 |
305.08 |
448 |
eva_giant_patch14_560.m30m_ft_in22k_in1k |
89.792 |
98.992 |
1014.45 |
560 |
eva02_large_patch14_448.mim_in22k_ft_in1k |
89.626 |
98.954 |
305.08 |
448 |
eva02_large_patch14_448.mim_m38m_ft_in1k |
89.57 |
98.918 |
305.08 |
448 |
eva_giant_patch14_336.m30m_ft_in22k_in1k |
89.56 |
98.956 |
1013.01 |
336 |
eva_giant_patch14_336.clip_ft_in1k |
89.466 |
98.82 |
1013.01 |
336 |
eva_large_patch14_336.in22k_ft_in22k_in1k |
89.214 |
98.854 |
304.53 |
336 |
eva_giant_patch14_224.clip_ft_in1k |
88.882 |
98.678 |
1012.56 |
224 |
eva02_base_patch14_448.mim_in22k_ft_in22k_in1k |
88.692 |
98.722 |
87.12 |
448 |
eva_large_patch14_336.in22k_ft_in1k |
88.652 |
98.722 |
304.53 |
336 |
eva_large_patch14_196.in22k_ft_in22k_in1k |
88.592 |
98.656 |
304.14 |
196 |
eva02_base_patch14_448.mim_in22k_ft_in1k |
88.23 |
98.564 |
87.12 |
448 |
eva_large_patch14_196.in22k_ft_in1k |
87.934 |
98.504 |
304.14 |
196 |
eva02_small_patch14_336.mim_in22k_ft_in1k |
85.74 |
97.614 |
22.13 |
336 |
eva02_tiny_patch14_336.mim_in22k_ft_in1k |
80.658 |
95.524 |
5.76 |
336 |
🔧 技術細節
文檔中未提及具體的技術實現細節。
📄 許可證
本項目採用MIT許可證。
引用
@article{EVA02,
title={EVA-02: A Visual Representation for Neon Genesis},
author={Fang, Yuxin and Sun, Quan and Wang, Xinggang and Huang, Tiejun and Wang, Xinlong and Cao, Yue},
journal={arXiv preprint arXiv:2303.11331},
year={2023}
}
@article{EVA-CLIP,
title={EVA-02: A Visual Representation for Neon Genesis},
author={Sun, Quan and Fang, Yuxin and Wu, Ledell and Wang, Xinlong and Cao, Yue},
journal={arXiv preprint arXiv:2303.15389},
year={2023}
}
@misc{rw2019timm,
author = {Ross Wightman},
title = {PyTorch Image Models},
year = {2019},
publisher = {GitHub},
journal = {GitHub repository},
doi = {10.5281/zenodo.4414861},
howpublished = {\url{https://github.com/huggingface/pytorch-image-models}}
}