Inferenz
Ultralytics Plattform bietet eine Inferenz-API zum Testen trainierter Modelle. Verwenden Sie die browserbasierte Predict Registerkarte für schnelle Validierung oder die REST API für programmatischen Zugriff.

Vorhersage-Registerkarte
Jedes Modell enthält ein Predict Registerkarte für browserbasierte Inferenz:
- Navigieren Sie zu Ihrem Modell
- Klicken Sie auf die Vorhersage-Registerkarte.
- Laden Sie ein Bild hoch, verwenden Sie ein Beispiel oder öffnen Sie Ihre Webcam.
- Prognosen sofort mit Begrenzungsrahmen-Overlays anzeigen

Eingabemethoden
Das Vorhersagefeld unterstützt mehrere Eingabemethoden:
| Methode | Beschreibung |
|---|---|
| Bild hochladen | Bild per Drag & Drop hochladen oder anklicken |
| Beispielbilder | Klicken Sie auf integrierte Beispiele (Datensatzbilder oder Standardwerte). |
| Webcam-Aufnahme | Live-Kameraübertragung 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:#fff
Bild hochladen
Ziehen Sie Dateien per Drag & Drop oder klicken Sie zum Hochladen:
- Unterstützte Formate: JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP, DNG, MPO
- Maximale Größe: 10 MB
- Automatische Inferenz: Ergebnisse erscheinen automatisch nach dem Hochladen
Auto-Inferenz
Das Vorhersagefeld führt automatisch eine Inferenz durch, wenn Sie ein Bild hochladen, ein Beispiel auswählen oder ein Webcam-Bild aufnehmen. Es ist kein Klick erforderlich.
Beispielbilder
Das Vorhersagefeld zeigt Beispielbilder aus dem verknüpften Datensatz Ihres Modells. Wenn kein Datensatz verknüpft ist, werden Standardbeispiele verwendet:
| Bild | Inhalt |
|---|---|
bus.jpg | Straßenszene mit Fahrzeugen |
zidane.jpg | Sportszene mit Personen |
Bei OBB-Modellen werden stattdessen Luftbilder von Booten und Flughäfen angezeigt.
Vorinstallierte Bilder
Beispielbilder werden beim Laden der Seite vorab geladen, sodass ein Klick auf ein Beispiel eine nahezu sofortige Inferenz ohne Wartezeit beim Herunterladen auslöst.
Webcam
Klicken Sie auf die Webcam-Karte, um einen Live-Kamera-Feed zu starten:
- Erteilen Sie die Kamera-Berechtigung, wenn Sie dazu aufgefordert werden.
- Klicken Sie auf die Videovorschau, um einen Frame aufzunehmen.
- Die Inferenz läuft automatisch auf dem erfassten Frame.
- Klicken Sie erneut, um die Webcam neu zu starten.
Ergebnisse anzeigen
Anzeige der Inferenz-Ergebnisse:
- Bounding Boxes mit Klassenlabels als SVG-Overlays
- Konfidenzwerte für jede detection
- Klassenfarben aus der Farbpalette Ihres Datensatzes (oder der Ultralytics Standardpalette)
- Geschwindigkeitsaufschlüsselung: Vorverarbeitung, Inferenz, Nachverarbeitung und Netzwerkzeit

Das Ergebnisfenster zeigt:
| Feld | Beschreibung |
|---|---|
| Detektionsliste | Jede Erkennung mit Klassennamen und Konfidenz |
| Geschwindigkeitsstatistiken | Vorverarbeitung, Inferenz, Nachbearbeitung, Netzwerk (ms) |
| JSON-Antwort | Roh-API-Antwort in einem Codeblock |
Inferenzparameter
Passen Sie das Detektionsverhalten mit Parametern im ausklappbaren Parameter-Abschnitt an:

