timm documentation

CrossViT

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

CrossViT

Категория: ViT · Код: timm/models/crossvit.py · Архитектуры: 11 · Предобученные веса: 11 (11 с результатами ImageNet-1k)

CrossViT обрабатывает мелкие и крупные фрагменты изображения в двух ветках Transformer и объединяет их с помощью кросс-внимания через токены класса. Имена моделей в timm указывают фактическое разрешение входных данных (240 / 408 вместо исходных 224 / 384).

Статьи

Использование

См. раздел Быстрый старт для загрузки предобученных весов, предобработки изображений и дообучения, а также раздел Извлечение признаков для использования моделей в качестве базовых архитектур.

>>> import timm
>>> model = timm.create_model('crossvit_small_240.in1k', pretrained=True)
>>> data_config = timm.data.resolve_model_data_config(model)

Поддержка Model API

ВозможностьCrossVit
карты признаков features_only=True✓ (шаги 12, 17)
forward_intermediates()✓
prune_intermediate_layers()✓
Любой размер входных данных, изменения не требуются✓
set_input_size()–
dynamic_img_size=True–
set_grad_checkpointing()✗
Послойное затухание LR (group_matcher())✓
reset_classifier()✓

✓ поддерживается, ✓ (квадрат) работает только для квадратных размеров, ✗ не поддерживается, – не требуется (модель уже принимает входные данные любого размера). Проверено путём запуска каждой функции на случайно инициализированной модели (CrossVit с crossvit_tiny_240 при 240), ожидается, что другие архитектуры того же класса будут вести себя аналогично. Подробности см. на странице Model API.

Архитектуры

АрхитектураПараметры (млн)GMACsРазмер входных данныхПредобученные веса
crossvit_9_2408.551.852401
crossvit_9_dagger_2408.781.992401
crossvit_15_24027.535.812401
crossvit_15_dagger_24028.216.132401
crossvit_15_dagger_40828.5021.454081
crossvit_18_24043.279.052401
crossvit_18_dagger_24044.279.502401
crossvit_18_dagger_40844.6132.474081
crossvit_base_240105.0321.222401
crossvit_small_24026.865.632401
crossvit_tiny_2407.011.572401

GMACs и количество параметров указаны для размера входных данных и классификатора по умолчанию для каждой архитектуры, согласно результатам бенчмарков.

Предобученные веса

Top-1 — это точность на валидационном наборе ImageNet-1k из results-imagenet.csv для указанного размера оценки, - если для весов нет результата ImageNet-1k (например, веса для предобучения или изображения-текст). Classes — размер предобученного классификатора, none для весов без классификатора.

ВесРазмер входных данныхTop-1 (%)Размер выборки для оценкиКлассыЛицензияHub
crossvit_9_240.in1k24073.9942401000apache-2.0timm
crossvit_9_dagger_240.in1k24076.9902401000apache-2.0timm
crossvit_15_240.in1k24081.5222401000apache-2.0timm
crossvit_15_dagger_240.in1k24082.3022401000apache-2.0timm
crossvit_15_dagger_408.in1k40883.8424081000apache-2.0timm
crossvit_18_240.in1k24082.3902401000apache-2.0timm
crossvit_18_dagger_240.in1k24082.4942401000apache-2.0timm
crossvit_18_dagger_408.in1k40884.1984081000apache-2.0timm
crossvit_base_240.in1k24082.2122401000apache-2.0timm
crossvit_small_240.in1k24081.0362401000apache-2.0timm
crossvit_tiny_240.in1k24073.3522401000apache-2.0timm

Цитирование

@inproceedings{
    chen2021crossvit,
    title={{CrossViT: Cross-Attention Multi-Scale Vision Transformer for Image Classification}},
    author={Chun-Fu (Richard) Chen and Quanfu Fan and Rameswar Panda},
    booktitle={International Conference on Computer Vision (ICCV)},
    year={2021}
}
Update on GitHub