Вывод#
Ultralytics Platform предоставляет браузерный инференс для тестирования обученных моделей и выделенные конечные точки для программного доступа.

Вкладка Predict#
Каждая модель с весами содержит вкладку Predict для браузерного инференса:
- Перейди к своей модели
- Нажми вкладку Predict
- Загрузи изображение, используй пример или открой веб-камеру
- Просмотри наложение, сводку предсказаний, временные показатели и исходный ответ для конкретной задачи
Для моделей без весов вместо этого отображается пустое состояние — сначала обучи модель или загрузи веса.

Способы ввода#
Панель predict поддерживает несколько способов ввода:
| Метод | Описание |
|---|---|
| Загрузка изображения | Перетащи изображение или нажми, чтобы загрузить его |
| Примеры изображений | Нажми встроенный пример (изображение из датасета или изображение по умолчанию) |
| Съёмка с веб-камеры | Прямая трансляция с камеры с захватом отдельных кадров |
graph LR
A[Upload Image]:::start --> D[Auto-Inference]:::proc
B[Example Image]:::start --> D
C[Webcam Capture]:::start --> D
D --> E[Results + Overlays]:::out
classDef start fill:#4CAF50,color:#fff
classDef proc fill:#2196F3,color:#fff
classDef out fill:#9C27B0,color:#fffЗагрузить изображение#
Перетащи изображение или нажми, чтобы загрузить его:
- Поддерживаемые форматы: JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP
- Максимальный размер: 10 МБ
- Автоматический инференс: результаты появляются автоматически после загрузки
Панель predict автоматически запускает инференс, когда ты загружаешь изображение, выбираешь пример или захватываешь кадр с веб-камеры. Нажимать кнопку не нужно.
Перед загрузкой панель изменяет размер изображения так, чтобы его большая сторона соответствовала выбранному Image Size, и запрашивает нормализованные координаты. Это ускоряет тестирование в браузере; отправляемые тобой запросы не изменяются по размеру.
Примеры изображений#
Панель predict показывает до двух примеров изображений из связанного с моделью датасета, отдавая предпочтение сплиту val, затем test, а затем train. Если датасет не связан, используются примеры по умолчанию:
| Изображение | Содержимое |
|---|---|
bus.jpg | Уличная сцена с транспортными средствами |
zidane.jpg | Спортивная сцена с людьми |
Для моделей OBB вместо этого отображаются аэрофотоснимки лодок и аэропорта.
Примеры изображений загружаются заранее при открытии страницы, поэтому нажатие на пример запускает почти мгновенный инференс без ожидания загрузки.
Веб-камера#
Нажми карточку веб-камеры, чтобы запустить прямую трансляцию с камеры:
- Предоставь доступ к камере, когда появится запрос
- Нажми на предпросмотр видео, чтобы захватить кадр
- Инференс автоматически запускается для захваченного кадра
- Нажми ещё раз, чтобы перезапустить веб-камеру
Просмотр результатов#
Результаты инференса отображают вывод, соответствующий задаче модели: боксы, маски, ключевые точки, ориентированные боксы, оценки классификации, семантическое покрытие или карту глубины. Для результатов по объектам используются цвета классов датасета, если они доступны. Панель также показывает время предобработки, инференса, постобработки и работы сети.

Панель результатов показывает:
| Поле | Описание |
|---|---|
| Сводка результатов | Список обнаружений или 5 наиболее вероятных классов для моделей классификации и семантических моделей |
| Показатели скорости | Предобработка, инференс, постобработка и сеть (мс) |
| Версии | Версии Ultralytics и PyTorch, а также диапазон глубины или размер маски, если применимо |
| Ответ JSON | Исходный ответ API в блоке кода, без данных карты в формате base64 |
После появления результатов поверх предпросмотра доступны два элемента управления: нажми на изображение, чтобы увеличить его, сохранив наложения, и используй кнопку загрузки, чтобы сохранить аннотированный JPEG текущего результата.
Параметры инференса#
Настрой поведение инференса с помощью трёх ползунков под изображением:

