Bỏ qua nội dung

Ultralytics API suy luận HUB

Sau khi bạn đào tạo một mô hình , bạn có thể sử dụng Shared Inference API miễn phí. Nếu bạn là người dùng Pro , bạn có thể truy cập Dedicated Inference API . Ultralytics HUB Inference API cho phép bạn chạy suy luận thông qua REST API của chúng tôi mà không cần phải cài đặt và thiết lập Ultralytics YOLO môi trường tại địa phương.

Ultralytics Ảnh chụp màn hình HUB của tab Triển khai bên trong trang Mô hình với một mũi tên trỏ đến thẻ API suy luận chuyên dụng và một mũi tên trỏ đến thẻ API suy luận được chia sẻ


Đồng hồ: Ultralytics Hướng dẫn sử dụng API suy luận HUB

API suy luận chuyên dụng

Để đáp ứng nhu cầu cao và sự quan tâm rộng rãi, chúng tôi rất vui mừng được giới thiệu API suy luận chuyên dụng Ultralytics HUB , cung cấp khả năng triển khai chỉ bằng một cú nhấp chuột trong môi trường chuyên dụng cho người dùng Pro của chúng tôi!

Ghi chú

Chúng tôi rất vui mừng khi cung cấp tính năng này MIỄN PHÍ trong phiên bản beta công khai như một phần của Gói Pro , có thể cung cấp gói trả phí trong tương lai.

  • Phạm vi phủ sóng toàn cầu: Triển khai trên 38 khu vực trên toàn thế giới, đảm bảo truy cập độ trễ thấp từ mọi vị trí. Xem danh sách đầy đủ các khu vực của Google Cloud .
  • Google Cloud Run-Backed: Được hỗ trợ bởi Google Cloud Run cung cấp cơ sở hạ tầng có khả năng mở rộng vô hạn và độ tin cậy cao.
  • Tốc độ cao: Độ trễ dưới 100ms có thể đạt được YOLOv8n suy luận ở độ phân giải 640 từ các vùng lân cận dựa trên Ultralytics đang thử nghiệm.
  • Bảo mật nâng cao: Cung cấp các tính năng bảo mật mạnh mẽ để bảo vệ dữ liệu của bạn và đảm bảo tuân thủ các tiêu chuẩn của ngành. Tìm hiểu thêm về bảo mật Google Cloud .

Để sử dụng Ultralytics HUB Dedicated Inference API, hãy nhấp vào nút Start Endpoint . Tiếp theo, sử dụng URL điểm cuối duy nhất như mô tả trong hướng dẫn bên dưới.

Ultralytics Ảnh chụp màn hình HUB của tab Triển khai bên trong trang Mô hình với mũi tên trỏ đến nút Bắt đầu Điểm cuối trong thẻ API suy luận chuyên dụng

Mẹo

Chọn vùng có độ trễ thấp nhất để có hiệu suất tốt nhất như mô tả trong tài liệu .

Để tắt điểm cuối chuyên dụng, hãy nhấp vào nút Dừng điểm cuối .

Ultralytics Ảnh chụp màn hình HUB của tab Triển khai bên trong trang Mô hình với mũi tên trỏ đến nút Dừng điểm cuối trong thẻ API suy luận chuyên dụng

API suy luận được chia sẻ

Để sử dụng API chia sẻ suy luận Ultralytics HUB , hãy làm theo hướng dẫn bên dưới.

Người dùng miễn phí có những giới hạn sử dụng sau:

  • 100 cuộc gọi/giờ
  • 1000 cuộc gọi/tháng

Người dùng Pro có những giới hạn sử dụng sau:

  • 1000 cuộc gọi/giờ
  • 10000 cuộc gọi/tháng

Python

Để truy cập API suy luận Ultralytics HUB bằng cách sử dụng Python , sử dụng mã sau:

import requests

# API URL
url = "https://predict.ultralytics.com"

# Headers, use actual API_KEY
headers = {"x-api-key": "API_KEY"}

# Inference arguments (use actual MODEL_ID)
data = {"model": "https://hub.ultralytics.com/models/MODEL_ID", "imgsz": 640, "conf": 0.25, "iou": 0.45}

# Load image and send request
with open("path/to/image.jpg", "rb") as image_file:
    files = {"file": image_file}
    response = requests.post(url, headers=headers, files=files, data=data)

print(response.json())

Ghi chú

Thay thế MODEL_ID với ID mô hình mong muốn, API_KEY với khóa API thực tế của bạn và path/to/image.jpg với đường dẫn đến hình ảnh mà bạn muốn chạy suy luận.

Nếu bạn đang sử dụng của chúng tôi API suy luận chuyên dụng, thay thế url cũng như vậy.

cURL

Để truy cập Ultralytics HUB Inference API bằng cURL, hãy sử dụng mã sau:

