AlexNet

AlexNet — свёрточная сеть, которая выиграла ILSVRC 2012 и помогла начать эпоху глубокого обучения в компьютерном зрении. LibreYOLO поставляет более позднюю однобашенную ревизию этой архитектуры для классификации изображений.

Задачи
classify
Размеры
b at 224 px
Установка
pip install libreyolo
Уровень поддержки
Только инференс, начиная с v. Только предсказание, валидация и экспорт. Функции обучения неприменимы.
Исходный проект
AlexNet от University of Toronto, BSD-3-Clause. Статья, исходный код
Лицензии
Код: BSD-3-Clause, веса: BSD-3-Clause. Коммерческое использование

Установка

AlexNet не требует опциональных extra. Всё, что он импортирует, входит в базовую установку.

bash
pip install libreyolo

Предсказание

Веса скачиваются с Hugging Face при первом запуске и кэшируются локально.

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreAlexNetb-cls.pt")result = model(SAMPLE_IMAGE, save=True) probs = result.probsprint(probs.top1, probs.top1conf)print(probs.top5, probs.top5conf)
CLI
libreyolo predict model=LibreAlexNetb-cls.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True

Классификатор возвращает result.probs, а не result.boxes: top1 и top5 дают индексы классов, а top1conf и top5conf — их оценки уверенности. Про источники, стриминг и обработку результатов см. предсказание.

Варианты

Один размер. Поставляемый граф — более поздняя однобашенная ревизия, выпущенная torchvision, с 64 фильтрами в первом слое и без local response normalization, а не исходная архитектура 2012 года на двух GPU. LibreYOLO поставляет это семейство только для инференса: предсказание, валидация top-1/top-5 в стиле ImageNet и экспорт поддерживаются, а дообучение не реализовано.

Валидация

val() работает со сплитом в формате ImageFolder (каталог с подпапками train/ и val/, по одной папке на класс) и возвращает точность top-1 и top-5.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreAlexNetb-cls.pt") # data — это корневой каталог со сплитами train/ и val/ в папках по# классам (формат ImageFolder), а не YAML датасета.metrics = model.val(data="imagenet-1k/") print(metrics["metrics/accuracy_top1"])print(metrics["metrics/accuracy_top5"])
CLI
libreyolo val model=LibreAlexNetb-cls.pt data=imagenet-1k/

Экспорт

ЗадачаONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
classifyclassify to ONNX: поддерживаетсяclassify to TorchScript: поддерживаетсяclassify to ExecuTorch: поддерживаетсяclassify to TensorRT: поддерживаетсяclassify to OpenVINO: поддерживаетсяclassify to Paddle: не поддерживаетсяclassify to MNN: не поддерживаетсяclassify to RKNN: не поддерживаетсяclassify to ncnn: поддерживаетсяclassify to TFLite: не поддерживаетсяclassify to CoreML: не поддерживаетсяclassify to Core AI: не поддерживается

Экспортированный артефакт загружается обратно через LibreYOLO() по расширению файла, поэтому файл .onnx или .engine ведёт себя как чекпойнт и возвращает тот же Results. Экспорт перечисляет аргументы, которые принимает каждый формат, и те дополнительные, что добавляют некоторые из них.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreAlexNetb-cls.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)
CLI
libreyolo export model=LibreAlexNetb-cls.pt format=onnxlibreyolo export model=LibreAlexNetb-cls.pt format=tensorrt half=True
Использование экспортированного файла
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Фабрика выбирает загрузчик по расширению файла, поэтому# экспортированный артефакт загружается как любой чекпойнт и# возвращает тот же объект Results.model = LibreYOLO("LibreAlexNetb-cls.onnx")result = model(SAMPLE_IMAGE) print(result.probs.top1)

Чекпойнты

Все опубликованные файлы весов этого семейства.

ФайлВход (пикс.)Лицензия весов
classify
LibreAlexNetb-cls.pt224bsd-3-clause

Все перечисленные выше файлы уже доступны в организации LibreYOLO и скачиваются при первом использовании.

Лицензирование

Проверяйте лицензию в репозитории конкретных весов на Hugging Face. Она указана для каждого чекпойнта в организации LibreYOLO и может различаться даже внутри одного семейства. Этот репозиторий считается авторитетным источником, а сводка ниже описывает условия на момент последней проверки страницы.

Это описание соответствующих лицензий, а не юридическая консультация. Если ответ важен для коммерческого использования, прочитайте лицензии самостоятельно и проконсультируйтесь с юристом.

Оригинальная работа
AlexNet, University of Toronto
Лицензия исходного проекта
BSD-3-Clause
Исходный код проекта
github.com/pytorch/vision
Код LibreYOLO
MIT
Веса
BSD-3-Clause, повторно опубликованы на huggingface.co/LibreYOLO
Толкование
BSD-3-Clause is a permissive license, so these weights can be used in commercial and closed-source products. It asks you to keep the copyright notice, the list of conditions and the disclaimer with any copy you redistribute, and it forbids using the contributors' names to endorse a derived product without permission; it carries no explicit patent grant. LibreYOLO's code and the shipped checkpoint are both derived from torchvision's single-tower AlexNet, the later "one weird trick" graph, not the original two-GPU 2012 model, and no code from the 2012 paper's authors is republished here. Torchvision itself notes that BSD-3-Clause redistribution of a pretrained checkpoint is an implied basis rather than a grant written for that specific checkpoint, and that pretrained-model terms can depend on the data a model was trained on; LibreYOLO repeats that caveat on the hosted weights repository.

Проверено с LibreYOLO v1.5.0. Таблицы поддержки, чекпойнты и результаты бенчмарков на этой странице сгенерированы из выпущенной библиотеки и опубликованных весов, а не написаны вручную.