AlexNet

AlexNet est le réseau convolutif qui a remporté l'ILSVRC 2012 et qui a contribué à lancer l'ère du deep learning en vision par ordinateur. LibreYOLO fournit la révision ultérieure de l'architecture, à une seule tour, pour la classification d'images.

Tâches
classify
Tailles
b at 224 px
Installer
pip install libreyolo
Niveau de support
Inférence uniquement, depuis v. Prédiction, validation et export uniquement. Les fonctionnalités d'entraînement ne s'appliquent pas.
Origine
AlexNet par University of Toronto, BSD-3-Clause. Article, source
Licences
Code BSD-3-Clause, poids BSD-3-Clause. Usage commercial

Installation

AlexNet ne demande aucun extra optionnel. Tout ce qu'il importe fait partie de l'installation de base.

bash
pip install libreyolo

Prédire

Les poids sont téléchargés depuis Hugging Face au premier usage, puis mis en cache localement.

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

Un classifieur renvoie result.probs au lieu de result.boxes : top1 et top5 donnent les indices de classe, top1conf et top5conf donnent leurs scores de confiance. Voir la prédiction pour les sources, le streaming et le traitement des résultats.

Variantes

Une seule taille. Le graphe fourni est la révision ultérieure à une seule tour publiée par torchvision, avec 64 filtres en première couche et sans local response normalization, et non l'architecture d'origine de 2012 à deux GPU. LibreYOLO fournit cette famille en inférence seule : la prédiction, la validation top-1/top-5 façon ImageNet et l'export sont pris en charge, et le fine-tuning n'est pas implémenté.

Valider

val() s'exécute sur un split de type ImageFolder (un répertoire avec des sous-dossiers train/ et val/, un dossier par classe) et renvoie l'exactitude top-1 et top-5.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreAlexNetb-cls.pt") # data est un répertoire racine avec des splits train/ et val/ en# dossiers par classe (format ImageFolder), pas un YAML de dataset.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/

Exporter

TâcheONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
classifyclassify to ONNX : pris en chargeclassify to TorchScript : pris en chargeclassify to ExecuTorch : pris en chargeclassify to TensorRT : pris en chargeclassify to OpenVINO : pris en chargeclassify to Paddle : non pris en chargeclassify to MNN : non pris en chargeclassify to RKNN : non pris en chargeclassify to ncnn : pris en chargeclassify to TFLite : non pris en chargeclassify to CoreML : non pris en chargeclassify to Core AI : non pris en charge

Un artefact exporté se recharge via LibreYOLO() selon son extension de fichier, si bien qu'un fichier .onnx ou .engine se comporte comme un checkpoint et renvoie le même Results. L'export liste les arguments que chaque format accepte, ainsi que les extras que quelques-uns ajoutent.

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
Utiliser le fichier exporté
from libreyolo import LibreYOLO, SAMPLE_IMAGE # La factory s'appuie sur l'extension du fichier, donc un artefact# exporté se charge comme n'importe quel checkpoint et renvoie le# même objet Results.model = LibreYOLO("LibreAlexNetb-cls.onnx")result = model(SAMPLE_IMAGE) print(result.probs.top1)

Checkpoints

Tous les fichiers de poids publiés de cette famille.

FichierEntrée (px)Licence des poids
classify
LibreAlexNetb-cls.pt224bsd-3-clause

Tous les fichiers ci-dessus sont actuellement disponibles dans l<link>organisation LibreYOLO</link> et sont téléchargés à la première utilisation.

Licence

Vérifiez la licence dans le dépôt Hugging Face des poids précis que vous téléchargez. Chaque checkpoint de l<link>organisation LibreYOLO</link> en possède une, et elles ne sont pas toujours identiques au sein dune même famille. Ce dépôt fait autorité ; le résumé ci-dessous décrit les conditions applicables lors de la dernière vérification de cette page.

Ceci décrit les licences concernées et ne constitue pas un conseil juridique. Si la réponse a une importance commerciale, lisez vous-même les licences et consultez votre propre avocat.

Travail d'origine
AlexNet, University of Toronto
Licence du projet d'origine
BSD-3-Clause
Source du projet d'origine
github.com/pytorch/vision
Code de LibreYOLO
MIT
Poids
BSD-3-Clause, republiés sur huggingface.co/LibreYOLO
Interprétation
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.

Vérifié avec LibreYOLO v1.5.0. Les tableaux de support, les checkpoints et les chiffres de benchmark de cette page sont générés à partir de la bibliothèque publiée et des poids publiés, et non rédigés à la main.