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 yapmanızı sağlar.
İ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ürecimiz boyunca Ü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.
İ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.
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 Piksel. |
conf |
0.25 |
float |
Tahminler için güven eşiği, geçerli aralık 0.01 - 1.0 . |
iou |
0.45 |
float |
Birlik Üzerinde Kavşak (IoU) threshold, valid range 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
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())
Algılama
Algılama Modeli
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 Modeli
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
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
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": ...
}