# PP-HGNet

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

PP-HGNet و PP-HGNetV2 (شبكة GPU عالية الأداء) من PaddleClas، مبنية من كتل HG تجمع مخرجات تسلسل من عمليات الالتفاف. تم تدريب أوزان `ssld` باستخدام تقطير SSLD في PaddleClas.

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

* [ما وراء الإشراف الذاتي: بديل بسيط وفعّال لتقطير الشبكات لتحسين الهياكل الأساسية](https://arxiv.org/abs/2103.05959)

## الاستخدام

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

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

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

| ميزة | `HighPerfGpuNet` |
|---|---|
| خرائط الميزات [`features_only=True`](../model_api#intermediate-features) | ✓ (خطوات 4، 8، 16، 32) |
| [`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) | ✓ |

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

## البنى

| البنية | المعاملات (مليون) | GMACs | حجم الإدخال | الأوزان المُسبقة التدريب |
|---|---:|---:|---:|---:|
| `hgnet_base` | 71.58 | 25.14 | 224 | 1 |
| `hgnet_small` | 24.36 | 8.53 | 224 | 2 |
| `hgnet_tiny` | 14.74 | 4.54 | 224 | 2 |
| `hgnetv2_b0` | 6.00 | 0.33 | 224 | 2 |
| `hgnetv2_b1` | 6.34 | 0.49 | 224 | 2 |
| `hgnetv2_b2` | 11.22 | 1.15 | 224 | 2 |
| `hgnetv2_b3` | 16.29 | 1.78 | 224 | 2 |
| `hgnetv2_b4` | 19.80 | 2.75 | 224 | 2 |
| `hgnetv2_b5` | 39.57 | 6.56 | 224 | 2 |
| `hgnetv2_b6` | 75.26 | 16.88 | 224 | 2 |

تُقدَّم قيم 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 هو حجم المصنِّف المُدرَّب مسبقًا، ولا يوجد شيء للأوزان التي لا تحتوي على مصنِّف.

تُجمَّع الأوزان حسب المصدر: الورقة البحثية أو الأصل المذكور في الإعداد المسبق، وإلا منظمة على Hub غير `timm`، وإلا الجزء الأول من وسم التدريب المسبق (`architecture.tag`). تُدرج المصادر التي تحتوي على وزن واحد تحت فئة أخرى.

### وسوم `ssld`

| الوزن | حجم الإدخال | أعلى 1 (%) | حجم التقييم | فئات | رخصة | المركز |
|---|---:|---:|---:|---:|---|---|
| `hgnet_base.ssld_in1k` | 224 (اختبار 288) | 85.488 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hgnet_base.ssld_in1k) |
| `hgnet_small.ssld_in1k` | 224 (اختبار 288) | 84.368 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hgnet_small.ssld_in1k) |
| `hgnet_tiny.ssld_in1k` | 224 (اختبار 288) | 82.528 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hgnet_tiny.ssld_in1k) |
| `hgnetv2_b0.ssld_stage1_in22k_in1k` | 224 (اختبار 288) | 78.038 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hgnetv2_b0.ssld_stage1_in22k_in1k) |
| `hgnetv2_b0.ssld_stage2_ft_in1k` | 224 (اختبار 288) | 78.590 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hgnetv2_b0.ssld_stage2_ft_in1k) |
| `hgnetv2_b1.ssld_stage1_in22k_in1k` | 224 (اختبار 288) | 79.050 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hgnetv2_b1.ssld_stage1_in22k_in1k) |
| `hgnetv2_b1.ssld_stage2_ft_in1k` | 224 (اختبار 288) | 79.916 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hgnetv2_b1.ssld_stage2_ft_in1k) |
| `hgnetv2_b2.ssld_stage1_in22k_in1k` | 224 (اختبار 288) | 81.456 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hgnetv2_b2.ssld_stage1_in22k_in1k) |
| `hgnetv2_b2.ssld_stage2_ft_in1k` | 224 (اختبار 288) | 82.362 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hgnetv2_b2.ssld_stage2_ft_in1k) |
| `hgnetv2_b3.ssld_stage1_in22k_in1k` | 224 (اختبار 288) | 83.118 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hgnetv2_b3.ssld_stage1_in22k_in1k) |
| `hgnetv2_b3.ssld_stage2_ft_in1k` | 224 (اختبار 288) | 83.588 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hgnetv2_b3.ssld_stage2_ft_in1k) |
| `hgnetv2_b4.ssld_stage1_in22k_in1k` | 224 (اختبار 288) | 83.450 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hgnetv2_b4.ssld_stage1_in22k_in1k) |
| `hgnetv2_b4.ssld_stage2_ft_in1k` | 224 (اختبار 288) | 83.952 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hgnetv2_b4.ssld_stage2_ft_in1k) |
| `hgnetv2_b5.ssld_stage1_in22k_in1k` | 224 (اختبار 288) | 84.930 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hgnetv2_b5.ssld_stage1_in22k_in1k) |
| `hgnetv2_b5.ssld_stage2_ft_in1k` | 224 (اختبار 288) | 85.158 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hgnetv2_b5.ssld_stage2_ft_in1k) |
| `hgnetv2_b6.ssld_stage1_in22k_in1k` | 224 (اختبار 288) | 86.300 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hgnetv2_b6.ssld_stage1_in22k_in1k) |
| `hgnetv2_b6.ssld_stage2_ft_in1k` | 224 (اختبار 288) | 86.380 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hgnetv2_b6.ssld_stage2_ft_in1k) |

### وسوم `paddle`

| الوزن | حجم الإدخال | أعلى 1 (%) | حجم التقييم | فئات | رخصة | المركز |
|---|---:|---:|---:|---:|---|---|
| `hgnet_small.paddle_in1k` | 224 (اختبار 288) | 82.222 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hgnet_small.paddle_in1k) |
| `hgnet_tiny.paddle_in1k` | 224 (اختبار 288) | 80.644 | 288 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hgnet_tiny.paddle_in1k) |

