/ Модель

Характеристики

Лицензия
Apache 2.0
Библиотека
timm
Опубликована
24 мар 2023

nfnet_l0.ra2_in1k

Классификация изображенийИзображение → label3 профессии

Lightweight NFNet-L0 — модель для классификации изображений ImageNet-1k и извлечения визуальных признаков.

13 644скачиваний за 30 дней1лайквеса обновлены21 янв 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки8

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

  • imagenetv2-matched-frequency

    top5 · выше — лучше

    Результат

    89,51 %

    image-classification 90,88 %image-classification 72,5 %image-classification 71,3 %
    timm

    Публичная таблицаревизия не подтверждена

  • imagenet-real

    top1 · выше — лучше

    Результат

    87,363 %

    image-classification 97,861 %image-classification 97,517 %image-classification 87,973 %
    timm

    Публичная таблицаревизия не подтверждена

  • imagenet-a

    top5 · выше — лучше

    Результат

    55,507 %

    image-classification 61,547 %image-classification 26,08 %image-classification 20,76 %
    timm

    Публичная таблицаревизия не подтверждена

  • sketch

    top5 · выше — лучше

    Результат

    55,961 %

    image-classification 54,358 %image-classification 35,22 %image-classification 34,002 %
    timm

    Публичная таблицаревизия не подтверждена

  • imagenet-r

    top1 · выше — лучше

    Результат

    45,38 %

    image-classification 62,783 %image-classification 62,087 %image-classification 46,147 %
    timm

    Публичная таблицаревизия не подтверждена

  • imagenet

    top5 · выше — лучше

    Результат

    96,034 %

    image-classification 96,494 %image-classification 82,766 %image-classification 81,87 %
    timm

    Публичная таблицаревизия не подтверждена

  • imagenet-a-clean

    top1 · выше — лучше

    Результат

    95,43 %

    image-classification 99,25 %image-classification 99,09 %image-classification 96,13 %
    timm

    Публичная таблицаревизия не подтверждена

  • imagenet-r-clean

    top1 · выше — лучше

    Результат

    95,43 %

    image-classification 99,43 %image-classification 99,26 %image-classification 94,9 %
    timm

    Публичная таблицаревизия не подтверждена

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

nfnet_l0.ra2_in1k — модель классификации изображений семейства Lightweight NFNet, обученная Россом Уайтманом в библиотеке timm на ImageNet-1k. Архитектура основана на предварительно активируемых блоках, похожих на ResNet, и не использует слои нормализации: вместо них применяются Scaled Weight Standardization и скалярные коэффициенты усиления в остаточных связях и около нелинейностей. Вариант Lightweight NFNet использует уменьшенные коэффициенты SE и узких мест, меньший размер групп и активацию SiLU.

Модель предназначена для классификации изображений и может использоваться как основа для извлечения признаков и эмбеддингов изображений. Она содержит около 35,1 млн параметров, выполняет 4,4 GMAC и рассчитана на изображения 224×224 при обучении и 288×288 при тестировании. Доступны веса PyTorch и Safetensors; лицензия — Apache-2.0.

Сценарии применения

  • классификация объектов на изображениях
  • определение класса изображения из набора ImageNet-1k
  • извлечение признаков для компьютерного зрения
  • получение эмбеддингов изображений

Ограничения

Обучена на ImageNet-1k и ориентирована на входные изображения около 288×288 при тестировании; перенос на другие классы и сценарии может требовать дополнительной настройки.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Model card for nfnet_l0.ra2_in1k

A NFNet-Lite (Lightweight NFNet) image classification model. Trained in timm by Ross Wightman.

Normalization Free Networks are (pre-activation) ResNet-like models without any normalization layers. Instead of Batch Normalization or alternatives, they use Scaled Weight Standardization and specifically placed scalar gains in residual path and at non-linearities based on signal propagation analysis.

Lightweight NFNets are timm specific variants that reduce the SE and bottleneck ratio from 0.5 -> 0.25 (reducing widths) and use a smaller group size while maintaining the same depth. SiLU activations used instead of GELU.

Model Details

Model Usage

Image Classification

from urllib.request import urlopen
from PIL import Image
import timm

img = Image.open(urlopen(
    'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'
))

model = timm.create_model('nfnet_l0.ra2_in1k', pretrained=True)
model = model.eval()

# get model specific transforms (normalization, resize)
data_config = timm.data.resolve_model_data_config(model)
transforms = timm.data.create_transform(**data_config, is_training=False)

output = model(transforms(img).unsqueeze(0))  # unsqueeze single image into batch of 1

top5_probabilities, top5_class_indices = torch.topk(output.softmax(dim=1) * 100, k=5)

Feature Map Extraction

from urllib.request import urlopen
from PIL import Image
import timm

img = Image.open(urlopen(
    'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'
))

model = timm.create_model(
    'nfnet_l0.ra2_in1k',
    pretrained=True,
    features_only=True,
)
model = model.eval()

# get model specific transforms (normalization, resize)
data_config = timm.data.resolve_model_data_config(model)
transforms = timm.data.create_transform(**data_config, is_training=False)

output = model(transforms(img).unsqueeze(0))  # unsqueeze single image into batch of 1

for o in output:
    # print shape of each feature map in output
    # e.g.:
    #  torch.Size([1, 64, 112, 112])
    #  torch.Size([1, 256, 56, 56])
    #  torch.Size([1, 512, 28, 28])
    #  torch.Size([1, 1536, 14, 14])
    #  torch.Size([1, 2304, 7, 7])

    print(o.shape)

Image Embeddings

from urllib.request import urlopen
from PIL import Image
import timm

img = Image.open(urlopen(
    'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'
))

model = timm.create_model(
    'nfnet_l0.ra2_in1k',
    pretrained=True,
    num_classes=0,  # remove classifier nn.Linear
)
model = model.eval()

# get model specific transforms (normalization, resize)
data_config = timm.data.resolve_model_data_config(model)
transforms = timm.data.create_transform(**data_config, is_training=False)

output = model(transforms(img).unsqueeze(0))  # output is (batch_size, num_features) shaped tensor

# or equivalently (without needing to set num_classes=0)

output = model.forward_features(transforms(img).unsqueeze(0))
# output is unpooled, a (1, 2304, 7, 7) shaped tensor

output = model.forward_head(output, pre_logits=True)
# output is a (1, num_features) shaped tensor

Model Comparison

Explore the dataset and runtime metrics of this model in timm model results.

Citation

@article{brock2021high,
  author={Andrew Brock and Soham De and Samuel L. Smith and Karen Simonyan},
  title={High-Performance Large-Scale Image Recognition Without Normalization},
  journal={arXiv preprint arXiv:2102.06171},
  year={2021}
}
@inproceedings{brock2021characterizing,
  author={Andrew Brock and Soham De and Samuel L. Smith},
  title={Characterizing signal propagation to close the performance gap in
  unnormalized ResNets},
  booktitle={9th International Conference on Learning Representations, {ICLR}},
  year={2021}
}
@misc{rw2019timm,
  author = {Ross Wightman},
  title = {PyTorch Image Models},
  year = {2019},
  publisher = {GitHub},
  journal = {GitHub repository},
  doi = {10.5281/zenodo.4414861},
  howpublished = {\url{https://github.com/huggingface/pytorch-image-models}}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · timm · image-classification

Можно запустить

Подбираем GPU…

Ревизия весов
caf266b

0 моделей