AlexNet
AlexNet ist das Convolutional Network, das die ILSVRC 2012 gewonnen und die Deep-Learning-Ära in der Computer Vision mit angestoßen hat. LibreYOLO liefert die spätere Single-Tower-Revision der Architektur für die Bildklassifikation.
- Aufgaben
- classify
- Größen
- b at 224 px
- Installation
pip install libreyolo- Supportstufe
- Nur Inferenz, seit v. Nur Vorhersage, Validierung und Export. Trainingsfunktionen sind nicht verfügbar.
- Upstream
- AlexNet von University of Toronto, BSD-3-Clause. Publikation, Quelle
- Lizenzen
- Code BSD-3-Clause, Gewichte BSD-3-Clause. Kommerzielle Nutzung
Installation
AlexNet braucht kein optionales Extra. Alles, was es importiert, steckt in der Basis-Installation.
pip install libreyoloVorhersage
Die Gewichte werden beim ersten Aufruf von Hugging Face geladen und lokal zwischengespeichert.
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=TrueEin Klassifikator liefert result.probs statt result.boxes: top1 und
top5 geben die Klassenindizes, top1conf und top5conf deren Confidence.
Siehe Vorhersage für Quellen, Streaming und die
Weiterverarbeitung der Ergebnisse.
Varianten
Eine Größe. Der ausgelieferte Graph ist die spätere Single-Tower-Revision, die torchvision veröffentlicht hat, mit 64 Filtern in der ersten Schicht und ohne Local Response Normalization, nicht die ursprüngliche Zwei-GPU-Architektur von 2012. LibreYOLO liefert diese Familie nur für die Inferenz: Vorhersage, Validierung im ImageNet-Stil mit Top-1/Top-5 und Export werden unterstützt, Fine-Tuning ist nicht implementiert.
Validierung
val() läuft gegen einen Split im ImageFolder-Stil (ein Verzeichnis mit den
Unterordnern train/ und val/, ein Ordner pro Klasse) und liefert die Top-1-
und Top-5-Accuracy.
from libreyolo import LibreYOLO model = LibreYOLO("LibreAlexNetb-cls.pt") # data ist ein Wurzelverzeichnis mit train/ und val/ als Klassenordner# (ImageFolder-Layout), kein Dataset-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/Export
| Aufgabe | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| classify | classify to ONNX: unterstützt | classify to TorchScript: unterstützt | classify to ExecuTorch: unterstützt | classify to TensorRT: unterstützt | classify to OpenVINO: unterstützt | classify to Paddle: nicht unterstützt | classify to MNN: nicht unterstützt | classify to RKNN: nicht unterstützt | classify to ncnn: unterstützt | classify to TFLite: nicht unterstützt | classify to CoreML: nicht unterstützt | classify to Core AI: nicht unterstützt |
Ein exportiertes Artefakt lädt über LibreYOLO() anhand seiner Dateiendung
wieder zurück, eine .onnx- oder .engine-Datei verhält sich also wie ein
Checkpoint und liefert dasselbe Results. Export listet die
Argumente auf, die jedes Format akzeptiert, und die Extras, die einige davon
ergänzen.
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 # Die Factory entscheidet anhand der Dateiendung, ein exportiertes# Artefakt lädt also wie jeder Checkpoint und liefert dasselbe Results.model = LibreYOLO("LibreAlexNetb-cls.onnx")result = model(SAMPLE_IMAGE) print(result.probs.top1)Checkpoints
Jede veröffentlichte Gewichtsdatei dieser Familie.
| Datei | Eingabe (px) | Lizenz der Gewichte |
|---|---|---|
| classify | ||
| LibreAlexNetb-cls.pt | 224 | bsd-3-clause |
Jede oben aufgeführte Datei ist heute in der LibreYOLO-Organisation verfügbar und wird bei der ersten Verwendung heruntergeladen.
Lizenzierung
Prüfe die Lizenz im Hugging-Face-Repository der konkreten Gewichte, die du herunterlädst. Jeder Checkpoint in der LibreYOLO-Organisation hat eine Lizenz, und sie ist innerhalb einer Familie nicht immer gleich. Dieses Repository ist die maßgebliche Quelle. Die Zusammenfassung unten beschreibt den Stand bei der letzten Verifizierung dieser Seite.
Dies ist eine Beschreibung der beteiligten Lizenzen und keine Rechtsberatung. Wenn die Antwort kommerziell relevant ist, lies die Lizenzen selbst und hole eigenen Rechtsrat ein.
- Originalarbeit
- AlexNet, University of Toronto
- Upstream-Lizenz
- BSD-3-Clause
- Upstream-Quelle
- github.com/pytorch/vision
- LibreYOLO-Code
- MIT
- Gewichte
- BSD-3-Clause, erneut unter huggingface.co/LibreYOLO veröffentlicht
- Einordnung
- 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.