Suy luận#
Ultralytics Platform cung cấp tính năng suy luận trên trình duyệt để kiểm thử các model đã huấn luyện và các endpoint chuyên dụng để truy cập qua lập trình.

Tab Dự đoán (Predict)#
Mỗi model đều bao gồm tab Predict cho việc suy luận trên trình duyệt:
- Điều hướng đến model của bạn
- Nhấp vào tab Predict
- Tải lên một hình ảnh, sử dụng hình ảnh ví dụ hoặc mở webcam của bạn
- Xem lại lớp phủ theo tác vụ, tóm tắt dự đoán, thời gian và phản hồi thô

Phương thức đầu vào#
Bảng điều khiển dự đoán hỗ trợ nhiều phương thức đầu vào:
| Phương thức | Mô tả |
|---|---|
| Tải lên hình ảnh | Kéo và thả hoặc nhấp để tải lên hình ảnh |
| Hình ảnh ví dụ | Nhấp vào các ví dụ tích hợp sẵn (hình ảnh tập dữ liệu hoặc mặc định) |
| Chụp từ webcam | Luồng video trực tiếp với khả năng chụp ảnh đơn khung |
graph LR
A[Upload Image]:::start --> D[Auto-Inference]:::proc
B[Example Image]:::start --> D
C[Webcam Capture]:::start --> D
D --> E[Results + Overlays]:::out
classDef start fill:#4CAF50,color:#fff
classDef proc fill:#2196F3,color:#fff
classDef out fill:#9C27B0,color:#fffTải lên hình ảnh#
Kéo và thả hoặc nhấp để tải lên:
- Các định dạng được hỗ trợ: JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP, DNG, MPO
- Dung lượng tối đa: 10MB
- Tự động suy luận: Kết quả xuất hiện tự động sau khi tải lên
Bảng dự đoán sẽ tự động chạy suy luận khi bạn tải lên hình ảnh, chọn ví dụ hoặc chụp khung hình webcam. Không cần nhấp nút.
Hình ảnh ví dụ#
Bảng dự đoán hiển thị các hình ảnh ví dụ từ tập dữ liệu được liên kết với model của bạn. Nếu không có tập dữ liệu nào được liên kết, các ví dụ mặc định sẽ được sử dụng:
| Hình ảnh | Nội dung |
|---|---|
bus.jpg | Cảnh đường phố với các phương tiện |
zidane.jpg | Cảnh thể thao với con người |
Đối với các model OBB, hình ảnh chụp từ trên không về tàu thuyền và sân bay sẽ được hiển thị thay thế.
Các hình ảnh ví dụ được tải sẵn khi trang tải xong, vì vậy việc nhấp vào một ví dụ sẽ kích hoạt suy luận gần như tức thì mà không cần chờ đợi tải xuống.
Webcam#
Nhấp vào thẻ webcam để bắt đầu luồng camera trực tiếp:
- Cấp quyền truy cập camera khi được yêu cầu
- Nhấp vào bản xem trước video để chụp khung hình
- Suy luận tự động chạy trên khung hình đã chụp
- Nhấp lại để khởi động lại webcam
Xem kết quả#
Kết quả suy luận hiển thị đầu ra phù hợp với tác vụ của model: các hộp, mặt nạ, điểm then chốt, hộp định hướng, điểm phân loại, độ bao phủ ngữ nghĩa hoặc bản đồ chiều sâu. Kết quả đối tượng sử dụng màu sắc lớp của dataset khi khả dụng. Bảng này cũng hiển thị thời gian tiền xử lý, suy luận, hậu xử lý và mạng.
Bảng kết quả hiển thị:
| Trường (Field) | Mô tả |
|---|---|
| Tóm tắt kết quả | Phát hiện, phân loại hoặc độ bao phủ lớp ngữ nghĩa |
| Số liệu thống kê tốc độ | Tiền xử lý, suy luận, hậu xử lý và mạng (ms) |
| Phản hồi JSON | Phản hồi API thô trong một khối mã |
Tham số suy luận#
Điều chỉnh hành vi suy luận bằng ba thanh trượt bên dưới hình ảnh:

