# HardCoRe-NAS

**Kategori:** Efficient/Mobile · **Kod:** [`timm/models/hardcorenas.py`](https://github.com/huggingface/pytorch-image-models/blob/main/timm/models/hardcorenas.py) · **Mimariler:** 6 · **Önceden eğitilmiş ağırlıklar:** 6 (6 tanesi ImageNet-1k sonuçlarıyla)

`MobileNetV3` sınıfı üzerine inşa edilen, sert gecikme kısıtlamalarına sahip farklılanabilir sinirsel mimari araması olan HardCoRe-NAS tarafından bulunan mobil ağlar.

## Makaleler

* [HardCoRe-NAS: Sert Kısıtlı Fark Edilebilir Sinirsel Mimari Arama](https://arxiv.org/abs/2102.11646)

## Kullanım

Önceden eğitilmiş ağırlıkları yükleme, görüntü ön işleme ve ince ayar için [Hızlı Başlangıç](../quickstart) bölümüne, modelleri omurga olarak kullanmak için ise [Özellik Çıkarımı](../feature_extraction) bölümüne bakın.

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

## Model API desteği

| Özellik | `MobileNetV3` |
|---|---|
| [`features_only=True` özellik haritaları](../model_api#intermediate-features) | ✓ (adım 2, 4, 8, 16, 32) |
| [`forward_intermediates()`](../model_api#intermediate-features) | ✓ |
| [`prune_intermediate_layers()`](../model_api#intermediate-features) | ✓ |
| [Herhangi bir giriş boyutu, değişiklik gerekmez](../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) | ✓ |
| [Katman bazlı LR azaltma (`group_matcher()`)](../model_api#training-hooks) | ✓ |
| [`reset_classifier()`](../model_api#classifier) | ✓ |

✓ destekleniyor, ✓ (kare) yalnızca kare boyutlarda çalışır, ✗ desteklenmiyor, – gerekli değil (model zaten herhangi bir giriş boyutunu kabul eder). Her özellik, rastgele başlatılmış bir model üzerinde (`MobileNetV3` ile `hardcorenas_b` 224'te) çalıştırılarak kontrol edilir; aynı sınıfın diğer mimarilerinin de aynı şekilde davranması beklenir. Ayrıntılar için [Model API](../model_api) sayfasına bakın.

## Mimariler

| Mimari | Parametreler (M) | GMAC'lar | Girdi boyutu | Önceden eğitilmiş ağırlıklar |
|---|---:|---:|---:|---:|
| `hardcorenas_a` | 5.26 | 0.23 | 224 | 1 |
| `hardcorenas_b` | 5.18 | 0.26 | 224 | 1 |
| `hardcorenas_c` | 5.52 | 0.28 | 224 | 1 |
| `hardcorenas_d` | 7.50 | 0.30 | 224 | 1 |
| `hardcorenas_e` | 8.07 | 0.35 | 224 | 1 |
| `hardcorenas_f` | 8.20 | 0.35 | 224 | 1 |

GMAC'lar ve parametre sayıları, her mimarinin varsayılan giriş boyutu ve sınıflandırıcısı içindir ve [benchmark sonuçlarından](https://github.com/huggingface/pytorch-image-models/tree/main/results) alınmıştır.

## Önceden eğitilmiş ağırlıklar

Top-1, belirtilen değerlendirme boyutunda [`results-imagenet.csv`](https://github.com/huggingface/pytorch-image-models/blob/main/results/results-imagenet.csv) dosyasındaki ImageNet-1k doğrulama doğruluğudur, - ağırlığın ImageNet-1k sonucu yoksa (ör. ön eğitim veya görsel-metin ağırlıkları). Classes, ön eğitilmiş sınıflandırıcının boyutudur; sınıflandırıcısı olmayan ağırlıklar için yoktur.

| Ağırlık | Girdi boyutu | En iyi 1 (%) | Değerlendirme boyutu | Sınıflar | Lisans | Hub |
|---|---:|---:|---:|---:|---|---|
| `hardcorenas_a.miil_green_in1k` | 224 | 75.926 | 224 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hardcorenas_a.miil_green_in1k) |
| `hardcorenas_b.miil_green_in1k` | 224 | 76.550 | 224 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hardcorenas_b.miil_green_in1k) |
| `hardcorenas_c.miil_green_in1k` | 224 | 77.092 | 224 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hardcorenas_c.miil_green_in1k) |
| `hardcorenas_d.miil_green_in1k` | 224 | 77.450 | 224 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hardcorenas_d.miil_green_in1k) |
| `hardcorenas_e.miil_green_in1k` | 224 | 77.788 | 224 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hardcorenas_e.miil_green_in1k) |
| `hardcorenas_f.miil_green_in1k` | 224 | 78.100 | 224 | 1000 | apache-2.0 | [timm](https://huggingface.co/timm/hardcorenas_f.miil_green_in1k) |

