VGG

VGG è un classificatore di immagini convoluzionale costruito con pile uniformi di piccole convoluzioni 3x3 al posto di filtri più grandi. LibreYOLO distribuisce le dimensioni a 16 e 19 layer, semplici e con batch normalization, per la classificazione di immagini.

Task
classify
Dimensioni
16, 19, 16bn, 19bn at 224 px
Installa
pip install libreyolo
Livello di supporto
Solo inferenza, dalla v. Solo predizione, validazione ed esportazione. Le funzionalità di addestramento non si applicano.
Origine
VGG di Visual Geometry Group, University of Oxford, BSD-3-Clause. Articolo, sorgente
Licenze
Codice BSD-3-Clause, pesi BSD-3-Clause. Uso commerciale

Installazione

VGG non richiede nessun extra opzionale. Tutto ciò che importa è già nell'installazione di base.

bash
pip install libreyolo

Predizione

I pesi vengono scaricati da Hugging Face al primo utilizzo e restano nella cache locale.

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

Un classificatore restituisce result.probs invece di result.boxes: top1 e top5 danno gli indici delle classi, top1conf e top5conf le rispettive confidenze. La predizione gira a un input fisso di 224px e solleva un errore se passi un imgsz diverso. Vedi predizione per sorgenti, streaming e gestione dei risultati.

Varianti

Quattro dimensioni: 16 e 19 layer convoluzionali, ognuna con una variante semplice e una con batch normalization. I pesi distribuiti sono quelli dell'addestramento da zero su ImageNet fatto in seguito da torchvision, non conversioni della release Caffe originale del gruppo di Oxford del 2014. LibreYOLO distribuisce questa famiglia solo per l'inferenza: predizione, validazione top-1/top-5 in stile ImageNet ed esportazione sono supportate, mentre il fine-tuning non è implementato.

Validazione

val() gira su uno split in stile ImageFolder (una directory con sottocartelle train/ e val/, una cartella per classe) e restituisce l'accuratezza top-1 e top-5.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreVGG16-cls.pt") # data è la directory radice con gli split train/ e val/ in cartelle# per classe (layout ImageFolder), non uno YAML del dataset.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/

Esportazione

TaskONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
classifyclassify to ONNX: supportatoclassify to TorchScript: supportatoclassify to ExecuTorch: supportatoclassify to TensorRT: supportatoclassify to OpenVINO: supportatoclassify to Paddle: non supportatoclassify to MNN: non supportatoclassify to RKNN: non supportatoclassify to ncnn: supportatoclassify to TFLite: non supportatoclassify to CoreML: non supportatoclassify to Core AI: non supportato

Un artefatto esportato si ricarica con LibreYOLO() in base al suffisso del file, quindi un file .onnx o .engine si comporta come un checkpoint e restituisce lo stesso Results. Esportazione elenca gli argomenti accettati da ogni formato e gli extra che alcuni di essi aggiungono.

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
Usare il file esportato
from libreyolo import LibreYOLO, SAMPLE_IMAGE # La factory smista in base al suffisso del file, quindi un artefatto# esportato si carica come qualsiasi checkpoint e restituisce lo stesso# oggetto Results.model = LibreYOLO("LibreVGG16-cls.onnx")result = model(SAMPLE_IMAGE) print(result.probs.top1)

Checkpoint

Tutti i file di pesi pubblicati per questa famiglia.

FileIngresso (px)Licenza dei pesi
classify
LibreVGG16-cls.pt224bsd-3-clause
LibreVGG19bn-cls.pt224bsd-3-clause
LibreVGG19-cls.pt224bsd-3-clause
LibreVGG16bn-cls.pt224bsd-3-clause

Oggi tutti i file elencati sopra sono presenti nell<link>organizzazione LibreYOLO</link> e vengono scaricati al primo utilizzo.

Licenze

Controlla la licenza nel repository Hugging Face degli specifici pesi che scarichi. Ogni checkpoint nell<link>organizzazione LibreYOLO</link> ne include una e non è sempre la stessa per tutta la famiglia. Quel repository è la fonte autorevole; il riepilogo seguente descrive le condizioni applicabili al momento dellultima verifica di questa pagina.

Questa è una descrizione delle licenze coinvolte, non una consulenza legale. Se la risposta è importante a fini commerciali, leggi personalmente le licenze e chiedi una consulenza indipendente.

Lavoro originale
VGG, Visual Geometry Group, University of Oxford
Licenza upstream
BSD-3-Clause
Sorgente upstream
github.com/pytorch/vision
Codice LibreYOLO
MIT
Pesi
BSD-3-Clause, ripubblicati su huggingface.co/LibreYOLO
Interpretazione
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.

Verificato con LibreYOLO v1.5.0. Le tabelle di supporto, i checkpoint e i dati dei benchmark in questa pagina vengono generati dalla libreria rilasciata e dai pesi pubblicati, non scritti a mano.