AlexNet
AlexNet є згортковою мережею, яка перемогла в ILSVRC 2012 і допомогла започаткувати еру глибокого навчання в комп'ютерному зорі. LibreYOLO постачає пізнішу одногілкову редакцію архітектури для класифікації зображень.
- Задачі
- classify
- Розміри
- b at 224 px
- Встановлення
pip install libreyolo- Рівень підтримки
- Лише інференс, починаючи з v. Лише передбачення, валідація та експорт. Функції навчання не застосовуються.
- Ліцензії
- Код: BSD-3-Clause, ваги: BSD-3-Clause. Комерційне використання
Встановлення
AlexNet не потребує додаткових залежностей. Усе, що вона імпортує, входить до базового встановлення.
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 фільтрами першого шару й без локальної нормалізації відгуку, а не початковою архітектурою 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.