تخطي إلى المحتوى

واجهة برمجة تطبيقات الاستدلال Ultralytics HUB

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

لقطة شاشة من Ultralytics HUB لعلامة التبويب نشر داخل صفحة النموذج مع سهم يشير إلى بطاقة Dedicated Inference API وسهم آخر يشير إلى بطاقة Shared Inference API


شاهد: جولة إرشادية لواجهة برمجة تطبيقات الاستدلال 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 لعلامة التبويب نشر داخل صفحة النموذج مع سهم يشير إلى زر بدء نقطة النهاية في بطاقة Dedicated Inference API

نصيحة

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

لإيقاف نقطة النهاية المخصصة، انقر فوق زر إيقاف نقطة النهاية.

لقطة شاشة من Ultralytics HUB لعلامة التبويب نشر داخل صفحة النموذج مع سهم يشير إلى زر إيقاف نقطة النهاية في بطاقة Dedicated Inference API

واجهة برمجة تطبيقات الاستدلال المشتركة (Shared Inference API)

لاستخدام واجهة برمجة تطبيقات الاستدلال المشتركة Ultralytics HUB، اتبع الأدلة أدناه.

تتمتع واجهة برمجة تطبيقات الاستدلال المشتركة Ultralytics HUB بحدود الاستخدام التالية:

  • 100 مكالمة / ساعة

Python

للوصول إلى واجهة برمجة تطبيقات الاستدلال Ultralytics HUB باستخدام 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 باستخدام 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 بإرجاع استجابة 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": ...
}


📅 تم الإنشاء منذ سنة واحدة ✏️ تم التحديث منذ 4 أشهر

تعليقات