# Next-ViT

**Thể loại:** Hybrid · **Mã:** [`timm/models/nextvit.py`](https://github.com/huggingface/pytorch-image-models/blob/main/timm/models/nextvit.py) · **Kiến trúc:** 3 · **Trọng số tiền huấn luyện:** 12 (12 có kết quả ImageNet-1k)

Next-ViT là một mô hình lai CNN / transformer cho việc triển khai hiệu quả, kết hợp các khối Next Convolution (NCB) và các khối Next Transformer (NTB).

## Bài báo

* [Next-ViT: Vision Transformer thế hệ tiếp theo cho triển khai hiệu quả trong các kịch bản công nghiệp thực tế](https://arxiv.org/abs/2207.05501)

## Cách sử dụng

Xem [Quickstart](../quickstart) để tải trọng số được huấn luyện trước, tiền xử lý ảnh và tinh chỉnh, và [Feature Extraction](../feature_extraction) để sử dụng các mô hình làm bộ xương sống.

```py
>>> import timm
>>> model = timm.create_model('nextvit_small.bd_in1k', pretrained=True)
>>> data_config = timm.data.resolve_model_data_config(model)
```

## Hỗ trợ API mô hình

| Tính năng | `NextViT` |
|---|---|
| [bản đồ đặc trưng `features_only=True`](../model_api#intermediate-features) | ✓ (các bước nhảy 4, 8, 16, 32) |
| [`forward_intermediates()`](../model_api#intermediate-features) | ✓ |
| [`prune_intermediate_layers()`](../model_api#intermediate-features) | ✓ |
| [Bất kỳ kích thước đầu vào nào, không cần thay đổi](../model_api#input-size) | ✓ |
| [`set_input_size()`](../model_api#input-size) | – |
| [`dynamic_img_size=True`](../model_api#input-size) | – |
| [`set_grad_checkpointing()`](../model_api#training-hooks) | ✓ |
| [Suy giảm LR theo lớp (`group_matcher()`)](../model_api#training-hooks) | ✓ |
| [`reset_classifier()`](../model_api#classifier) | ✓ |

✓ được hỗ trợ, ✓ (vuông) chỉ hoạt động với kích thước vuông, ✗ không được hỗ trợ, – không cần thiết (mô hình đã chấp nhận mọi kích thước đầu vào). Được kiểm tra bằng cách chạy từng tính năng trên một mô hình được khởi tạo ngẫu nhiên (`NextViT` với `nextvit_small` ở 224), các kiến trúc khác cùng lớp được kỳ vọng sẽ hoạt động tương tự. Xem trang [Model API](../model_api) để biết chi tiết.

## Kiến trúc

| Kiến trúc | Số tham số (M) | GMACs | Kích thước đầu vào | Trọng số được huấn luyện trước |
|---|---:|---:|---:|---:|
| `nextvit_base` | 44.79 | 8.29 | 224 | 4 |
| `nextvit_large` | 57.83 | 10.77 | 224 | 4 |
| `nextvit_small` | 31.74 | 5.80 | 224 | 4 |

GMACs và số lượng tham số được tính cho kích thước đầu vào và bộ phân loại mặc định của mỗi kiến trúc, từ [kết quả benchmark](https://github.com/huggingface/pytorch-image-models/tree/main/results).

## Trọng số được huấn luyện trước

Top-1 là độ chính xác kiểm tra trên ImageNet-1k từ [`results-imagenet.csv`](https://github.com/huggingface/pytorch-image-models/blob/main/results/results-imagenet.csv) ở kích thước eval được liệt kê, - nếu trọng số không có kết quả ImageNet-1k (ví dụ: trọng số pretraining hoặc image-text). Classes là kích thước của bộ phân loại được huấn luyện trước, không có đối với các trọng số không có bộ phân loại.

| Trọng số | Kích thước đầu vào | Top-1 (%) | Kích thước đánh giá | Các lớp | Giấy phép | Hub |
|---|---:|---:|---:|---:|---|---|
| `nextvit_base.bd_in1k` | 224 | 83.498 | 224 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/nextvit_base.bd_in1k) |
| `nextvit_base.bd_in1k_384` | 384 | 84.706 | 384 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/nextvit_base.bd_in1k_384) |
| `nextvit_base.bd_ssld_6m_in1k` | 224 | 85.186 | 224 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/nextvit_base.bd_ssld_6m_in1k) |
| `nextvit_base.bd_ssld_6m_in1k_384` | 384 | 86.372 | 384 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/nextvit_base.bd_ssld_6m_in1k_384) |
| `nextvit_large.bd_in1k` | 224 | 83.654 | 224 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/nextvit_large.bd_in1k) |
| `nextvit_large.bd_in1k_384` | 384 | 84.930 | 384 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/nextvit_large.bd_in1k_384) |
| `nextvit_large.bd_ssld_6m_in1k` | 224 | 85.514 | 224 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/nextvit_large.bd_ssld_6m_in1k) |
| `nextvit_large.bd_ssld_6m_in1k_384` | 384 | 86.544 | 384 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/nextvit_large.bd_ssld_6m_in1k_384) |
| `nextvit_small.bd_in1k` | 224 | 82.626 | 224 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/nextvit_small.bd_in1k) |
| `nextvit_small.bd_in1k_384` | 384 | 84.036 | 384 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/nextvit_small.bd_in1k_384) |
| `nextvit_small.bd_ssld_6m_in1k` | 224 | 84.872 | 224 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/nextvit_small.bd_ssld_6m_in1k) |
| `nextvit_small.bd_ssld_6m_in1k_384` | 384 | 85.966 | 384 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/nextvit_small.bd_ssld_6m_in1k_384) |

