Инференс
Ultralytics Platform предоставляет Inference API для тестирования обученных моделей. Используйте браузерный Predict вкладка для быстрой проверки или REST API для программного доступа.

Вкладка «Предсказать»
Каждая модель включает Predict вкладка для инференса на основе браузера:
- Перейдите к вашей модели
- Нажмите вкладку Предсказание
- Загрузите изображение, используйте пример или откройте веб-камеру
- Мгновенный просмотр предсказаний с наложением ограничивающих рамок

Методы ввода
Панель предсказания поддерживает несколько методов ввода:
| Метод | Описание |
|---|---|
| Загрузка изображения | Перетащите или нажмите, чтобы загрузить изображение |
| Примеры изображений | Нажмите на встроенные примеры (изображения набора данных или значения по умолчанию) |
| Захват с веб-камеры | Прямая трансляция с камеры с захватом одного кадра |
graph LR
A[Upload Image] --> D[Auto-Inference]
B[Example Image] --> D
C[Webcam Capture] --> D
D --> E[Results + Overlays]
style D fill:#2196F3,color:#fff
style E fill:#4CAF50,color:#fff
Загрузить изображение
Перетащите или нажмите для загрузки:
- Поддерживаемые форматы: JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP, DNG, MPO
- Максимальный размер: 10МБ
- Автоматический вывод: Результаты появляются автоматически после загрузки
Автоматический вывод
Панель предсказания автоматически выполняет инференс, когда вы загружаете изображение, выбираете пример или захватываете кадр с веб-камеры. Нажимать кнопку не требуется.
Примеры изображений
Панель предсказания отображает примеры изображений из связанного с вашей моделью набора данных. Если набор данных не связан, используются примеры по умолчанию:
| Изображение | Контент |
|---|---|
bus.jpg | Уличная сцена с транспортными средствами |
zidane.jpg | Спортивная сцена с людьми |
Для моделей obb вместо этого показаны аэрофотоснимки лодок и аэропортов.
Предзагруженные изображения
Примеры изображений предварительно загружаются при открытии страницы, поэтому нажатие на пример запускает почти мгновенный инференс без ожидания загрузки.
Webcam
Нажмите на карточку веб-камеры, чтобы начать прямую трансляцию с камеры:
- Предоставьте разрешение на доступ к камере при появлении запроса
- Нажмите на предварительный просмотр видео, чтобы захватить кадр.
- Инференс автоматически запускается на захваченном кадре
- Нажмите еще раз, чтобы перезапустить веб-камеру
Посмотреть результаты
Отображение результатов вывода:
- Ограничивающие рамки с метками классов в виде SVG-наложений
- Показатели достоверности для каждого детектирования
- Цвета классов из цветовой палитры вашего набора данных (или палитры Ultralytics по умолчанию)
- Разделение по скорости: Время предварительной обработки, вывода, постобработки и работы сети

Панель результатов показывает:
| Поле | Описание |
|---|---|
| Список обнаружений | Каждое обнаружение с именем класса и достоверностью |
| Статистика скорости | Предварительная обработка, инференс, постобработка, сеть (мс) |
| JSON-ответ | Необработанный ответ API в блоке кода |
Параметры инференса
Настройте поведение detect с помощью параметров в сворачиваемом разделе Параметры:

| Параметр | Диапазон | По умолчанию | Описание |
|---|---|---|---|
| Достоверность | 0.01-1.0 | 0.25 | Минимальный порог достоверности |
| IoU | 0.0-0.95 | 0.70 | Порог IoU для NMS |
| Размер изображения | 320, 640, 1280 | 640 | Размерность изменения размера ввода (переключатель кнопки) |
Автоматический перезапуск
Изменение любого параметра автоматически перезапускает вывод модели на текущем изображении с задержкой в 500 мс. Повторная загрузка не требуется.
Порог достоверности
Фильтрация предсказаний по достоверности:
- Выше (0.5+): Меньше, более достоверных предсказаний
- Ниже (0.1-0.25): Больше предсказаний, некоторый шум
- По умолчанию (0.25): Сбалансировано для большинства сценариев использования
Порог IoU
Управление Non-Maximum Suppression:
- Выше (0.7+): Разрешить больше перекрывающихся рамок
- Ниже (0.3-0.5): Более агрессивно объединять близлежащие обнаружения
- По умолчанию (0.70): Сбалансированное поведение NMS для большинства сценариев использования
Предсказание развертывания
Каждый запущенный выделенная конечная точка включает в себя Predict вкладка непосредственно на карточке развертывания. Это использует собственный сервис вывода развертывания, а не общий сервис прогнозирования, что позволяет тестировать развернутую конечную точку из браузера.
REST API
Доступ к выводу программным способом:
Аутентификация
Включите ваш ключ API в запросы:
Authorization: Bearer YOUR_API_KEY
Требуется ключ API
Чтобы запустить инференс из собственных скриптов, ноутбуков или приложений, включите ключ API. Сгенерируйте его в Settings (раздел API Keys на вкладке «Профиль»).
Конечная точка
POST https://platform.ultralytics.com/api/models/{modelId}/predict
Запрос
import requests
url = "https://platform.ultralytics.com/api/models/MODEL_ID/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"file": open("image.jpg", "rb")}
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}
response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())
curl -X POST \
"https://platform.ultralytics.com/api/models/MODEL_ID/predict" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@image.jpg" \
-F "conf=0.25" \
-F "iou=0.7" \
-F "imgsz=640"
const formData = new FormData();
formData.append("file", fileInput.files[0]);
formData.append("conf", "0.25");
formData.append("iou", "0.7");
formData.append("imgsz", "640");
const response = await fetch(
"https://platform.ultralytics.com/api/models/MODEL_ID/predict",
{
method: "POST",
headers: { Authorization: "Bearer YOUR_API_KEY" },
body: formData,
}
);
const result = await response.json();
console.log(result);

