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.
- 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.
pip install libreyoloPrédire
Les poids sont téléchargés depuis Hugging Face au premier usage, puis mis en cache localement.
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=TrueUn 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.
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"])libreyolo val model=LibreAlexNetb-cls.pt data=imagenet-1k/Exporter
| Tâche | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| classify | classify to ONNX : pris en charge | classify to TorchScript : pris en charge | classify to ExecuTorch : pris en charge | classify to TensorRT : pris en charge | classify to OpenVINO : pris en charge | classify to Paddle : non pris en charge | classify to MNN : non pris en charge | classify to RKNN : non pris en charge | classify to ncnn : pris en charge | classify to TFLite : non pris en charge | classify to CoreML : non pris en charge | classify 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.
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 # 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.
| Fichier | Entrée (px) | Licence des poids |
|---|---|---|
| classify | ||
| LibreAlexNetb-cls.pt | 224 | bsd-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.