timm documentation
Vision Transformer (상대 위치)
Vision Transformer (상대 위치)
카테고리: ViT · 코드: timm/models/vision_transformer_relpos.py · 아키텍처: 14 · 사전학습된 가중치: 9 (ImageNet-1k 결과가 포함된 9개)
절대 위치 임베딩 대신 상대 위치 편향을 사용하는 Vision Transformers. 모듈 docstring은 이러한 모델을 실험적(experimental)으로 표시합니다.
논문
사용
사전 학습된 가중치 로드, 이미지 전처리 및 파인튜닝에 대해서는 Quickstart를, 모델을 백본으로 사용하는 방법에 대해서는 Feature Extraction을 참고하세요.
>>> import timm
>>> model = timm.create_model('vit_relpos_small_patch16_224.sw_in1k', pretrained=True)
>>> data_config = timm.data.resolve_model_data_config(model)모델 API 지원
| 기능 | VisionTransformerRelPos |
|---|---|
features_only=True feature map | ✓ (strides 16, 16, 16) |
forward_intermediates() | ✓ |
prune_intermediate_layers() | ✓ |
| 입력 크기 무관, 변경 불필요 | ✗ |
set_input_size() | ✓ |
dynamic_img_size=True | ✗ |
set_grad_checkpointing() | ✓ |
레이어별 LR 감쇠(group_matcher()) | ✓ |
reset_classifier() | ✓ |
✓ 지원됨, ✓ (정사각형) 정사각형 크기만 작동, ✗ 미지원, – 필요 없음(모델이 이미 모든 입력 크기를 허용). 무작위로 초기화된 모델(VisionTransformerRelPos에 vit_srelpos_small_patch16_224를 224로)에서 각 기능을 실행하여 확인했습니다. 같은 클래스의 다른 아키텍처도 동일한 동작을 할 것으로 예상됩니다. 자세한 내용은 Model API 페이지를 참조하세요.
아키텍처
| 아키텍처 | 매개변수 (M) | GMAC | 입력 크기 | 사전 학습된 가중치 |
|---|---|---|---|---|
test_vit_relpos | 0.85 | - | 160 | 0 |
vit_relpos_base_patch16_224 | 86.43 | 17.51 | 224 | 1 |
vit_relpos_base_patch16_cls_224 | 86.43 | 17.60 | 224 | 0 |
vit_relpos_base_patch16_clsgap_224 | 86.43 | 17.60 | 224 | 1 |
vit_relpos_base_patch16_plus_240 | 117.38 | 27.30 | 240 | 0 |
vit_relpos_base_patch16_rpn_224 | 86.41 | 17.51 | 224 | 0 |
vit_relpos_base_patch32_plus_rpn_256 | 119.42 | 7.68 | 256 | 1 |
vit_relpos_medium_patch16_224 | 38.75 | 7.97 | 224 | 1 |
vit_relpos_medium_patch16_cls_224 | 38.76 | 8.03 | 224 | 1 |
vit_relpos_medium_patch16_rpn_224 | 38.73 | 7.97 | 224 | 1 |
vit_relpos_small_patch16_224 | 21.98 | 4.59 | 224 | 1 |
vit_relpos_small_patch16_rpn_224 | 21.97 | 4.59 | 224 | 0 |
vit_srelpos_medium_patch16_224 | 38.74 | 7.96 | 224 | 1 |
vit_srelpos_small_patch16_224 | 21.97 | 4.59 | 224 | 1 |
GMACs와 매개변수 수는 각 아키텍처의 기본 입력 크기 및 분류기에 대한 값이며, 벤치마크 결과에서 가져왔습니다.
사전 학습된 가중치
Top-1은 results-imagenet.csv에 나열된 평가 크기에서 측정된 ImageNet-1k 검증 정확도입니다. - 가중치에 ImageNet-1k 결과가 없는 경우(예: 사전 학습 또는 이미지-텍스트 가중치)에는 표시하지 않습니다. Classes는 사전 학습된 분류기의 크기를 나타내며, 분류기가 없는 가중치의 경우 none입니다.
| 가중치 | 입력 크기 | Top-1(%) | 평가 크기 | 클래스 | 라이선스 | Hub |
|---|---|---|---|---|---|---|
vit_relpos_base_patch16_224.sw_in1k | 224 | 82.482 | 224 | 1000 | apache-2.0 | timm |
vit_relpos_base_patch16_clsgap_224.sw_in1k | 224 | 82.758 | 224 | 1000 | apache-2.0 | timm |
vit_relpos_base_patch32_plus_rpn_256.sw_in1k | 256 | 79.508 | 256 | 1000 | apache-2.0 | timm |
vit_relpos_medium_patch16_224.sw_in1k | 224 | 82.462 | 224 | 1000 | apache-2.0 | timm |
vit_relpos_medium_patch16_cls_224.sw_in1k | 224 | 82.558 | 224 | 1000 | apache-2.0 | timm |
vit_relpos_medium_patch16_rpn_224.sw_in1k | 224 | 82.314 | 224 | 1000 | apache-2.0 | timm |
vit_relpos_small_patch16_224.sw_in1k | 224 | 81.476 | 224 | 1000 | apache-2.0 | timm |
vit_srelpos_medium_patch16_224.sw_in1k | 224 | 82.256 | 224 | 1000 | apache-2.0 | timm |
vit_srelpos_small_patch16_224.sw_in1k | 224 | 81.108 | 224 | 1000 | apache-2.0 | timm |