Ultralytics واجهة برمجة تطبيقات HUB الاستدلالية
بعد تدريب نموذج، يمكنك استخدام واجهة برمجة تطبيقات الاستدلال المشتركة مجاناً. إذا كنت مستخدمًا محترفًا، يمكنك الوصول إلى واجهة برمجة تطبيقات الاستدلال المخصصة. تسمح لك واجهة برمجة تطبيقات الاستدلال Ultralytics HUB Inference API بتشغيل الاستدلال من خلال واجهة برمجة تطبيقات REST الخاصة بنا دون الحاجة إلى تثبيت وإعداد بيئة Ultralytics YOLO محليًا.
شاهد: Ultralytics شرح تفصيلي لواجهة برمجة تطبيقات HUB Inference API
واجهة برمجة التطبيقات الاستدلالية المخصصة
واستجابةً للطلب الكبير والاهتمام الواسع النطاق، يسعدنا الكشف عن واجهة برمجة التطبيقات الاستدلالية المخصصة Ultralytics HUB، التي توفر النشر بنقرة واحدة في بيئة مخصصة لمستخدمي Pro لدينا!
ملاحظة
نحن متحمسون لتقديم هذه الميزة مجانًا خلال الإصدار التجريبي العام كجزء من الخطة الاحترافية، مع إمكانية تقديم مستويات مدفوعة في المستقبل.
- تغطية عالمية: منتشرة في 38 منطقة في جميع أنحاء العالم، مما يضمن وصولاً منخفض الكمون من أي مكان. اطلع على القائمة الكاملة لمناطق Google Cloud.
- Google مدعوم من Cloud Run: مدعوم من Google Cloud Run، مما يوفر بنية تحتية قابلة للتطوير بلا حدود وموثوقة للغاية.
- سرعة عالية: يمكن الوصول إلى زمن انتقال أقل من 100 مللي ثانية للاستدلال YOLOv8n بدقة 640 من المناطق القريبة بناءً على اختبار Ultralytics .
- أمان محسّن: يوفر ميزات أمان قوية لحماية بياناتك وضمان الامتثال لمعايير الصناعة. تعرف على المزيد حول أمان Google Cloud.
لاستخدام واجهة برمجة التطبيقات الاستدلالية المخصصة Ultralytics HUB، انقر على زر بدء نقطة النهاية. بعد ذلك، استخدم عنوان URL الفريد لنقطة النهاية كما هو موضح في الأدلة أدناه.
نصيحة
اختر المنطقة ذات زمن الاستجابة الأقل للحصول على أفضل أداء كما هو موضح في الوثائق.
لإيقاف تشغيل نقطة النهاية المخصصة، انقر على زر إيقاف نقطة النهاية.
واجهة برمجة تطبيقات الاستدلال المشترك
لاستخدام واجهة برمجة تطبيقات الاستدلال المشترك Ultralytics HUB، اتبع الإرشادات أدناه.
المستخدمون المجانيون لديهم حدود الاستخدام التالية:
- 100 مكالمة/ساعة
- 1000 مكالمة/شهرياً
المستخدمون المحترفون لديهم حدود الاستخدام التالية:
- 1000 مكالمة/ساعة
- 10000 مكالمة / شهر
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
مع المسار إلى الصورة التي تريد تشغيل الاستدلال عليها.
إذا كنت تستخدم واجهة برمجة التطبيقات الاستدلالية المخصصة، استبدل 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
مع المسار إلى الصورة التي تريد تشغيل الاستدلال عليها.
إذا كنت تستخدم واجهة برمجة التطبيقات الاستدلالية المخصصة، استبدل 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 . |
الاستجابة
تُرجع واجهة برمجة التطبيقات Ultralytics HUB Inference API استجابة JSON.
التصنيف
نموذج التصنيف
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())
الكشف
نموذج الكشف
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
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": ...
}
التقسيم
نموذج التجزئة
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": ...
}
الوضعية
نموذج الوضعية
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": ...
}