Inferenz
Die Ultralytics Platform bietet eine Inference-API zum Testen trainierter Modelle. Nutze den browserbasierten Predict-Tab für eine schnelle Validierung oder die REST API für den programmatischen Zugriff.

Tab Vorhersage
Jedes Modell enthält einen Predict-Tab für browserbasierte Inference:
- Navigiere zu deinem Modell
- Klicke auf den Predict-Tab
- Lade ein Bild hoch, verwende ein Beispiel oder öffne deine Webcam
- Sieh dir die Vorhersagen sofort mit Bounding-Box-Overlays an

Eingabemethoden
Das Predict-Panel unterstützt mehrere Eingabemethoden:
| Methode | Beschreibung |
|---|---|
| Bild-Upload | Per Drag-and-Drop oder Klick ein Bild hochladen |
| Beispielbilder | Klicke auf integrierte Beispiele (Dataset-Bilder oder Standardbilder) |
| Webcam-Aufnahme | Live-Kamera-Feed mit Einzelbildaufnahme |
graph LR
A[Upload Image] --> D[Auto-Inference]
B[Example Image] --> D
C[Webcam Capture] --> D
D --> E[Results + Overlays]
style D fill:#2196F3,color:#fff
style E fill:#4CAF50,color:#fffBild hochladen
Per Drag-and-Drop oder Klick hochladen:
- Unterstützte Formate: JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP, DNG, MPO
- Maximale Größe: 10MB
- Auto-Inference: Ergebnisse erscheinen automatisch nach dem Hochladen
Das Predict-Panel führt automatisch eine Inference durch, wenn du ein Bild hochlädst, ein Beispiel auswählst oder einen Webcam-Frame aufnimmst. Es ist kein Klick auf eine Schaltfläche erforderlich.
Beispielbilder
Das Predict-Panel zeigt Beispielbilder aus dem verknüpften Dataset deines Modells. Wenn kein Dataset verknüpft ist, werden Standardbeispiele verwendet:
| Bild | Inhalt |
|---|---|
bus.jpg | Straßenszene mit Fahrzeugen |
zidane.jpg | Sportszene mit Personen |
Für OBB-Modelle werden stattdessen Luftaufnahmen von Booten und Flughäfen angezeigt.
Beispielbilder werden beim Laden der Seite vorgeladen, sodass ein Klick auf ein Beispiel eine nahezu sofortige Inference ohne Wartezeit beim Download auslöst.
Webcam
Klicke auf die Webcam-Karte, um einen Live-Kamera-Feed zu starten:
- Erteile die Kameraerlaubnis, wenn du dazu aufgefordert wirst
- Klicke auf die Videovorschau, um einen Frame aufzunehmen
- Die Inference läuft automatisch auf dem aufgenommenen Frame
- Klicke erneut, um die Webcam neu zu starten
Ergebnisse anzeigen
Inference-Ergebnisse werden angezeigt:
- Bounding Boxes mit Klassenlabels als SVG-Overlays
- Konfidenz-Scores für jede Erkennung
- Klassenfarben aus der Farbpalette deines Datasets (oder der Ultralytics-Standardpalette)
- Geschwindigkeitsaufschlüsselung: Zeit für Preprocessing, Inference, Postprocessing und Netzwerk

Das Ergebnisfeld zeigt:
| Feld | Beschreibung |
|---|---|
| Erkennungsliste | Jede Erkennung mit Klassenname und Konfidenz |
| Geschwindigkeitsstatistiken | Preprocess, Inference, Postprocess, Netzwerk (ms) |
| JSON-Antwort | Roh-API-Antwort in einem Code-Block |
Inference-Parameter
Passe das Erkennungsverhalten mit Parametern im ausklappbaren Bereich Parameters an:

