Ultralytics ハブ推論API
モデルをトレーニングした後は、Shared Inference APIを無料で利用することができます。Proユーザーであれば、Dedicated Inference APIにアクセスできます。Ultralytics HUB Inference APIを使用すると、Ultralytics YOLO 環境をローカルにインストールしてセットアップすることなく、REST APIを通じて推論を実行できます。
見るんだ: Ultralytics HUB推論APIウォークスルー
専用推論API
多くのご要望と幅広いご関心にお応えして、Ultralytics HUB Dedicated Inference APIを発表する運びとなり、プロユーザーの皆様には専用環境でのシングルクリックでのデプロイメントをご提供いたします!
注
パブリック・ベータ期間中、この機能をプロ・プランの一部として無料で提供できることを嬉しく思います。
- グローバルカバレッジ:世界38のリージョンに展開し、あらゆる場所からの低遅延アクセスを実現。 Google クラウドのリージョン一覧を見る。
- Google クラウドランバックアップ: Google Cloud Runに支えられ、無限に拡張可能で信頼性の高いインフラを提供します。
- 高速: Ultralytics のテストに基づき、640の解像度で近傍領域からYOLOv8n 推論を行う場合、100ms以下のレイテンシが可能。
- 強化されたセキュリティ:お客様のデータを保護し、業界標準への準拠を保証する堅牢なセキュリティ機能を提供します。 Google クラウドのセキュリティの詳細については、こちらをご覧ください。
Ultralytics HUB Dedicated Inference API を使用するには、Start Endpointボタンをクリックします。次に、以下のガイドに記載されている固有のエンドポイントURLを使用します。
チップ
ドキュメントに記載されているように、最高のパフォーマンスを得るために、レイテンシーの最も低い地域を選択します。
専用エンドポイントをシャットダウンするには、「エンドポイントの停止」ボタンをクリックします。
共有推論API
Ultralytics HUB Shared Inference APIを使用するには、以下のガイドに従ってください。
無料ユーザーには以下の利用制限があります:
- 100コール/時間
- 1000コール/月
プロユーザーには以下の使用制限があります:
- 1000コール/時間
- 10000コール/月
Python
Python を使ってUltralytics HUB Inference API にアクセスするには、次のコードを使う:
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
を希望のモデルIDに置き換えてください、 API_KEY
を実際のAPIキーに置き換えて path/to/image.jpg
に、推論を実行したいイメージのパスを指定します。
をご利用の場合 専用推論APIを置き換える。 url
も同様だ。
cURL
cURLを使ってUltralytics HUB Inference APIにアクセスするには、以下のコードを使用する:
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
を希望のモデルIDに置き換えてください、 API_KEY
を実際のAPIキーに置き換えて path/to/image.jpg
に、推論を実行したいイメージのパスを指定します。
をご利用の場合 専用推論APIを置き換える。 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": ...
}