İçeriğe geç

Ultralytics HUB Çıkarım API'si

Bir modeli eğittikten sonra, Paylaşılan Çıkarım API 'sini ücretsiz olarak kullanabilirsiniz. Pro kullanıcıysanız, Özel Çıkarım API'sine erişebilirsiniz. Ultralytics HUB Inference API, Ultralytics YOLO ortamını yerel olarak kurmanıza ve ayarlamanıza gerek kalmadan REST API'miz aracılığıyla çıkarım çalıştırmanıza olanak tanır.

Ultralytics Model sayfası içindeki Deploy sekmesinin HUB ekran görüntüsünde bir ok Dedicated Inference API kartını, diğeri ise Shared Inference API kartını işaret etmektedir


İzle: Ultralytics HUB Çıkarım API'si İzlenecek Yol

Özel Çıkarım API'si

Yüksek talep ve yaygın ilgiye yanıt olarak, Pro kullanıcılarımız için özel bir ortamda tek tıklamayla dağıtım sunan Ultralytics HUB Dedicated Inference API'yi açıklamaktan heyecan duyuyoruz!

Not

Bu özelliği Pro Plan'ın bir parçası olarak herkese açık beta sürümümüz sırasında ÜCRETSİZ olarak sunmaktan heyecan duyuyoruz, gelecekte ücretli katmanlar da mümkün olacak.

  • Küresel Kapsama Alanı: Dünya çapında 38 bölgede konuşlandırılarak her konumdan düşük gecikmeli erişim sağlar. Google Cloud bölgelerinin tam listesine bakın.
  • Google Cloud Run Destekli: Sonsuz ölçeklenebilir ve son derece güvenilir altyapı sağlayan Google Cloud Run tarafından desteklenir.
  • Yüksek Hız: Ultralytics testine dayalı olarak yakın bölgelerden 640 çözünürlükte YOLOv8n çıkarımı için 100 ms'nin altında gecikme mümkündür.
  • Gelişmiş Güvenlik: Verilerinizi korumak ve endüstri standartlarıyla uyumluluğu sağlamak için güçlü güvenlik özellikleri sağlar. Google Cloud güvenliği hakkında daha fazla bilgi edinin.

Ultralytics HUB Dedicated Inference API'yi kullanmak için Uç Noktayı Başlat düğmesine tıklayın. Ardından, aşağıdaki kılavuzlarda açıklandığı gibi benzersiz uç nokta URL'sini kullanın.

Ultralytics Özel Çıkarım API kartındaki Bitiş Noktasını Başlat düğmesini işaret eden bir ok ile Model sayfasındaki Dağıt sekmesinin HUB ekran görüntüsü

İpucu

Belgelerde açıklandığı gibi en iyi performans için en düşük gecikme süresine sahip bölgeyi seçin.

Ayrılmış uç noktayı kapatmak için Uç Noktayı Durdur düğmesine tıklayın.

Ultralytics Dedicated Inference API kartındaki Uç Noktayı Durdur düğmesini gösteren bir ok ile Model sayfasındaki Dağıt sekmesinin HUB ekran görüntüsü

Paylaşılan Çıkarım API'si

Ultralytics HUB Shared Inference API'yi kullanmak için aşağıdaki kılavuzları izleyin.

Ücretsiz kullanıcılar aşağıdaki kullanım limitlerine sahiptir:

  • 100 çağrı / saat
  • 1000 çağrı / ay

Pro kullanıcılar aşağıdaki kullanım sınırlarına sahiptir:

  • 1000 çağrı / saat
  • 10000 çağrı / ay

Python

Python adresini kullanarak Ultralytics HUB Çıkarım API'sine erişmek için aşağıdaki kodu kullanın:

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())

Not

Değiştirin MODEL_ID ile istenen model kimliğini girin, API_KEY ile gerçek API anahtarınızı ve path/to/image.jpg üzerinde çıkarım yapmak istediğiniz görüntünün yolunu girin.

Eğer bizim Özel Çıkarım API'si'yi değiştirin. url aynı zamanda.

cURL

cURL kullanarak Ultralytics HUB Çıkarım API'sine erişmek için aşağıdaki kodu kullanın:

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"

Not

Değiştirin MODEL_ID ile istenen model kimliğini girin, API_KEY ile gerçek API anahtarınızı ve path/to/image.jpg üzerinde çıkarım yapmak istediğiniz görüntünün yolunu girin.

Eğer bizim Özel Çıkarım API'si'yi değiştirin. url aynı zamanda.

Argümanlar

Kullanılabilir çıkarım argümanlarının tam listesi için aşağıdaki tabloya bakın.

Tartışma Varsayılan Tip Açıklama
file file Çıkarım için kullanılacak görüntü veya video dosyası.
imgsz 640 int Giriş görüntüsünün boyutu, geçerli aralık 32 - 1280 Pikseller.
conf 0.25 float Tahminler için güven eşiği, geçerli aralık 0.01 - 1.0.
iou 0.45 float Union üzerindeki kavşak (IoU) eşiği, geçerli aralık 0.0 - 0.95.

Yanıt

Ultralytics HUB Çıkarım API'si bir JSON yanıtı döndürür.

Sınıflandırma

Sınıflandırma Modeli

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

Algılama

Algılama Modeli

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 Modeli

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

Segmentasyon

Segmentasyon Modeli

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

Pose

Poz Modeli

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": ...
}
📅1 0 ay önce oluşturuldu ✏️ 2 ay önce güncellendi

Yorumlar