| Parameter | Bereich | Standard | Beschreibung |
|---|---|---|---|
| Konfidenz | 0.01-1.0 | 0.25 | Minimaler Konfidenzschwellenwert |
| IoU | 0.0-0.95 | 0.70 | NMS IoU-Schwellenwert |
| Bildgröße | 320, 640, 1280 | 640 | Eingabe-Größenänderung (Schaltfläche umschalten) |
Automatischer Neustart
Das Ändern eines beliebigen Parameters führt automatisch eine erneute Inferenz auf dem aktuellen Bild mit einer Verzögerung von 500 ms aus. Ein erneutes Hochladen ist nicht erforderlich.
Konfidenzschwelle
Vorhersagen nach Konfidenz filtern:
- Höher (0.5+): Weniger, sicherere Vorhersagen
- Niedriger (0.1-0.25): Mehr Vorhersagen, etwas Rauschen
- Standard (0.25): Ausgewogen für die meisten Anwendungsfälle
IoU-Schwelle
Non-Maximum Suppression steuern:
- Höher (0,7+): Mehr überlappende Felder zulassen
- Niedriger (0,3–0,5): Ähnliche Erkennungen aggressiver zusammenführen
- Standard (0,70): Ausgewogenes NMS für die meisten Anwendungsfälle
Bereitstellungs-Vorhersage
Jeder Lauf dedizierter Endpunkt umfasst ein Predict Registerkarte direkt auf der Bereitstellungskarte. Dabei wird der eigene Inferenzdienst der Bereitstellung anstelle des gemeinsamen Vorhersagedienstes verwendet, sodass Sie Ihren bereitgestellten Endpunkt über den Browser testen können.
REST API
Programmatischer Zugriff auf die Inferenz:
Authentifizierung
Ihren API-Schlüssel in Anfragen einfügen:
Authorization: Bearer YOUR_API_KEY
API-Schlüssel erforderlich
Um Inferenz aus Ihren eigenen Skripten, Notebooks oder Apps auszuführen, fügen Sie einen API-Schlüssel hinzu. Generieren Sie einen in Settings (Abschnitt API-Schlüssel auf der Registerkarte Profil).
Endpunkt
POST https://platform.ultralytics.com/api/models/{modelId}/predict
Anfrage
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())
curl -X POST \
"https://platform.ultralytics.com/api/models/MODEL_ID/predict" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@image.jpg" \
-F "conf=0.25" \
-F "iou=0.7" \
-F "imgsz=640"
const formData = new FormData();
formData.append("file", fileInput.files[0]);
formData.append("conf", "0.25");
formData.append("iou", "0.7");
formData.append("imgsz", "640");
const response = await fetch(
"https://platform.ultralytics.com/api/models/MODEL_ID/predict",
{
method: "POST",
headers: { Authorization: "Bearer YOUR_API_KEY" },
body: formData,
}
);
const result = await response.json();
console.log(result);

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 der verarbeiteten Bilder |
images[].shape | Array | Bildabmessungen [Höhe, Breite] |
images[].results | Array | Liste der detections |
images[].results[].name | string | Klassenname |
images[].results[].confidence | float | detections-Konfidenz (0-1) |
images[].results[].box | Objekt | Bounding-Box-Koordinaten |
images[].speed | Objekt | Verarbeitungszeiten in Millisekunden |
metadata | Objekt | Metadaten und Versionsinformationen anfordern |
Aufgabenspezifische Antworten
Antwortformat variiert je nach Aufgabe:
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
"segments": [[100, 50], [150, 60], ...]
}
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
"keypoints": [
{"x": 200, "y": 75, "conf": 0.95},
...
]
}
{
"results": [
{"class": 0, "name": "cat", "confidence": 0.95},
{"class": 1, "name": "dog", "confidence": 0.03}
]
}
{
"class": 0,
"name": "ship",
"confidence": 0.89,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
"obb": {"x1": 105, "y1": 48, "x2": 295, "y2": 55, "x3": 290, "y3": 395, "x4": 110, "y4": 402}
}
Abrechnung
Gemeinsame Schlussfolgerung (die Registerkarte „Vorhersage“ und /api/models/{id}/predict Endpunkt) ist ohne Aufpreis enthalten bei allen Tarifen. Für die gemeinsame Inferenz fallen keine Gebühren pro Anfrage an.
Für Produktions-Workloads, die einen höheren Durchsatz erfordern, sollten Sie einen dedizierten Endpunkt bereitstellen.
Ratenbegrenzungen
Die gemeinsame Inferenz ist auf eine Rate begrenzt von 20 Anfragen/Min. pro API-Schlüssel. Bei Drosselung gibt die API zurück 429 mit einem Retry-After Kopfzeile. Siehe die vollständige Referenz zur Ratenbegrenzung für alle Endpunktkategorien.
Benötigen Sie mehr Durchsatz?
Stellen Sie einen dedizierten Endpunkt für unbegrenzte Inferenz bereit, ohne Ratenbegrenzungen, mit vorhersehbarem Durchsatz und konsistenten Antworten mit geringer Latenz. Für lokale Inferenz siehe den Leitfaden zum Predict-Modus.
Fehlerbehandlung
Häufige Fehlerantworten:
| Code | Nachricht | Lösung |
|---|---|---|
| 400 | Ungültiges Bild | Dateiformat prüfen |
| 401 | Nicht autorisiert | API-Schlüssel überprüfen |
| 404 | Modell nicht gefunden | Modell-ID überprüfen |
| 429 | Ratenbegrenzung erreicht | Warten und erneut versuchen oder einen dedizierten Endpunkt für unbegrenzten Durchsatz verwenden |
| 500 | Serverfehler | Anfrage wiederholen |
FAQ
Kann ich Inferenz auf Videos durchführen?
Das hängt von der Inferenzmethode ab:
- Dedizierte Endpunkte 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 die Ergebnisse werden pro Frame zurückgegeben. Details finden Sie unter dedizierte Endpunkte.
- Gemeinsame Schlussfolgerung (
/api/models/{id}/predict) akzeptiert nur Bilder. Für Videos extrahieren Sie Frames lokal, senden jeden Frame als separate Anfrage und aggregieren die Ergebnisse.
Wie erhalte ich das annotierte Bild?
Die API gibt JSON-Vorhersagen zurück. Zur Visualisierung:
- Vorhersagen nutzen, um Boxen lokal zu zeichnen
- Ultralytics verwenden
plot()Methode auf:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model("image.jpg")
results[0].save("annotated.jpg")
Die vollständigen Ergebnisse der API und Visualisierungsoptionen finden Sie in der Dokumentation zum Vorhersagemodus.
Was ist die maximale Bildgröße?
- Upload-Limit: 10MB
- Recommended: <5MB for fast inference
- Automatische Größenanpassung: Bilder werden auf die ausgewählte Größe skaliert
Image SizeParameter
Große Bilder werden automatisch skaliert, wobei das Seitenverhältnis erhalten bleibt.
Kann ich Batch-Inferenz durchführen?
Die aktuelle API verarbeitet ein Bild pro Anfrage. Für Batch:
- Gleichzeitige Anfragen senden
- Einen dedizierten Endpunkt für höheren Durchsatz verwenden
- Für große Batches lokale Inferenz in Betracht ziehen
Batch-Inferenz mit Python
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))