Ultralytics API de inferencia HUB
Despu茅s de entrenar un modelo, puedes utilizar gratuitamente la API de Inferencia Compartida. Si eres usuario Pro, puedes acceder a la API de Inferencia Dedicada. La API de inferencia de Ultralytics HUB te permite ejecutar la inferencia a trav茅s de nuestra API REST sin necesidad de instalar y configurar localmente el entorno Ultralytics YOLO .
Observa: Ultralytics Paseo por la API de Inferencia HUB
API de inferencia dedicada
En respuesta a la gran demanda y al inter茅s generalizado, 隆estamos encantados de desvelar la API de inferencia dedicada Ultralytics HUB, que ofrece un despliegue con un solo clic en un entorno dedicado para nuestros usuarios Pro!
Nota
Estamos encantados de ofrecer esta funci贸n GRATIS durante nuestra beta p煤blica como parte del Plan Pro, con posibles niveles de pago en el futuro.
- Cobertura mundial: Desplegada en 38 regiones de todo el mundo, garantizando un acceso de baja latencia desde cualquier lugar. Consulta la lista completa de regiones de Google Cloud.
- Google Respaldado por Cloud Run: Respaldado por Google Cloud Run, que proporciona una infraestructura infinitamente escalable y altamente fiable.
- Alta velocidad: Es posible una latencia inferior a 100 ms para la inferencia YOLOv8n a una resoluci贸n de 640 a partir de regiones cercanas, seg煤n las pruebas realizadas en Ultralytics .
- Seguridad mejorada: Proporciona s贸lidas funciones de seguridad para proteger tus datos y garantizar el cumplimiento de las normas del sector. M谩s informaci贸n sobre la seguridad de Google Cloud.
Para utilizar la API de inferencia dedicada de Ultralytics HUB, haz clic en el bot贸n Iniciar punto final. A continuaci贸n, utiliza la URL del punto final 煤nico tal y como se describe en las gu铆as siguientes.
Consejo
Elige la regi贸n con la latencia m谩s baja para obtener el mejor rendimiento, tal y como se describe en la documentaci贸n.
Para apagar el punto final dedicado, haz clic en el bot贸n Detener punto final.
API de inferencia compartida
Para utilizar la API de Inferencia Compartida Ultralytics HUB, sigue las siguientes gu铆as.
Los usuarios gratuitos tienen los siguientes l铆mites de uso:
- 100 llamadas / hora
- 1000 llamadas / mes
Los usuarios Pro tienen los siguientes l铆mites de uso:
- 1000 llamadas / hora
- 10000 llamadas / mes
Python
Para acceder a la API de inferencia Ultralytics HUB utilizando Python, utiliza el siguiente c贸digo:
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())
Nota
Sustituye MODEL_ID
con el ID del modelo deseado, API_KEY
con tu clave API real, y path/to/image.jpg
con la ruta a la imagen sobre la que quieres ejecutar la inferencia.
Si utilizas nuestro API de inferencia dedicadasustituye el url
tambi茅n.
cURL
Para acceder a la API de inferencia Ultralytics HUB utilizando cURL, utiliza el siguiente c贸digo:
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"
Nota
Sustituye MODEL_ID
con el ID del modelo deseado, API_KEY
con tu clave API real, y path/to/image.jpg
con la ruta a la imagen sobre la que quieres ejecutar la inferencia.
Si utilizas nuestro API de inferencia dedicadasustituye el url
tambi茅n.
Argumentos
Consulta la tabla siguiente para ver una lista completa de los argumentos de inferencia disponibles.
Argumento | Por defecto | Tipo | Descripci贸n |
---|---|---|---|
file |
file |
Archivo de imagen o v铆deo que se utilizar谩 para la inferencia. | |
imgsz |
640 |
int |
Tama帽o de la imagen de entrada, el rango v谩lido es 32 - 1280 P铆xeles. |
conf |
0.25 |
float |
Umbral de confianza para predicciones, rango v谩lido 0.01 - 1.0 . |
iou |
0.45 |
float |
Intersecci贸n sobre el umbral de Uni贸n (IoU), rango v谩lido 0.0 - 0.95 . |
Respuesta
La API de inferencia Ultralytics HUB devuelve una respuesta JSON.
Clasificaci贸n
Modelo de clasificaci贸n
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())
Detecci贸n
Modelo de detecci贸n
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
Modelo 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": ...
}
Segmentaci贸n
Modelo de segmentaci贸n
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": ...
}
Pose
Modelo de pose
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": ...
}