Ultralytics HUB Inference API
Nachdem du ein Modell trainiert hast, kannst du die Shared Inference API kostenlos nutzen. Als Pro-Nutzer kannst du auf die Dedicated Inference API zugreifen. Mit der Ultralytics HUB Inference API kannst du Inferenzen über unsere REST-API durchführen, ohne dass du die Ultralytics YOLO Umgebung lokal installieren und einrichten musst.
Pass auf: 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 vorzustellen, die unseren Pro-Benutzern eine Ein-Klick-Bereitstellung in einer speziellen Umgebung ermöglicht!
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 Deckung: Wir sind in 38 Regionen weltweit vertreten und gewährleisten einen Zugang mit niedriger Latenz von jedem Ort aus. Siehe die vollständige Liste der Google Cloud-Regionen.
- Google Cloud Run-Backed: Unterstützt von Google Cloud Run, das eine unbegrenzt skalierbare und äußerst zuverlässige Infrastruktur bietet.
- Hohe Geschwindigkeit: Eine Latenzzeit von weniger als 100 ms ist für YOLOv8n bei einer Auflösung von 640 aus nahegelegenen Regionen möglich, basierend auf Ultralytics Tests.
- Verbesserte Sicherheit: Bietet robuste Sicherheitsfunktionen, um deine Daten zu schützen und die Einhaltung von Branchenstandards zu gewährleisten. Erfahre mehr über Google Cloud-Sicherheit.
Um die Ultralytics HUB Dedicated Inference API zu nutzen, klicke auf die Schaltfläche Endpunkt starten. Verwende dann die eindeutige Endpunkt-URL wie in den folgenden Anleitungen beschrieben.
Tipp
Wähle die Region mit der niedrigsten Latenz, um die beste Leistung zu erzielen, wie in der Dokumentation beschrieben.
Um den dedizierten Endpunkt abzuschalten, klicke auf die Schaltfläche Endpunkt stoppen.
Gemeinsame Inferenz-API
Um die Ultralytics HUB Shared Inference API zu nutzen, befolge die unten stehenden 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 mit Python auf die Ultralytics HUB Inference API zuzugreifen, verwende 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
Ersetze MODEL_ID
mit der gewünschten Modell-ID, API_KEY
mit deinem aktuellen API-Schlüssel, und path/to/image.jpg
mit dem Pfad zu dem Bild, für das du die Inferenz durchführen möchtest.
Wenn du unser Dedizierte Inferenz-API, ersetzen Sie die url
auch.
cURL
Um mit cURL auf die Ultralytics HUB Inference API zuzugreifen, verwende 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
Ersetze MODEL_ID
mit der gewünschten Modell-ID, API_KEY
mit deinem aktuellen API-Schlüssel, und path/to/image.jpg
mit dem Pfad zu dem Bild, für das du die Inferenz durchführen möchtest.
Wenn du unser Dedizierte Inferenz-API, ersetzen Sie die url
auch.
Argumente
In der folgenden Tabelle findest du eine vollständige Liste der verfügbaren Schlussfolgerungsargumente.
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 bildpunkte. |
conf |
0.25 |
float |
Konfidenzschwelle für Vorhersagen, gültiger Bereich 0.01 - 1.0 . |
iou |
0.45 |
float |
Schnittpunkt über Union (IoU) threshold, valid range 0.0 - 0.95 . |
Antwort
Die Ultralytics HUB Inference API gibt eine JSON-Antwort zurück.
Klassifizierung
Klassifizierungsmodell
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())
Erkennung
Erkennungsmodell
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())
OBB
OBB-Modell
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
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
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": ...
}