Ответ
{
"images": [
{
"shape": [1080, 1920],
"results": [
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": { "x1": 100, "y1": 50, "x2": 300, "y2": 400 }
},
{
"class": 2,
"name": "car",
"confidence": 0.87,
"box": { "x1": 400, "y1": 200, "x2": 600, "y2": 350 }
}
],
"speed": {
"preprocess": 1.2,
"inference": 12.5,
"postprocess": 2.3
}
}
],
"metadata": {
"imageCount": 1,
"functionTimeCall": 0.018,
"model": "model.pt",
"version": {
"ultralytics": "8.4.14",
"torch": "2.6.0",
"torchvision": "0.21.0",
"python": "3.13.0"
}
}
}

Поля ответа
| Поле | Тип | Описание |
|---|---|---|
images | массив | Список обработанных изображений |
images[].shape | массив | Размеры изображений [высота, ширина] |
images[].results | массив | Список detect |
images[].results[].name | строка | Имя класса |
images[].results[].confidence | float | Уверенность detect (0-1) |
images[].results[].box | объект | Координаты ограничивающей рамки |
images[].speed | объект | Время обработки в миллисекундах |
metadata | объект | Запросить метаданные и информацию о версии |
Ответы, специфичные для задачи
Формат ответа зависит от задачи:
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
"segments": [[100, 50], [150, 60], ...]
}
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
"keypoints": [
{"x": 200, "y": 75, "conf": 0.95},
...
]
}
{
"results": [
{"class": 0, "name": "cat", "confidence": 0.95},
{"class": 1, "name": "dog", "confidence": 0.03}
]
}
{
"class": 0,
"name": "ship",
"confidence": 0.89,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
"obb": {"x1": 105, "y1": 48, "x2": 295, "y2": 55, "x3": 290, "y3": 395, "x4": 110, "y4": 402}
}
Ограничения скорости запросов
Совместный вывод ограничен до 20 запросов/мин на ключ API. При регулировании API возвращает 429 с Retry-After заголовок. См. полный Справка по лимиту запросов для всех категорий конечных точек.
Требуется большая пропускная способность?
Разверните выделенную конечную точку для неограниченного вывода без ограничений по скорости, с предсказуемой пропускной способностью и стабильными ответами с низкой задержкой. Для локального вывода см. руководство по режиму Predict.
Обработка ошибок
Типичные ответы об ошибках:
| Код | Сообщение | Решение |
|---|---|---|
| 400 | Недопустимое изображение | Проверьте формат файла |
| 401 | Не авторизовано | Проверьте ключ API |
| 404 | Модель не найдена | Проверьте ID модели. |
| 429 | Ограничение скорости | Подождите и повторите попытку, или используйте выделенную конечную точку для неограниченной пропускной способности |
| 500 | Ошибка сервера | Повторить запрос |
Часто задаваемые вопросы
Могу ли я выполнять инференс на видео?
API принимает отдельные кадры. Для видео:
- Извлекать кадры локально
- Отправлять каждый кадр в API
- Агрегировать результаты
Для видео в реальном времени рассмотрите возможность развертывания выделенной конечной точки.
Как получить аннотированное изображение?
API возвращает предсказания в формате JSON. Для визуализации:
- Используйте предсказания для локальной отрисовки ограничивающих рамок
- Используйте Ultralytics
plot()метод:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model("image.jpg")
results[0].save("annotated.jpg")
См. документацию по режиму Predict для получения полного API результатов и опций визуализации.
Каков максимальный размер изображения?
- Лимит загрузки: 10 МБ
- Recommended: <5MB for fast inference
- Автоматическое изменение размера: Изображения изменяются до выбранного
Image Sizeпараметр
Большие изображения автоматически изменяются в размере с сохранением соотношения сторон.
Могу ли я выполнять пакетный инференс?
Текущий API обрабатывает одно изображение за запрос. Для пакетной обработки:
- Отправлять параллельные запросы
- Используйте выделенную конечную точку для повышения пропускной способности
- Рассмотрите локальный вывод для больших пакетов
Пакетный вывод с использованием python
import concurrent.futures
import requests
url = "https://predict-abc123.run.app/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
images = ["img1.jpg", "img2.jpg", "img3.jpg"]
def predict(image_path):
with open(image_path, "rb") as f:
return requests.post(url, headers=headers, files={"file": f}).json()
with concurrent.futures.ThreadPoolExecutor(max_workers=4) as executor:
results = list(executor.map(predict, images))