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. Всё, что он импортирует, входит в базовую установку.
pip install libreyoloПредсказание
Веса скачиваются с Hugging Face при первом запуске и кэшируются локально.
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)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.
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"])libreyolo val model=LibreAlexNetb-cls.pt data=imagenet-1k/Экспорт
| Задача | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| classify | classify 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. Экспорт перечисляет аргументы, которые
принимает каждый формат, и те дополнительные, что добавляют некоторые из них.
from libreyolo import LibreYOLO model = LibreYOLO("LibreAlexNetb-cls.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)libreyolo export model=LibreAlexNetb-cls.pt format=onnxlibreyolo export model=LibreAlexNetb-cls.pt format=tensorrt half=Truefrom libreyolo import LibreYOLO, SAMPLE_IMAGE # Фабрика выбирает загрузчик по расширению файла, поэтому# экспортированный артефакт загружается как любой чекпойнт и# возвращает тот же объект Results.model = LibreYOLO("LibreAlexNetb-cls.onnx")result = model(SAMPLE_IMAGE) print(result.probs.top1)Чекпойнты
Все опубликованные файлы весов этого семейства.
| Файл | Вход (пикс.) | Лицензия весов |
|---|---|---|
| classify | ||
| LibreAlexNetb-cls.pt | 224 | bsd-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.