# ConvMixer

**الفئة:** CNN · **الكود:** [`timm/models/convmixer.py`](https://github.com/huggingface/pytorch-image-models/blob/main/timm/models/convmixer.py) · **الهندسات:** 3 · **الأوزان المُسبقة التدريب:** 3 (3 منها بنتائج على ImageNet-1k)

يضمّن ConvMixer الصورة على شكل رقعات ويحافظ على ذلك الدقة طوال العملية، متناوبًا بين التحويلات العميقة (الخلط المكاني) والتحويلات النقطية (الخلط بين القنوات).

## الأوراق البحثية

* [هل الباتشات هي كل ما تحتاجه؟](https://arxiv.org/abs/2201.09792)

## الاستخدام

راجع [البدء السريع](../quickstart) لتحميل الأوزان المُسبقة التدريب ومعالجة الصور مسبقًا وضبط الدقة، وراجع [استخراج الميزات](../feature_extraction) لاستخدام النماذج كعمود فقري.

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

## دعم واجهة برمجة التطبيقات للنماذج

| ميزة | `ConvMixer` |
|---|---|
| خرائط الميزات [`features_only=True`](../model_api#intermediate-features) | ✓ (خطوات 7، 7، 7) |
| [`forward_intermediates()`](../model_api#intermediate-features) | ✓ |
| [`prune_intermediate_layers()`](../model_api#intermediate-features) | ✓ |
| [أي حجم إدخال، دون الحاجة إلى أي تغييرات](../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) | ✓ |
| [تلاشي معدل التعلم على مستوى الطبقات (`group_matcher()`)](../model_api#training-hooks) | ✓ |
| [`reset_classifier()`](../model_api#classifier) | ✓ |

✓ مدعوم، ✓ (مربع) يعمل مع الأحجام المربعة فقط، ✗ غير مدعوم، – غير مطلوب (يقبل النموذج بالفعل أي حجم إدخال). تم التحقق من ذلك بتشغيل كل ميزة على نموذج مُهيأ عشوائياً (`ConvMixer` مع `convmixer_768_32` عند 224)، ومن المتوقع أن تتصرف البنى المعمارية الأخرى من نفس الفئة بنفس الطريقة. راجع صفحة [Model API](../model_api) للتفاصيل.

## البنى

| البنية | المعاملات (مليون) | GMACs | حجم الإدخال | الأوزان المُسبقة التدريب |
|---|---:|---:|---:|---:|
| `convmixer_768_32` | 21.11 | 19.55 | 224 | 1 |
| `convmixer_1024_20_ks9_p14` | 24.38 | 5.55 | 224 | 1 |
| `convmixer_1536_20` | 51.63 | 48.68 | 224 | 1 |

تُقدَّم قيم GMACs وعدد المعاملات لحجم المدخلات الافتراضي والتصنيف الخاص بكل معمارية، وذلك استنادًا إلى [نتائج الاختبارات المرجعية](https://github.com/huggingface/pytorch-image-models/tree/main/results).

## الأوزان المُسبقة التدريب

Top-1 هو دقة التحقق على ImageNet-1k من [`results-imagenet.csv`](https://github.com/huggingface/pytorch-image-models/blob/main/results/results-imagenet.csv) عند حجم التقييم المذكور، - إذا لم يكن للوزن نتيجة على ImageNet-1k (مثل أوزان ما قبل التدريب أو أوزان الصورة-النص). Classes هو حجم المصنِّف المُدرَّب مسبقًا، ولا يوجد شيء للأوزان التي لا تحتوي على مصنِّف.

| الوزن | حجم الإدخال | أعلى 1 (%) | حجم التقييم | فئات | رخصة | المركز |
|---|---:|---:|---:|---:|---|---|
| `convmixer_768_32.in1k` | 224 | 80.158 | 224 | 1000 | mit | [timm](https://huggingface.co/timm/convmixer_768_32.in1k) |
| `convmixer_1024_20_ks9_p14.in1k` | 224 | 76.944 | 224 | 1000 | mit | [timm](https://huggingface.co/timm/convmixer_1024_20_ks9_p14.in1k) |
| `convmixer_1536_20.in1k` | 224 | 81.382 | 224 | 1000 | mit | [timm](https://huggingface.co/timm/convmixer_1536_20.in1k) |

