AlexNet

AlexNet là mạng tích chập đã thắng ILSVRC 2012 và góp phần khởi đầu kỷ nguyên deep learning trong computer vision. LibreYOLO cung cấp bản sửa đổi single-tower về sau của kiến trúc này cho bài toán phân loại ảnh.

Tác vụ
classify
Kích thước
b at 224 px
Cài đặt
pip install libreyolo
Bậc hỗ trợ
Chỉ suy luận, từ v. Chỉ dự đoán, kiểm định và xuất. Không áp dụng các tính năng huấn luyện.
Thượng nguồn
AlexNet của University of Toronto, BSD-3-Clause. Bài báo, mã nguồn
Giấy phép
Mã nguồn BSD-3-Clause, trọng số BSD-3-Clause. Sử dụng thương mại

Cài đặt

AlexNet không cần extra tùy chọn nào. Mọi thứ nó import đều nằm trong bản cài đặt cơ bản.

bash
pip install libreyolo

Dự đoán

Trọng số được tải về từ Hugging Face ở lần dùng đầu tiên và được cache lại ở máy.

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

Một bộ phân loại trả về result.probs thay vì result.boxes: top1top5 cho ra chỉ số lớp đối tượng, còn top1conftop5conf cho ra độ tin cậy tương ứng. Xem dự đoán để biết về nguồn đầu vào, luồng (stream) và cách xử lý kết quả.

Các biến thể

Một kích thước duy nhất. Đồ thị được cung cấp là bản sửa đổi single-tower về sau do torchvision phát hành, với 64 filter ở lớp đầu tiên và không có local response normalization, chứ không phải kiến trúc hai GPU nguyên bản năm 2012. LibreYOLO cung cấp họ mô hình này ở chế độ chỉ suy luận (inference): dự đoán, đánh giá top-1/top-5 kiểu ImageNet và xuất mô hình đều được hỗ trợ, còn tinh chỉnh thì chưa có phần hiện thực.

Đánh giá

val() chạy trên một split kiểu ImageFolder (một thư mục có các thư mục con train/val/, mỗi lớp đối tượng một thư mục) và trả về độ chính xác top-1 và top-5.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreAlexNetb-cls.pt") # data là thư mục gốc chứa các split train/ và val/ theo dạng một thư# mục cho mỗi lớp đối tượng (bố cục ImageFolder), không phải YAML datasetmetrics = 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/

Xuất mô hình

Tác vụONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
classifyclassify to ONNX: được hỗ trợclassify to TorchScript: được hỗ trợclassify to ExecuTorch: được hỗ trợclassify to TensorRT: được hỗ trợclassify to OpenVINO: được hỗ trợclassify to Paddle: không được hỗ trợclassify to MNN: không được hỗ trợclassify to RKNN: không được hỗ trợclassify to ncnn: được hỗ trợclassify to TFLite: không được hỗ trợclassify to CoreML: không được hỗ trợclassify to Core AI: không được hỗ trợ

Một artifact đã xuất được tải ngược lại qua LibreYOLO() dựa trên phần đuôi tệp của nó, nên một tệp .onnx hay .engine hoạt động như một checkpoint và trả về cùng Results. Xuất mô hình liệt kê những tham số mà mọi định dạng đều nhận, cùng các tham số bổ sung mà một vài định dạng thêm vào.

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
Dùng tệp đã xuất
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Factory định tuyến theo phần đuôi tệp, nên một artifact đã xuất được# tải như mọi checkpoint khác và trả về cùng đối tượng Resultsmodel = LibreYOLO("LibreAlexNetb-cls.onnx")result = model(SAMPLE_IMAGE) print(result.probs.top1)

Checkpoint

Mọi tệp trọng số đã công bố cho họ mô hình này.

TệpĐầu vào (px)Giấy phép trọng số
classify
LibreAlexNetb-cls.pt224bsd-3-clause

Mọi tệp ở trên hiện đều có trong tổ chức LibreYOLO và được tải xuống trong lần sử dụng đầu tiên.

Giấy phép

Hãy kiểm tra giấy phép trong repo Hugging Face của trọng số cụ thể mà bạn tải xuống. Mỗi checkpoint trong tổ chức LibreYOLO đều có giấy phép riêng và giấy phép có thể khác nhau trong cùng một họ. Repo đó là nguồn có thẩm quyền; phần tóm tắt dưới đây mô tả các điều khoản áp dụng khi trang này được kiểm chứng lần gần nhất.

Đây là phần mô tả các giấy phép liên quan, không phải tư vấn pháp lý. Nếu câu trả lời có ý nghĩa về mặt thương mại, hãy tự đọc các giấy phép và tham khảo cố vấn của riêng bạn.

Công trình gốc
AlexNet, University of Toronto
Giấy phép thượng nguồn
BSD-3-Clause
Nguồn thượng nguồn
github.com/pytorch/vision
Mã nguồn LibreYOLO
MIT
Trọng số
BSD-3-Clause, được phát hành lại tại huggingface.co/LibreYOLO
Diễn giải
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.

Đã kiểm chứng với LibreYOLO v1.5.0. Các bảng hỗ trợ, checkpoint và số liệu benchmark trên trang này được tạo từ thư viện đã phát hành và trọng số đã công bố, không phải viết thủ công.