Zum Inhalt springen

Ultralytics HUB-Inferenz-API

Nachdem Sie ein Modell trainiert haben, können Sie die Shared Inference API kostenlos nutzen. Wenn Sie ein Pro-Benutzer sind, können Sie auf die Dedicated Inference API zugreifen. Die Ultralytics HUB Inference API ermöglicht es Ihnen, Inferenzen über unsere REST-API auszuführen, ohne dass Sie die Ultralytics YOLO Umgebung lokal installieren und einrichten müssen.

Ultralytics HUB-Screenshot der Registerkarte "Deploy" auf der Seite "Model" mit einem Pfeil, der auf die Karte "Dedicated Inference API" und einen auf die Karte "Shared Inference API" zeigt


Beobachten: Ultralytics HUB Inference API Komplettlösung

Dedizierte Inferenz-API

Aufgrund der hohen Nachfrage und des großen Interesses freuen wir uns, die Ultralytics HUB Dedicated Inference API vorstellen zu können, die unseren Pro-Benutzern eine Ein-Klick-Bereitstellung in einer dedizierten Umgebung bietet!

Hinweis

Wir freuen uns, diese Funktion während der öffentlichen Beta-Phase als Teil des Pro-Plans KOSTENLOS anbieten zu können, wobei in Zukunft auch kostenpflichtige Stufen möglich sind.

  • Globale Abdeckung: Der Einsatz in 38 Regionen weltweit gewährleistet einen Zugang mit niedriger Latenz von jedem Standort aus. Siehe die vollständige Liste der Google Cloud-Regionen.
  • Google Cloud Run-unterstützt: Unterstützt durch Google Cloud Run, das eine unbegrenzt skalierbare und äußerst zuverlässige Infrastruktur bietet.
  • Hohe Geschwindigkeit: Eine Latenzzeit von unter 100 ms ist für YOLOv8n bei einer Auflösung von 640 aus nahegelegenen Regionen möglich ( Ultralytics ).
  • Verbesserte Sicherheit: Bietet robuste Sicherheitsfunktionen zum Schutz Ihrer Daten und zur Gewährleistung der Einhaltung von Branchenstandards. Erfahren Sie mehr über Google Cloud-Sicherheit.

Um die Ultralytics HUB Dedicated Inference API zu verwenden, klicken Sie auf die Schaltfläche Start Endpoint. Verwenden Sie dann die eindeutige Endpunkt-URL wie in den nachstehenden Anleitungen beschrieben.

Ultralytics HUB-Screenshot der Registerkarte "Deploy" auf der Seite "Model" mit einem Pfeil, der auf die Schaltfläche "Start Endpoint" in der Karte "Dedicated Inference API" zeigt

Tipp

Wählen Sie die Region mit der niedrigsten Latenz, um die beste Leistung zu erzielen, wie in der Dokumentation beschrieben.

Um den dedizierten Endpunkt abzuschalten, klicken Sie auf die Schaltfläche Endpunkt anhalten.

Ultralytics HUB-Screenshot der Registerkarte "Deploy" auf der Seite "Model" mit einem Pfeil, der auf die Schaltfläche "Stop Endpoint" in der Karte "Dedicated Inference API" zeigt

Gemeinsame Inferenz-API

Um die Ultralytics HUB Shared Inference API zu verwenden, folgen Sie bitte den nachstehenden Anleitungen.

Für kostenlose Nutzer gelten die folgenden Nutzungsbeschränkungen:

  • 100 Anrufe/Stunde
  • 1000 Anrufe/Monat

Für Pro-Benutzer gelten die folgenden Nutzungsbeschränkungen:

  • 1000 Anrufe/Stunde
  • 10000 Anrufe/Monat

Python

Um auf die Ultralytics HUB Inference API mit Python zuzugreifen, verwenden Sie den folgenden Code:

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())

Hinweis

Ersetzen Sie MODEL_ID mit der gewünschten Modell-ID, API_KEY mit Ihrem aktuellen API-Schlüssel, und path/to/image.jpg mit dem Pfad zu dem Bild, das Sie für die Inferenz verwenden möchten.

Wenn Sie unser Dedizierte Inferenz-APIersetzen Sie die url auch.

cURL

Um auf die Ultralytics HUB Inference API mit cURL zuzugreifen, verwenden Sie den folgenden Code:

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"

Hinweis

Ersetzen Sie MODEL_ID mit der gewünschten Modell-ID, API_KEY mit Ihrem aktuellen API-Schlüssel, und path/to/image.jpg mit dem Pfad zu dem Bild, das Sie für die Inferenz verwenden möchten.

Wenn Sie unser Dedizierte Inferenz-APIersetzen Sie die url auch.

Argumente

Eine vollständige Liste der verfügbaren Inferenzargumente finden Sie in der nachstehenden Tabelle.

Argument Standard Typ Beschreibung
file file Bild- oder Videodatei, die für die Inferenz verwendet werden soll.
imgsz 640 int Größe des Eingabebildes, gültiger Bereich ist 32 - 1280 Pixel.
conf 0.25 float Konfidenzschwelle für Vorhersagen, gültiger Bereich 0.01 - 1.0.
iou 0.45 float Kreuzung über Union (IoU) Schwellenwert, gültiger Bereich 0.0 - 0.95.

Antwort

Die Ultralytics HUB Inference API gibt eine JSON-Antwort zurück.

Klassifizierung

Klassifizierungsmodell

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": ...
}

Erkennung

Erkennungsmodell

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

OBB-Modell

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": ...
}

Segmentierung

Segmentierungsmodell

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": ...
}

Pose

Pose Modell

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": ...
}
📅 Erstellt vor 10 Monaten ✏️ Aktualisiert vor 2 Monaten

Kommentare