| Parameter | Bereich | Standard | Beschreibung |
|---|---|---|---|
| Konfidenz | 0.01 – 1.0 | 0.25 | Mindest-Konfidenzschwelle |
| IoU | 0.0 – 0.95 | 0.7 | NMS IoU-Schwelle |
| Bildgröße | 320, 640, 1280 (UI-Schalter) | 640 | Dimension der Eingabegrößenanpassung (API akzeptiert jeden Wert von 32 – 1280) |
Das Ändern eines Parameters führt automatisch zu einer erneuten Inference auf dem aktuellen Bild mit einem 500ms-Debounce. Kein erneutes Hochladen nötig.
Konfidenzschwelle
Filtere Vorhersagen nach Konfidenz:
- Höher (0.5+): Weniger, dafür sicherere Vorhersagen
- Niedriger (0.1-0.25): Mehr Vorhersagen, etwas Rauschen
- Standard (0.25): Ausgewogen für die meisten Anwendungsfälle
IoU-Schwelle
Steuere Non-Maximum Suppression:
- Höher (0.7+): Lässt mehr überlappende Boxen zu
- Niedriger (0.3-0.5): Führt nahe beieinander liegende Erkennungen aggressiver zusammen
- Standard (0.7): Ausgewogenes NMS-Verhalten für die meisten Anwendungsfälle
Deployment Predict
Jeder laufende dedizierte Endpunkt enthält einen Predict-Tab direkt auf der Deployment-Karte. Dieser nutzt den Inference-Service des Deployments anstelle des geteilten Predict-Services, sodass du deinen bereitgestellten Endpunkt direkt aus dem Browser testen kannst.
REST API
Greife programmatisch auf die Inference zu:
Authentifizierung
Füge deinen API-Schlüssel in Anfragen ein:
Authorization: Bearer YOUR_API_KEYUm Inference aus deinen eigenen Skripten, Notebooks oder Apps auszuführen, füge einen API-Schlüssel hinzu. Generiere einen unter Settings > API Keys.
Endpunkt
POST https://platform.ultralytics.com/api/models/{modelId}/predictAnfrage
import requests
url = "https://platform.ultralytics.com/api/models/MODEL_ID/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"file": open("image.jpg", "rb")}
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}
response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())
Antwort
{
"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,
"model": "model.pt",
"version": {
"ultralytics": "8.x.x",
"torch": "2.6.0",
"torchvision": "0.21.0",
"python": "3.13.0"
}
}
}
Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
images | array | Liste verarbeiteter Bilder |
images[].shape | array | Bildabmessungen [Höhe, Breite] |
images[].results | array | Liste der Erkennungen |
images[].results[].name | string | Klassenname |
images[].results[].confidence | float | Erkennungskonfidenz (0-1) |
images[].results[].box | Objekt | BBox-Koordinaten |
images[].speed | Objekt | Verarbeitungszeiten in Millisekunden |
metadata | Objekt | Anfrage-Metadaten und Versionsinformationen |
Aufgabenspezifische Antworten
Das Antwortformat variiert je nach Aufgabe:
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}Abrechnung
Shared inference (der Predict-Tab und der /api/models/{id}/predict-Endpunkt) ist bei allen Tarifen ohne zusätzliche Kosten enthalten. Es fallen keine Gebühren pro Anfrage für Shared inference an.
Für Produktions-Workloads, die einen höheren Durchsatz erfordern, stelle einen dedicated endpoint bereit.
Ratenbegrenzungen
Shared inference ist auf 20 Anfragen/Min. pro API-Key begrenzt. Bei Drosselung gibt die API 429 mit einem Retry-After-Header zurück. Siehe die vollständige rate limit reference für alle Endpunktkategorien.
Stelle einen dedicated endpoint bereit für unbegrenzte Inferenz ohne Ratenbegrenzungen, vorhersehbarem Durchsatz und konsistent niedrigen Antwortzeiten. Für lokale Inferenz siehe den Predict mode guide.
Fehlerbehandlung
Häufige Fehlerantworten:
| Code | Nachricht | Lösung |
|---|---|---|
| 400 | Ungültiges Bild | Dateiformat prüfen |
| 401 | Nicht autorisiert | API-Key verifizieren |
| 404 | Modell nicht gefunden | Modell-ID prüfen |
| 429 | Ratenbegrenzung erreicht | Warten und erneut versuchen, oder nutze einen dedicated endpoint für unbegrenzten Durchsatz |
| 500 | Serverfehler | Anfrage erneut versuchen |
FAQ
Kann ich Inferenz auf Videos ausführen?
Beide Inferenzmethoden akzeptieren Videodateien:
- Dedicated endpoints akzeptieren Videodateien direkt. Unterstützte Formate (bis zu 100 MB): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV. Jeder Frame wird einzeln verarbeitet und Ergebnisse werden pro Frame zurückgegeben. Siehe dedicated endpoints für Details.
- Shared inference (
/api/models/{id}/predict) nutzt denselben Predict-Service und akzeptiert dieselben Videoformate. Der Browser-Predict-Tab in der UI lädt jedoch nur Bilder hoch – verwende die REST API direkt oder einen dedicated endpoint für Video-Workflows. Der Shared Endpoint ist außerdem rate-limited to 20 req/min, daher sind Dedicated Endpoints die bessere Wahl für umfangreiche Video-Workloads.
Wie erhalte ich das annotierte Bild?
Die API gibt JSON-Vorhersagen zurück. Zur Visualisierung:
- Nutze die Vorhersagen, um BBoxen lokal zu zeichnen
- Nutze die Ultralytics
plot()-Methode:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model("image.jpg")
results[0].save("annotated.jpg")Siehe die Predict mode documentation für die vollständige Ergebnis-API und Visualisierungsoptionen.
Was ist die maximale Bildgröße?
- Upload-Limit: 10 MB
- Empfohlen: <5 MB für schnelle Inferenz
- Automatische Größenanpassung: Bilder werden auf den ausgewählten
Image Size-Parameter skaliert
Große Bilder werden automatisch unter Beibehaltung des Seitenverhältnisses skaliert.
Kann ich Batch-Inferenz ausführen?
Die aktuelle API verarbeitet ein Bild pro Anfrage. Für Batches:
- Sende gleichzeitige Anfragen
- Nutze einen Dedicated Endpoint für höheren Durchsatz
- Erwäge lokale Inferenz für große Batches
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))