| Параметр | Диапазон | По умолчанию | Описание |
|---|---|---|---|
| Confidence | 0.01 – 1.0, шаг 0.01 | 0.25 | Минимальный порог уверенности |
| IoU | 0.0 – 0.95, шаг 0.01 | 0.7 | Порог IoU для NMS |
| Image Size | 32 – 1280, шаг 32 | 640 | Размер изменения входного изображения |
При изменении любого параметра инференс автоматически перезапускается для текущего изображения с задержкой 500 мс. Повторно загружать изображение не нужно.
Порог уверенности#
Фильтруй предсказания по уверенности:
- Выше (0.5+): меньше, но более уверенных предсказаний
- Ниже (0.1–0.25): больше предсказаний, часть из них может быть шумом
- По умолчанию (0.25): сбалансированное значение для большинства случаев
Порог IoU#
Управляй подавлением немаксимумов:
- Выше (0.7+): разрешает больше перекрывающихся боксов
- Ниже (0.3–0.5): более агрессивно подавляет перекрывающиеся детектирования
- По умолчанию (0.7): сбалансированное поведение NMS для большинства случаев
Predict для развёртывания#
Каждая работающая выделенная конечная точка содержит вкладку Predict непосредственно в своей карточке развёртывания. Она использует собственный сервис инференса развёртывания, а не общий сервис predict, что позволяет тестировать развёрнутую конечную точку в браузере.
На платном эндпоинте с включенным мониторингом обработанные изображения также попадают на вкладку «Мониторинг». Выборочные примеры и сводные графики на вкладке «Мониторинг» — это легкие временные данные, хранящиеся в памяти; остановка, перезапуск, повторный деплой, изменение размера или замена модели могут их стереть. Сохрани примеры в датасет, чтобы их не потерять.
API выделенной конечной точки#
Карточка API Docs на вкладке модели Predict содержит примеры запросов на Python, JavaScript и cURL, предварительно заполненные текущими значениями уверенности, IoU и размера изображения, заданными ползунками. URL и ключ являются заполнителями до развёртывания модели — кнопка Deploy рядом с вкладками кода переходит на вкладку модели Deploy. После развёртывания вкладка Code карточки развёртывания заполняется URL этой конечной точки и, для владельцев рабочего пространства, привязанным API-ключом, готовым к копированию и запуску.
Аутентификация#
Добавляй свой API-ключ в запросы:
Authorization: Bearer YOUR_API_KEYЧтобы запускать инференс из собственных скриптов, ноутбуков или приложений, добавь API-ключ. Создай его в Settings > API Keys. Выделенная конечная точка принимает только единственный ключ, с которым она была создана; общий API модели принимает любой активный ключ в рабочем пространстве, а публичные модели также принимают анонимные запросы.
Конечная точка#
Выделенные конечные точки принимают запросы по собственному URL:
POST https://YOUR_DEPLOYMENT_URL.run.app/predictОбщий инференс использует API Platform с полным путём к модели:
POST https://platform.ultralytics.com/api/models/{owner}/{project}/{model}/predictОбе конечные точки принимают одинаковое тело multipart/form-data и возвращают ответы одинаковой структуры. При использовании Python SDK укажи client.models.predict(owner, project, model, body=...) для общего инференса или client.deployments.predict(owner, deployment, body=...) для выделенного развёртывания:
from ultralytics_platform import Platform
client = Platform() # reads ULTRALYTICS_API_KEY
with open("image.jpg", "rb") as f:
results = client.models.predict("acme-vision", "inspection", "v3", body={"file": f, "conf": 0.25})Запрос#
import requests
url = "https://YOUR_DEPLOYMENT_URL.run.app/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}
with open("image.jpg", "rb") as image_file:
response = requests.post(url, headers=headers, files={"file": image_file}, data=data)
print(response.json())
Параметры запроса#
| Параметр | Тип | По умолчанию | Диапазон | Описание |
|---|---|---|---|---|
file | file | - | - | Файл изображения или видео (обязателен, если не задан source) |
conf | float | 0.25 | 0.01 – 1.0 | Минимальный порог уверенности |
iou | float | 0.7 | 0.0 – 0.95 | Порог IoU для NMS |
imgsz | int | 640 | 32 – 1280 | Размер входного изображения в пикселях |
normalize | bool | false | - | Возвращать координаты ограничивающих рамок в диапазоне 0 – 1 |
decimals | int | 5 | 0 – 10 | Точность координатных значений после запятой |
bits | int | 8 | 8, 12, 16 | Квантизация карты глубины, только для моделей глубины |
source | string | - | - | URL изображения или строка base64 (альтернатива file) |
Ответ#
{
"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,
"functionTimeAlive": 1284.51,
"functionTimeCall": 0.018,
"task": "detect",
"version": {
"ultralytics": "8.x.x",
"torch": "2.6.0",
"torchvision": "0.21.0",
"python": "3.13.0"
}
}
}
Поля ответа#
| Поле | Тип | Описание |
|---|---|---|
images | массив | Список обработанных изображений: для видео — по одной записи на каждый кадр |
images[].shape | массив | Размеры изображения [высота, ширина] |
images[].results | массив | Список обнаруженных объектов |
images[].results[].class | int | Индекс класса (целочисленный идентификатор) |
images[].results[].name | string | Название класса |
images[].results[].confidence | float | Уверенность обнаружения (0–1) |
images[].results[].box | объект | Координаты ограничивающей рамки |
images[].semantic_mask | объект | Пиксельная карта классов (только для семантических моделей) |
images[].depth | объект | Пиксельная карта глубины (только для моделей глубины) |
images[].speed | объект | Время обработки в миллисекундах |
metadata | объект | Количество изображений, время работы сервисов, задачи и версии Ultralytics/PyTorch |
Ответы для конкретных задач#
Формат ответа зависит от задачи:
{
"class": 0,
"name": "person",
"confidence": 0.92,
"box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}Ограничения частоты запросов#
Общий API моделей ограничен значением 20 запросов в минуту для каждого ключа API, авторизованного пользователя или анонимного IP-адреса. При
ограничении частоты API возвращает 429 с заголовком Retry-After. Полный
справочник по ограничениям частоты запросов для всех категорий конечных точек см. здесь.
Запросы, отправленные напрямую в выделенную конечную точку, не проходят через ограничитель частоты запросов Platform API. При временном достижении предельной нагрузки конечная точка по-прежнему снижает нагрузку, возвращая 429 и заголовок Retry-After. Для локального инференса больших объёмов см. руководство по режиму Predict.
Обработка ошибок#
Распространённые ответы с ошибками:
| Код | Сообщение | Решение |
|---|---|---|
| 400 | Недопустимое изображение | Проверь формат файла и наличие обученных весов у модели |
| 401 | Нет авторизации | Проверь ключ API |
| 404 | Модель не найдена | Проверь имена владельца, проекта и модели |
| 413 | Входные данные слишком велики | Уменьши размер файла ниже ограничения конечной точки |
| 429 | Превышено ограничение частоты запросов | Подожди и повтори попытку или отправь запросы напрямую в выделенную конечную точку |
| 500 | Ошибка сервера | Повтори запрос |
| 503 | Сервис недоступен | Сервис Predict запускается или недоступен; немного подожди и повтори попытку |
Часто задаваемые вопросы#
Оба метода инференса принимают видеофайлы:
- Выделенные конечные точки принимают видеофайлы напрямую. Поддерживаемые форматы (до 100 МБ): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV. Каждый кадр обрабатывается отдельно, а результаты возвращаются для каждого кадра. Подробнее см. в разделе выделенные конечные точки.
- Общий инференс (
POST /api/models/{owner}/{project}/{model}/predict) использует тот же сервис Predict и принимает те же форматы видео. В браузере на вкладке Predict можно выбирать только изображения, поэтому для видео используй API или выделенную конечную точку.
На вкладке Predict кнопка скачивания над областью предпросмотра сохраняет текущий результат как JPEG с аннотациями. Сам API возвращает предсказания в формате JSON. Чтобы визуализировать их:
- Используй предсказания для локальной отрисовки рамок
- Используй метод
plot()Ultralytics:
from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model("image.jpg") results[0].save("annotated.jpg")Полное описание API результатов и возможностей визуализации см. в документации по режиму Predict.
- Ограничение вкладки Predict: 10 МБ
- Ограничение API: 100 МБ для общего инференса и выделенных конечных точек
- Автоматическое изменение размера на вкладке Predict: перед загрузкой изображения изменяются до выбранного
Image Size
Большие изображения автоматически изменяются в размере в браузере с сохранением соотношения сторон. Отправленные тобой запросы не изменяются в размере, поэтому изображения, превышающие ограничение, отклоняются с ошибкой
413.Текущий API обрабатывает одно изображение в каждом запросе. Для пакетной обработки:
- Отправляй отдельные запросы для каждого изображения
- При необходимости распределяй запросы между выделенными конечными точками
- Используй локальный инференс для больших пакетов
Пакетный инференс с Pythonimport concurrent.futures import requests url = "https://YOUR_DEPLOYMENT_URL.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))