Inference API لـ Ultralytics HUB
بعد تدريب النموذج، يمكنك استخدام Shared Inference API مجانًا. إذا كنت مستخدمًا Pro، فيمكنك الوصول إلى Dedicated Inference API. يتيح لك Ultralytics HUB Inference API تشغيل الاستدلال من خلال REST API الخاص بنا دون الحاجة إلى تثبيت وإعداد بيئة Ultralytics YOLO محليًا.

شاهد: شرح تفصيلي لـ Inference API الخاص بـ Ultralytics HUB
Inference API مخصصة
استجابة للطلب المرتفع والاهتمام الواسع النطاق، يسعدنا الكشف عن Ultralytics HUB Dedicated Inference API، الذي يوفر نشرًا بنقرة واحدة في بيئة مخصصة لمستخدمي Pro!
ملاحظة
يسعدنا أن نقدم هذه الميزة مجانًا خلال النسخة التجريبية العامة كجزء من الخطة الاحترافية، مع إمكانية وجود مستويات مدفوعة في المستقبل.
- تغطية عالمية: يتم النشر عبر 38 منطقة حول العالم، مما يضمن الوصول بزمن انتقال منخفض من أي مكان. اطلع على القائمة الكاملة لمناطق Google Cloud.
- مدعوم من Google Cloud Run: مدعوم من Google Cloud Run، مما يوفر بنية تحتية قابلة للتطوير بلا حدود وموثوقة للغاية.
- سرعة عالية: زمن انتقال أقل من 100 مللي ثانية ممكن لاستدلال YOLOv8n بدقة 640 من المناطق القريبة بناءً على اختبار Ultralytics.
- أمان مُحسَّن: يوفر ميزات أمان قوية لحماية بياناتك وضمان الامتثال لمعايير الصناعة. تعرف على المزيد حول أمان Google Cloud.
لاستخدام Ultralytics HUB Dedicated Inference API، انقر فوق زر بدء نقطة النهاية. بعد ذلك، استخدم عنوان URL الفريد لنقطة النهاية كما هو موضح في الأدلة أدناه.

نصيحة
اختر المنطقة ذات الأقل زمن انتقال للحصول على أفضل أداء كما هو موضح في الوثائق.
لإيقاف نقطة النهاية المخصصة، انقر فوق زر إيقاف نقطة النهاية.

Inference API مشتركة
لاستخدام Ultralytics HUB Shared Inference API، اتبع الأدلة أدناه.
تحتوي Inference API Ultralytics HUB Shared Inference API على حدود الاستخدام التالية:
- 100 مكالمة / ساعة
Python
للوصول إلى Ultralytics HUB Inference API باستخدام Python، استخدم الكود التالي:
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())
ملاحظة
استبدل MODEL_ID مع مُعرّف النموذج المطلوب، API_KEY مع مفتاح API الفعلي الخاص بك، و path/to/image.jpg مع مسار الصورة التي تريد تشغيل الاستدلال عليها.
إذا كنت تستخدم Inference API مخصصة، استبدل الـ url أيضًا.
cURL
للوصول إلى Ultralytics HUB Inference API باستخدام cURL، استخدم الكود التالي:
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"
ملاحظة
استبدل MODEL_ID مع مُعرّف النموذج المطلوب، API_KEY مع مفتاح API الفعلي الخاص بك، و path/to/image.jpg مع مسار الصورة التي تريد تشغيل الاستدلال عليها.
إذا كنت تستخدم Inference API مخصصة، استبدل الـ url أيضًا.
الوسائط
راجع الجدول أدناه للحصول على قائمة كاملة بحجج الاستدلال المتاحة.
| الوسيطة | افتراضي | النوع | الوصف |
|---|---|---|---|
file | file | ملف صورة أو فيديو لاستخدامه في الاستدلال. | |
imgsz | 640 | int | حجم الصورة المدخلة، النطاق الصالح هو 32 - 1280 بكسل. |
conf | 0.25 | float | عتبة الثقة للتنبؤات، نطاق صالح 0.01 - 1.0. |
iou | 0.45 | float | التقاطع على الاتحاد عتبة (IoU)، نطاق صالح 0.0 - 0.95. |
استجابة
تُرجع Inference API Ultralytics HUB Inference API استجابة JSON.
التصنيف
نموذج التصنيف
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": ...
}
اكتشاف
نموذج الكشف
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
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": ...
}
التجزئة
نموذج التقسيم
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": ...
}
الوضع
نموذج الوضعية
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": ...
}