VGG

VGG є згортковим класифікатором зображень, побудованим з однорідних стеків малих згорток 3x3 замість більших фільтрів. LibreYOLO постачає 16- і 19-шарові розміри у звичайних варіантах і з пакетною нормалізацією для класифікації зображень.

Задачі
classify
Розміри
16, 19, 16bn, 19bn at 224 px
Встановлення
pip install libreyolo
Рівень підтримки
Лише інференс, починаючи з v. Лише передбачення, валідація та експорт. Функції навчання не застосовуються.
Першоджерело
VGG, автори: Visual Geometry Group, University of Oxford, ліцензія BSD-3-Clause. Стаття, джерело
Ліцензії
Код: BSD-3-Clause, ваги: BSD-3-Clause. Комерційне використання

Встановлення

VGG не потребує додаткових залежностей. Усе, що вона імпортує, входить до базового встановлення.

bash
pip install libreyolo

Передбачення

Під час першого використання ваги завантажуються з Hugging Face і кешуються локально.

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

Класифікатор повертає result.probs замість result.boxes: top1 і top5 містять індекси класів, а top1conf і top5conf містять їхні оцінки впевненості. Передбачення виконується з фіксованим входом 224px і спричиняє помилку, якщо передати інше значення imgsz. Типи джерел, потокове передбачення та обробку результатів описано в розділі передбачення.

Варіанти

Доступні чотири розміри: 16 і 19 згорткових шарів, кожен у звичайному варіанті та з пакетною нормалізацією. Постачані ваги отримано під час пізнішого навчання torchvision на ImageNet з нуля, а не шляхом перетворення початкового релізу групи Oxford для Caffe 2014 року. LibreYOLO постачає це сімейство лише для інференсу: підтримуються передбачення, валідація top-1/top-5 у стилі ImageNet та експорт, а донавчання не реалізовано.

Валідація

val() працює з поділом у стилі ImageFolder (каталогом із підкаталогами train/ і val/, що містять по одній папці на клас) та повертає правильність top-1 і top-5.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreVGG16-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=LibreVGG16-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("LibreVGG16-cls.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)
CLI
libreyolo export model=LibreVGG16-cls.pt format=onnxlibreyolo export model=LibreVGG16-cls.pt format=tensorrt half=True
Використання експортованого файлу
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Фабрика маршрутизує за суфіксом файлу, тому експортований артефакт# завантажується як будь-яка контрольна точка й повертає той самий об'єкт Results.model = LibreYOLO("LibreVGG16-cls.onnx")result = model(SAMPLE_IMAGE) print(result.probs.top1)

Контрольні точки

Усі опубліковані файли ваг цього сімейства.

ФайлВхід (пікс.)Ліцензія ваг
classify
LibreVGG16-cls.pt224bsd-3-clause
LibreVGG19bn-cls.pt224bsd-3-clause
LibreVGG19-cls.pt224bsd-3-clause
LibreVGG16bn-cls.pt224bsd-3-clause

Кожен наведений вище файл уже доступний у організації LibreYOLO і завантажується під час першого використання.

Ліцензування

Перевіряйте ліцензію в репозиторії Hugging Face конкретних ваг, які завантажуєте. Кожна контрольна точка в організації LibreYOLO має ліцензію, і вона не завжди однакова для всього сімейства. Цей репозиторій є авторитетним джерелом, а наведене нижче резюме описує умови на момент останньої перевірки сторінки.

Це опис відповідних ліцензій, а не юридична консультація. Якщо відповідь має комерційне значення, самостійно прочитайте ліцензії та зверніться по юридичну консультацію.

Оригінальна робота
VGG, Visual Geometry Group, University of Oxford
Ліцензія першоджерела
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 four shipped checkpoints (16, 19, 16-BN, 19-BN) are both derived from torchvision, not from the Oxford group's original 2014 Caffe release, which is a separate model under Creative Commons Attribution and is not what LibreYOLO redistributes. 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 each hosted weights repository.

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