curl -X POST "https://predict.ultralytics.com" \
  -H "x-api-key: API_KEY" \
  -F "model=https://hub.ultralytics.com/models/MODEL_ID" \
    -F "file=@/path/to/image.jpg" \
    -F "imgsz=640" \
    -F "conf=0.25" \
    -F "iou=0.45"

Ghi chú

Thay thế MODEL_ID với ID mô hình mong muốn, API_KEY với khóa API thực tế của bạn và path/to/image.jpg với đường dẫn đến hình ảnh mà bạn muốn chạy suy luận.

Nếu bạn đang sử dụng của chúng tôi API suy luận chuyên dụng, thay thế url cũng như vậy.

Lập luận

Xem bảng bên dưới để biết danh sách đầy đủ các đối số suy luận có sẵn.

Lý lẽ Mặc định Kiểu Sự miêu tả
file file Tệp hình ảnh hoặc video được sử dụng để suy luận.
imgsz 640 int Kích thước của hình ảnh đầu vào, phạm vi hợp lệ là 32 - 1280 pixel.
conf 0.25 float Ngưỡng tin cậy cho dự đoán, phạm vi hợp lệ 0.01 - 1.0.
iou 0.45 float Giao lộ qua Union (IoU) ngưỡng, phạm vi hợp lệ 0.0 - 0.95.

Phản ứng

API suy luận Ultralytics HUB trả về phản hồi JSON.

Phân loại

Mô hình phân loại

from ultralytics import YOLO

# Load model
model = YOLO("yolov8n-cls.pt")

# Run inference
results = model("image.jpg")

# Print image.jpg results in JSON format
print(results[0].to_json())
curl -X POST "https://predict.ultralytics.com" \
    -H "x-api-key: API_KEY" \
    -F "model=https://hub.ultralytics.com/models/MODEL_ID" \
    -F "file=@/path/to/image.jpg" \
    -F "imgsz=640" \
    -F "conf=0.25" \
    -F "iou=0.45"
import requests

# API URL
url = "https://predict.ultralytics.com"

# Headers, use actual API_KEY
headers = {"x-api-key": "API_KEY"}

# Inference arguments (use actual MODEL_ID)
data = {"model": "https://hub.ultralytics.com/models/MODEL_ID", "imgsz": 640, "conf": 0.25, "iou": 0.45}

# Load image and send request
with open("path/to/image.jpg", "rb") as image_file:
    files = {"file": image_file}
    response = requests.post(url, headers=headers, files=files, data=data)

print(response.json())
{
  "images": [
    {
      "results": [
        {
          "class": 0,
          "name": "person",
          "confidence": 0.92
        }
      ],
      "shape": [
        750,
        600
      ],
      "speed": {
        "inference": 200.8,
        "postprocess": 0.8,
        "preprocess": 2.8
      }
    }
  ],
  "metadata": ...
}

Phát hiện

Mô hình phát hiện

from ultralytics import YOLO

# Load model
model = YOLO("yolov8n.pt")

# Run inference
results = model("image.jpg")

# Print image.jpg results in JSON format
print(results[0].to_json())
curl -X POST "https://predict.ultralytics.com" \
    -H "x-api-key: API_KEY" \
    -F "model=https://hub.ultralytics.com/models/MODEL_ID" \
    -F "file=@/path/to/image.jpg" \
    -F "imgsz=640" \
    -F "conf=0.25" \
    -F "iou=0.45"
import requests

# API URL
url = "https://predict.ultralytics.com"

# Headers, use actual API_KEY
headers = {"x-api-key": "API_KEY"}

# Inference arguments (use actual MODEL_ID)
data = {"model": "https://hub.ultralytics.com/models/MODEL_ID", "imgsz": 640, "conf": 0.25, "iou": 0.45}

# Load image and send request
with open("path/to/image.jpg", "rb") as image_file:
    files = {"file": image_file}
    response = requests.post(url, headers=headers, files=files, data=data)

print(response.json())
{
  "images": [
    {
      "results": [
        {
          "class": 0,
          "name": "person",
          "confidence": 0.92,
          "box": {
            "x1": 118,
            "x2": 416,
            "y1": 112,
            "y2": 660
          }
        }
      ],
      "shape": [
        750,
        600
      ],
      "speed": {
        "inference": 200.8,
        "postprocess": 0.8,
        "preprocess": 2.8
      }
    }
  ],
  "metadata": ...
}

OBB

Mô hình OBB

from ultralytics import YOLO

# Load model
model = YOLO("yolov8n-obb.pt")

# Run inference
results = model("image.jpg")

# Print image.jpg results in JSON format
print(results[0].tojson())
curl -X POST "https://predict.ultralytics.com" \
    -H "x-api-key: API_KEY" \
    -F "model=https://hub.ultralytics.com/models/MODEL_ID" \
    -F "file=@/path/to/image.jpg" \
    -F "imgsz=640" \
    -F "conf=0.25" \
    -F "iou=0.45"
import requests

# API URL
url = "https://predict.ultralytics.com"

