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