Ultralytics واجهة برمجة تطبيقات HUB الاستدلالية
بعد تدريب نموذج، يمكنك استخدام واجهة برمجة تطبيقات الاستدلال المشتركة مجاناً. إذا كنت مستخدمًا محترفًا، يمكنك الوصول إلى واجهة برمجة تطبيقات الاستدلال المخصصة. تسمح لك واجهة برمجة تطبيقات الاستدلال Ultralytics HUB Inference API بتشغيل الاستدلال من خلال واجهة برمجة تطبيقات REST الخاصة بنا دون الحاجة إلى تثبيت وإعداد بيئة Ultralytics YOLO محليًا.
شاهد: Ultralytics إرشادات تفصيلية لواجهة برمجة تطبيقات الاستدلال HUB
واجهة برمجة التطبيقات الاستدلالية المخصصة
واستجابةً للطلب الكبير والاهتمام الواسع النطاق، يسعدنا الكشف عن واجهة برمجة التطبيقات الاستدلالية المخصصة 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, use actual MODEL_ID
url = "https://api.ultralytics.com/v1/predict/MODEL_ID"
# Headers, use actual API_KEY
headers = {"x-api-key": "API_KEY"}
# Inference arguments (optional)
data = {"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
كذلك.
حليقه
للوصول إلى واجهة برمجة التطبيقات الاستدلالية Ultralytics HUB Inference API باستخدام cURL، استخدم الكود التالي:
curl -X POST "https://api.ultralytics.com/v1/predict/MODEL_ID" \
-H "x-api-key: API_KEY" \
-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, use actual MODEL_ID
url = "https://api.ultralytics.com/v1/predict/MODEL_ID"
# Headers, use actual API_KEY
headers = {"x-api-key": "API_KEY"}
# Inference arguments (optional)
data = {"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, use actual MODEL_ID
url = "https://api.ultralytics.com/v1/predict/MODEL_ID"
# Headers, use actual API_KEY
headers = {"x-api-key": "API_KEY"}
# Inference arguments (optional)
data = {"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
import requests
# API URL, use actual MODEL_ID
url = "https://api.ultralytics.com/v1/predict/MODEL_ID"
# Headers, use actual API_KEY
headers = {"x-api-key": "API_KEY"}
# Inference arguments (optional)
data = {"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, use actual MODEL_ID
url = "https://api.ultralytics.com/v1/predict/MODEL_ID"
# Headers, use actual API_KEY
headers = {"x-api-key": "API_KEY"}
# Inference arguments (optional)
data = {"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, use actual MODEL_ID
url = "https://api.ultralytics.com/v1/predict/MODEL_ID"
# Headers, use actual API_KEY
headers = {"x-api-key": "API_KEY"}
# Inference arguments (optional)
data = {"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": ...
}