YOLOv1
YOLOv1 là detector nguyên bản năm 2016 đã đặt tên cho họ YOLO: một mạng tích chập với fully connected head dự đoán mọi box và điểm lớp đối tượng trong một lượt duy nhất, không có anchor box. LibreYOLO lưu giữ mô hình như một hiện vật đóng băng, chỉ dành cho inference.
- Tác vụ
- detection
- Kích thước
- t, b at 448 px
- Cài đặt
pip install libreyolo- Bậc hỗ trợ
- Bảo tàng, từ v. Hiện vật được đóng băng. Chỉ sửa lỗi.
- Giấy phép
- Mã nguồn MIT, trọng số Public domain (Darknet "YOLO LICENSE"). Sử dụng thương mại
Cài đặt
YOLOv1 không cần extra ngoài package cơ sở.
pip install libreyoloDự đoán
Họ mô hình này chỉ dành cho inference: train() phát sinh NotImplementedError, vì vậy trang này không có phần Huấn luyện. Dự đoán, xác thực và xuất đều được hỗ trợ. Trọng số được tải về từ Hugging Face trong lần sử dụng đầu tiên và được lưu vào bộ nhớ đệm cục bộ.
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreYOLO1b.pt")result = model(SAMPLE_IMAGE, save=True) for box in result.boxes: print(box.cls, box.conf, box.xyxy)libreyolo predict model=LibreYOLO1b.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=TrueĐối tượng Results trả về cũng là đối tượng mà mọi họ mô hình đều trả về, vì vậy việc chuyển sang detector khác chỉ cần thay đổi một dòng. Họ mô hình này có hai điểm riêng. Checkpoint đã phát hành được huấn luyện trên Pascal VOC (2007+2012), không phải COCO, vì vậy box.cls lập chỉ mục 20 danh mục VOC (aeroplane, bicycle, bird, boat, bottle, bus, car, cat, chair, cow, diningtable, dog, horse, motorbike, person, pottedplant, sheep, sofa, train, tvmonitor) thay vì 80 danh mục COCO. Fully connected detection head cũng chỉ nhận một ảnh mỗi lần, vì vậy danh sách nguồn được lặp thay vì chạy như batch thực. Xem dự đoán để biết về nguồn, xử lý luồng và kết quả.
Xác thực
val() trả về dictionary gồm các key metrics/ cho precision, recall, mAP 50 và mAP 50-95, được đo trên dataset trong cùng không gian nhãn kiểu VOC mà checkpoint đã được huấn luyện.
from libreyolo import LibreYOLO model = LibreYOLO("LibreYOLO1b.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/mAP50-95"])print(metrics["metrics/mAP50"])libreyolo val model=LibreYOLO1b.pt data=my-dataset.yamlXuất
| Tác vụ | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Detection | Detection to ONNX: được hỗ trợ | Detection to TorchScript: được hỗ trợ | Detection to ExecuTorch: được hỗ trợ | Detection to TensorRT: được hỗ trợ | Detection to OpenVINO: được hỗ trợ | Detection to Paddle: không được hỗ trợ | Detection to MNN: không được hỗ trợ | Detection to RKNN: không được hỗ trợ | Detection to ncnn: được hỗ trợ | Detection to TFLite: không được hỗ trợ | Detection to CoreML: không được hỗ trợ | Detection to Core AI: được hỗ trợ |
Artifact đã xuất được tải lại qua LibreYOLO() dựa trên hậu tố tệp, vì vậy tệp .onnx hoặc .engine hoạt động như checkpoint và trả về cùng đối tượng Results. Bạn cũng có thể chạy graph trong runtime thuần túy không cài LibreYOLO, nhưng khi đó phải tự viết bước tiền xử lý và hậu xử lý.
from libreyolo import LibreYOLO model = LibreYOLO("LibreYOLO1b.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)libreyolo export model=LibreYOLO1b.pt format=onnxlibreyolo export model=LibreYOLO1b.pt format=tensorrt half=Truefrom libreyolo import LibreYOLO, SAMPLE_IMAGE # Factory định tuyến dựa trên hậu tố tệp, vì vậy artifact đã xuất tải# như mọi checkpoint và trả về cùng đối tượng Results.model = LibreYOLO("LibreYOLO1b.onnx")result = model(SAMPLE_IMAGE) print(result.boxes.xyxy)Checkpoint
Mọi tệp trọng số đã phát hành cho họ mô hình này.
| Tệp | Đầu vào (px) | Giấy phép trọng số |
|---|---|---|
| Detection | ||
| LibreYOLO1b.pt | 448 | other |
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
- YOLOv1, Joseph Redmon
- Giấy phép thượng nguồn
- Public domain (Darknet "YOLO LICENSE")
- Nguồn thượng nguồn
- github.com/pjreddie/darknet
- Mã nguồn LibreYOLO
- MIT
- Trọng số
- Public domain (Darknet "YOLO LICENSE"), được phát hành lại tại huggingface.co/LibreYOLO
- Diễn giải
- Darknet's bundled NOTICE quotes its own license in full: "Darknet is public domain. Do whatever you want with it." That covers both the architecture and the pretrained weights LibreYOLO converts from it, with no attribution requirement and no restriction on commercial use. LibreYOLO's own code around this architecture is MIT. One thing to know before deploying this checkpoint: it is trained on Pascal VOC 2007+2012, not COCO, so it detects and names the 20 VOC categories rather than the 80 COCO ones.