| Tham số | Phạm vi | Mặc định | Mô tả |
|---|---|---|---|
| Confidence | 0,01 – 1,0, bước nhảy 0,01 | 0.25 | Ngưỡng độ tin cậy tối thiểu |
| IoU | 0,0 – 0,95, bước nhảy 0,01 | 0.7 | Ngưỡng NMS IoU |
| Kích thước Hình ảnh | 32 – 1280, bước nhảy 32 | 640 | Kích thước thay đổi đầu vào |
Việc thay đổi bất kỳ tham số nào sẽ tự động chạy lại suy luận trên hình ảnh hiện tại với độ trễ 500ms. Không cần tải lên lại.
Ngưỡng tin cậy#
Lọc các dự đoán theo độ tin cậy:
- Cao hơn (0.5+): Ít dự đoán hơn, độ chính xác cao hơn
- Thấp hơn (0.1-0.25): Nhiều dự đoán hơn, có thể kèm theo nhiễu
- Mặc định (0.25): Cân bằng cho hầu hết các trường hợp sử dụng
Ngưỡng IoU#
Kiểm soát Non-Maximum Suppression:
- Cao hơn (0.7+): Cho phép nhiều hộp chồng lấp hơn
- Thấp hơn (0,3-0,5): Loại bỏ các phát hiện chồng chéo mạnh mẽ hơn
- Mặc định (0.7): Hành vi NMS cân bằng cho hầu hết các trường hợp sử dụng
Suy luận triển khai#
Mỗi endpoint chuyên dụng đang chạy đều bao gồm một tab Predict ngay trên thẻ triển khai của nó. Tính năng này sử dụng dịch vụ suy luận riêng của bản triển khai thay vì dịch vụ dự đoán dùng chung, cho phép bạn kiểm tra endpoint đã triển khai từ trình duyệt.
API Endpoint chuyên dụng#
Thẻ API Docs trong tab Predict của model chứa các yêu cầu mẫu bằng Python, JavaScript và cURL. Các ví dụ này sử dụng trình giữ chỗ cho đến khi bạn triển khai model. Sau khi triển khai, thẻ Code của phần triển khai sẽ điền URL endpoint và API key có sẵn cho workspace của bạn.
Xác thực#
Bao gồm khóa API của bạn trong các yêu cầu:
Authorization: Bearer YOUR_API_KEYĐể chạy suy luận từ các tập lệnh, notebook hoặc ứng dụng của riêng bạn, hãy bao gồm khóa API. Tạo một khóa trong Settings > API Keys.
Endpoint#
POST https://YOUR_DEPLOYMENT_URL.run.app/predictYêu cầu#
import requests
url = "https://YOUR_DEPLOYMENT_URL.run.app/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}
with open("image.jpg", "rb") as image_file:
response = requests.post(url, headers=headers, files={"file": image_file}, data=data)
print(response.json())
Tham số yêu cầu#
| Tham số | Loại | Mặc định | Phạm vi | Mô tả |
|---|---|---|---|---|
file | tệp | - | - | Tệp hình ảnh hoặc video (bắt buộc trừ khi source được đặt) |
conf | float | 0.25 | 0.01 – 1.0 | Ngưỡng độ tin cậy tối thiểu |
iou | float | 0.7 | 0.0 – 0.95 | Ngưỡng NMS IoU |
imgsz | int | 640 | 32 – 1280 | Kích thước hình ảnh đầu vào tính bằng pixel |
normalize | bool | false | - | Trả về tọa độ BBox dưới dạng 0 – 1 |
decimals | int | 5 | 0 – 10 | Độ chính xác thập phân cho các giá trị tọa độ |
source | string | - | - | URL hình ảnh hoặc chuỗi base64 (thay thế cho file) |
Phản hồi#
{
"images": [
{
"shape": [1080, 1920],
"results": [
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": { "x1": 100, "y1": 50, "x2": 300, "y2": 400 }
},
{
"class": 2,
"name": "car",
"confidence": 0.87,
"box": { "x1": 400, "y1": 200, "x2": 600, "y2": 350 }
}
],
"speed": {
"preprocess": 1.2,
"inference": 12.5,
"postprocess": 2.3
}
}
],
"metadata": {
"imageCount": 1,
"functionTimeCall": 0.018,
"task": "detect",
"version": {
"ultralytics": "8.x.x",
"torch": "2.6.0",
"torchvision": "0.21.0",
"python": "3.13.0"
}
}
}
Các trường phản hồi#
| Trường (Field) | Loại | Mô tả |
|---|---|---|
images | array | Danh sách các hình ảnh đã được xử lý |
images[].shape | array | Kích thước ảnh [chiều cao, chiều rộng] |
images[].results | array | Danh sách các kết quả phát hiện |
images[].results[].class | int | Chỉ số lớp (ID số nguyên) |
images[].results[].name | string | Tên lớp |
images[].results[].confidence | float | Độ tin cậy của kết quả phát hiện (0-1) |
images[].results[].box | đối tượng | Tọa độ hộp bao |
images[].speed | đối tượng | Thời gian xử lý tính bằng mili giây |
metadata | đối tượng | Metadata yêu cầu và thông tin phiên bản |
Phản hồi đặc thù cho từng tác vụ#
Định dạng phản hồi thay đổi tùy theo tác vụ:
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}Giới hạn tốc độ (Rate Limits)#
API model chia sẻ bị giới hạn ở 20 request/phút cho mỗi API key, người gọi đã đăng nhập hoặc IP ẩn danh. Khi bị giới hạn tốc độ, API trả về 429 kèm theo header Retry-After. Xem tài liệu tham khảo giới hạn tốc độ đầy đủ cho tất cả các danh mục endpoint.
Các request được gửi trực tiếp đến một endpoint chuyên dụng không đi qua bộ giới hạn tốc độ của Platform API. Để suy luận cục bộ khối lượng lớn, hãy xem hướng dẫn chế độ Predict.
Xử lý lỗi#
Các phản hồi lỗi phổ biến:
| Mã | Thông báo | Giải pháp |
|---|---|---|
| 400 | Ảnh không hợp lệ | Kiểm tra định dạng tệp |
| 401 | Không được phép (Unauthorized) | Xác minh API key |
| 404 | Không tìm thấy mô hình | Kiểm tra ID mô hình |
| 429 | Giới hạn tốc độ (Rate limited) | Đợi và thử lại, hoặc gửi request trực tiếp đến một endpoint chuyên dụng |
| 500 | Lỗi máy chủ | Thử lại yêu cầu |
| 503 | Dịch vụ không khả dụng | Dịch vụ Predict đang khởi động hoặc không thể truy cập; hãy đợi một lát rồi thử lại |
Câu hỏi thường gặp#
Tôi có thể chạy suy luận trên video không?#
Cả hai phương thức suy luận đều chấp nhận tệp video:
- Dedicated endpoints chấp nhận trực tiếp tệp video. Các định dạng được hỗ trợ (lên đến 100 MB): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV. Mỗi khung hình được xử lý riêng biệt và kết quả được trả về theo từng khung hình. Xem dedicated endpoints để biết chi tiết.
- Suy luận chia sẻ (
/api/models/{id}/predict) sử dụng cùng một dịch vụ dự đoán và chấp nhận các định dạng video giống nhau. Tab Predict trên trình duyệt chỉ chọn hình ảnh, vì vậy hãy sử dụng API hoặc endpoint chuyên dụng cho video.
Làm cách nào để lấy ảnh đã được chú thích?#
API trả về các dự đoán dưới dạng JSON. Để trực quan hóa:
- Sử dụng các dự đoán để vẽ hộp bao cục bộ
- Sử dụng phương thức
plot()của Ultralytics:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model("image.jpg")
results[0].save("annotated.jpg")Xem tài liệu chế độ Predict để biết đầy đủ về API kết quả và các tùy chọn trực quan hóa.
Kích thước ảnh tối đa là bao nhiêu?#
- Giới hạn tab Predict: 10 MB
- Giới hạn API endpoint chuyên dụng: 100 MB
- Tự động thay đổi kích thước trong tab Predict: Hình ảnh được thay đổi kích thước theo
Image Sizeđã chọn trước khi tải lên
Ảnh lớn sẽ tự động được thay đổi kích thước trong khi vẫn giữ nguyên tỷ lệ khung hình.
Tôi có thể chạy suy luận theo lô (batch) không?#
API hiện tại xử lý một ảnh mỗi yêu cầu. Để xử lý theo lô:
- Gửi các request riêng biệt cho từng hình ảnh
- Phân phối request trên các endpoint chuyên dụng khi thích hợp
- Sử dụng suy luận cục bộ cho các batch lớn
import concurrent.futures
import requests
url = "https://predict-abc123.run.app/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
images = ["img1.jpg", "img2.jpg", "img3.jpg"]
def predict(image_path):
with open(image_path, "rb") as f:
return requests.post(url, headers=headers, files={"file": f}).json()
with concurrent.futures.ThreadPoolExecutor(max_workers=4) as executor:
results = list(executor.map(predict, images))