# Headers, use actual API_KEY
headers = {"x-api-key": "API_KEY"}

# Inference arguments (use actual MODEL_ID)
data = {"model": "https://hub.ultralytics.com/models/MODEL_ID", "imgsz": 640, "conf": 0.25, "iou": 0.45}

# Load image and send request
with open("path/to/image.jpg", "rb") as image_file:
    files = {"file": image_file}
    response = requests.post(url, headers=headers, files=files, data=data)

print(response.json())
{
  "images": [
    {
      "results": [
        {
          "class": 0,
          "name": "person",
          "confidence": 0.92,
          "box": {
            "x1": 374.85565,
            "x2": 392.31824,
            "x3": 412.81805,
            "x4": 395.35547,
            "y1": 264.40704,
            "y2": 267.45728,
            "y3": 150.0966,
            "y4": 147.04634
          }
        }
      ],
      "shape": [
        750,
        600
      ],
      "speed": {
        "inference": 200.8,
        "postprocess": 0.8,
        "preprocess": 2.8
      }
    }
  ],
  "metadata": ...
}

Phân đoạn

Mô hình phân đoạn

from ultralytics import YOLO

# Load model
model = YOLO("yolov8n-seg.pt")

# Run inference
results = model("image.jpg")

# Print image.jpg results in JSON format
print(results[0].tojson())
curl -X POST "https://predict.ultralytics.com" \
    -H "x-api-key: API_KEY" \
    -F "model=https://hub.ultralytics.com/models/MODEL_ID" \
    -F "file=@/path/to/image.jpg" \
    -F "imgsz=640" \
    -F "conf=0.25" \
    -F "iou=0.45"
import requests

# API URL
url = "https://predict.ultralytics.com"

# Headers, use actual API_KEY
headers = {"x-api-key": "API_KEY"}

# Inference arguments (use actual MODEL_ID)
data = {"model": "https://hub.ultralytics.com/models/MODEL_ID", "imgsz": 640, "conf": 0.25, "iou": 0.45}

# Load image and send request
with open("path/to/image.jpg", "rb") as image_file:
    files = {"file": image_file}
    response = requests.post(url, headers=headers, files=files, data=data)

print(response.json())
{
  "images": [
    {
      "results": [
        {
          "class": 0,
          "name": "person",
          "confidence": 0.92,
          "box": {
            "x1": 118,
            "x2": 416,
            "y1": 112,
            "y2": 660
          },
          "segments": {
            "x": [
              266.015625,
              266.015625,
              258.984375,
              ...
            ],
            "y": [
              110.15625,
              113.67188262939453,
              120.70311737060547,
              ...
            ]
          }
        }
      ],
      "shape": [
        750,
        600
      ],
      "speed": {
        "inference": 200.8,
        "postprocess": 0.8,
        "preprocess": 2.8
      }
    }
  ],
  "metadata": ...
}

Tư thế

Người mẫu tạo dáng

from ultralytics import YOLO

# Load model
model = YOLO("yolov8n-pose.pt")

# Run inference
results = model("image.jpg")

# Print image.jpg results in JSON format
print(results[0].tojson())
curl -X POST "https://predict.ultralytics.com" \
    -H "x-api-key: API_KEY" \
    -F "model=https://hub.ultralytics.com/models/MODEL_ID" \
    -F "file=@/path/to/image.jpg" \
    -F "imgsz=640" \
    -F "conf=0.25" \
    -F "iou=0.45"
import requests

# API URL
url = "https://predict.ultralytics.com"

# Headers, use actual API_KEY
headers = {"x-api-key": "API_KEY"}

# Inference arguments (use actual MODEL_ID)
data = {"model": "https://hub.ultralytics.com/models/MODEL_ID", "imgsz": 640, "conf": 0.25, "iou": 0.45}

# Load image and send request
with open("path/to/image.jpg", "rb") as image_file:
    files = {"file": image_file}
    response = requests.post(url, headers=headers, files=files, data=data)

print(response.json())
{
  "images": [
    {
      "results": [
        {
          "class": 0,
          "name": "person",
          "confidence": 0.92,
          "box": {
            "x1": 118,
            "x2": 416,
            "y1": 112,
            "y2": 660
          },
          "keypoints": {
            "visible": [
              0.9909399747848511,
              0.8162999749183655,
              0.9872099757194519,
              ...
            ],
            "x": [
              316.3871765136719,
              315.9374694824219,
              304.878173828125,
              ...
            ],
            "y": [
              156.4207763671875,
              148.05775451660156,
              144.93240356445312,
              ...
            ]
          }
        }
      ],
      "shape": [
        750,
        600
      ],
      "speed": {
        "inference": 200.8,
        "postprocess": 0.8,
        "preprocess": 2.8
      }
    }
  ],
  "metadata": ...
}
📅 Được tạo cách đây 10 tháng ✏️ Đã cập nhật cách đây 2 tháng

Bình luận