libreyolo predict

Chạy một mô hình đã tải trên một nguồn và in ra các dự đoán. Nguồn có thể là ảnh, thư mục, video, URL hoặc luồng (stream) trực tiếp; mô hình có thể là checkpoint hoặc một artifact đã xuất.

Lệnh
libreyolo predict
Bắt buộc
source
Đầu ra
Dự đoán in ra stdout. Với save=true, các tệp đã vẽ chú thích nằm trong runs/detect/predict

Cú pháp

bash
libreyolo predict source=<path|url|index> [model=<name|path>] [key=value ...]

Các tham số là cặp key=value. Cùng một lệnh đó cũng chấp nhận dạng POSIX, nên conf=0.4--conf 0.4 có thể dùng thay cho nhau, và một giá trị boolean viết save=true sẽ trở thành --save. Tên có dấu gạch dưới chấp nhận cả hai cách viết: max_det=50--max-det 50 cùng trỏ tới một tùy chọn.

libreyolo detect predict ... cũng được chấp nhận và hoạt động y hệt; từ chỉ tác vụ được loại bỏ trước khi phân tích cú pháp.

Tham số

Tham sốMặc địnhÝ nghĩa
sourceĐường dẫn ảnh, thư mục, hoặc URL. Bắt buộc
modelyolox-sTên hoặc đường dẫn mô hình
conf0.25Ngưỡng độ tin cậy
iou0.45Ngưỡng IoU cho NMS
imgszKích thước ảnh đầu vào: 640 (vuông) hoặc 480x640 (cao x rộng). Dùng kích thước đầu vào của chính mô hình khi không đặt
classesLọc theo ID lớp đối tượng, ví dụ [0,2,5]. Chấp nhận một số nguyên đơn lẻ
max_det300Số phát hiện tối đa trên mỗi ảnh
halffalseInference FP16 (chỉ CUDA, cần mô hình hỗ trợ)
savefalseLưu ảnh đã vẽ chú thích
batch1Số ảnh mỗi lượt forward khi nguồn là thư mục. Lớn hơn 1 sẽ chạy inference theo batch thật sự trên các mô hình hỗ trợ
streamfalseTrả kết quả dần dần. Tự động bật cho webcam và luồng trực tiếp
stream_bufferfalseĐệm mọi khung hình trực tiếp thay vì chỉ giữ khung mới nhất
vid_stride1Xử lý mỗi khung hình thứ N của video hoặc luồng trực tiếp
showfalseHiển thị kết quả video và luồng trực tiếp; q để dừng
tilingfalseInference chia ô cho ảnh lớn
overlap_ratio0.2Tỉ lệ chồng lấn giữa các ô
output_pathĐường dẫn đầu ra tường minh. Nếu không có thì dùng project/name khi save=true
color_formatautoMàu đầu vào: auto, rgb, bgr
output_file_formatĐịnh dạng đầu ra: jpg, png, webp
deviceautoThiết bị: 0, cpu, mps, auto
face_detectorMô hình phát hiện khuôn mặt (đường dẫn hoặc tên CLI). Bắt buộc với các mô hình gaze
galleryTệp .npz gallery khuôn mặt sinh từ libreyolo enroll để đối chiếu danh tính. Chỉ dành cho mô hình face-embedding
gallery_threshold0.4Ngưỡng cosine để khớp một danh tính trong gallery
projectruns/detectThư mục gốc chứa đầu ra
namepredictTên thí nghiệm
exist_okfalseDùng lại thư mục đầu ra đã có
jsonfalseXuất JSON ra stdout
quietfalseTắt stderr
verbosefalseXuất stderr chi tiết
help_jsonfalseIn schema của lệnh dưới dạng JSON rồi thoát

Ví dụ

Cơ bản
libreyolo predict model=LibreYOLO9s.pt \  source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg
Lưu ảnh đã vẽ chú thích
libreyolo predict model=LibreYOLO9s.pt save=true \  project=runs/detect name=parkour exist_ok=true \  source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg
Lọc lớp đối tượng, JSON trên stdout
# lớp đối tượng 0 là person trong danh sách lớp COCO đi kèm checkpointlibreyolo predict model=LibreYOLO9s.pt classes="[0]" conf=0.4 max_det=50 \  json=true quiet=true \  source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg

Ghi chú

Một artifact đã xuất được tải theo đúng cách như một checkpoint, nên model=weights/LibreYOLO9s.onnxmodel=weights/LibreYOLO9s.engine đều là giá trị hợp lệ cho model. Có ba tùy chọn bị từ chối trên các runtime đó thay vì bị bỏ qua: tiling, overlap_ratiooutput_file_format sẽ thoát với config_unsupported khi một backend runtime không thể đáp ứng chúng.

half thì ngược lại. Các runtime đã xuất nhận tham số này và chạy ở FP16; inference PyTorch gốc ghi log rằng nó bị bỏ qua và tiếp tục chạy ở FP32.

Các mô hình gaze gồm hai giai đoạn và không có bộ phát hiện của riêng chúng, nên face_detector là bắt buộc với chúng. gallery chỉ áp dụng cho các mô hình có tác vụ là embed; truyền nó cho bất kỳ thứ gì khác sẽ thoát với config_unsupported.

stdout chỉ mang kết quả và không mang gì khác; tiến trình, cảnh báo và lỗi đều đi ra stderr. json=true in một đối tượng JSON cho mỗi lần gọi, hoặc một đối tượng cho mỗi khung hình khi chạy ở chế độ stream, mỗi đối tượng đều mang schema_version. quiet=true tắt stderr. Dùng cả hai cùng lúc sẽ cho chương trình đọc tự động một luồng stdout sạch.

Mã thoát là 0 khi thành công, 2 khi dùng sai hoặc lỗi cấu hình, 3 khi không tìm thấy nguồn, 4 khi không tải được mô hình, và 1 cho các lỗi runtime khác.

help_json=true in ra các tham số, kiểu dữ liệu, giá trị mặc định và cờ của lệnh dưới dạng JSON mà không chạy gì cả, đây là cách đáng tin cậy để đọc lại bảng này từ phiên bản đã cài đặt.

Liên quan: libreyolo val để đo các chỉ số trên một tập dữ liệu (dataset), libreyolo export để tạo ra các artifact runtime nêu ở trên.

Đã kiểm chứng với LibreYOLO v1.5.0.