🚀 Hiera模型(Tiny,在IN1K上微調)
Hiera 是一種 分層 視覺變換器,它快速、強大,最重要的是 簡單。該模型在論文 Hiera: A Hierarchical Vision Transformer without the Bells-and-Whistles 中被提出,在眾多圖像和視頻任務中超越了現有技術水平,同時速度更快。
🚀 快速開始
預期用途和限制
Hiera可用於圖像分類、特徵提取或掩碼圖像建模。此特定檢查點旨在用於 圖像分類。
如何使用
import requests
import torch
from PIL import Image
from transformers import AutoImageProcessor, AutoModelForImageClassification
model_id = "facebook/hiera-base-224-in1k-hf"
device = "cuda" if torch.cuda.is_available() else "cpu"
image_processor = AutoImageProcessor.from_pretrained(model_id)
model = AutoModelForImageClassification.from_pretrained(model_id).to(device)
image_url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(image_url, stream=True).raw)
inputs = image_processor(images=image, return_tensors="pt").to(device)
with torch.no_grad():
outputs = model(**inputs)
predicted_id = outputs.logits.argmax(dim=-1).item()
predicted_class = model.config.id2label[predicted_id]
✨ 主要特性
工作原理

像 ViT 這樣的視覺變換器在整個網絡中使用相同的空間分辨率和特徵數量。但這是低效的:早期層不需要那麼多特徵,而後期層不需要那麼高的空間分辨率。像 ResNet 這樣的早期分層模型通過在開始時使用較少的特徵和在結束時使用較低的空間分辨率來解決這個問題。
已經有幾種採用這種分層設計的特定領域視覺變換器被提出,如 Swin 或 MViT。但在追求使用ImageNet - 1K上的全監督訓練獲得最先進結果的過程中,這些模型變得越來越複雜,因為它們添加了專門的模塊來彌補ViT缺乏的空間偏差。雖然這些改變產生了具有吸引人的浮點運算次數(FLOP)的有效模型,但在底層,增加的複雜性使這些模型整體 變慢。
我們表明,很多這種複雜性實際上是 不必要的。我們沒有通過架構更改手動添加空間基礎,而是選擇 教導 模型這些偏差。通過使用 MAE 進行訓練,我們可以簡化或移除現有變換器中的 所有 這些龐大模塊,並在此過程中 提高準確性。結果就是Hiera,一種極其高效和簡單的架構,在多個圖像和視頻識別任務中超越了現有技術水平。
📚 詳細文檔
BibTeX引用和引用信息
如果您在工作中使用Hiera或此代碼,請引用:
@article{ryali2023hiera,
title={Hiera: A Hierarchical Vision Transformer without the Bells-and-Whistles},
author={Ryali, Chaitanya and Hu, Yuan-Ting and Bolya, Daniel and Wei, Chen and Fan, Haoqi and Huang, Po-Yao and Aggarwal, Vaibhav and Chowdhury, Arkabandhu and Poursaeed, Omid and Hoffman, Judy and Malik, Jitendra and Li, Yanghao and Feichtenhofer, Christoph},
journal={ICML},
year={2023}
}
📄 許可證
本項目採用CC - BY - NC - 4.0許可證。
📦 模型信息
屬性 |
詳情 |
數據集 |
imagenet - 1k |
語言 |
en |
庫名稱 |
transformers |
許可證 |
cc - by - nc - 4.0 |
任務類型 |
圖像分類 |