Платформа 4.0 / BOX 5.0
Пакет модели: файлы и JSON-контракты
Структура ZIP, model_info.json, coco_categories.json, профили исполнения и проверка перед загрузкой.
На этой странице
Структура ZIP-пакета
model_info.json и coco_categories.json находятся в корне архива. Веса располагаются по относительному пути из weights_path. Дополнительные файлы и Python-реализация, включая model.py, включаются, если их требует выбранный протокол пользовательской модели; это не универсальное требование для всех встроенных типов.
model-package.zip
├── model_info.json
├── coco_categories.json
└── weights/
└── model.onnxОписание модели и профили исполнения
model_type должен быть зарегистрирован в целевом runtime. task_type должен соответствовать типу модели. Для пользовательского типа обязательны task_type, deploy_profile, img_size и weights_path. Поддержку профиля нельзя определить только по расширению файла весов.
| Поле model_info.json | Тип | Проверка |
|---|---|---|
| model_type | string | Поддерживаемый машинный тип модели |
| task_type | string | Согласованный тип задачи |
| weights_path | string | Относительный путь или шаблон к весам внутри пакета |
| img_size.height / img_size.width | Положительные integer | Высота и ширина входа, пиксели |
| deploy_profile.profiles | Непустой string[] | Все заявленные профили проходят проверку |
| deploy_profile.default_profile | string | Присутствует в profiles |
| model_attributes | object | Опциональные параметры с типами и значениями по умолчанию |
Пример model_info.json
Значения в угловых скобках заменяются машинными значениями, поддерживаемыми вашим runtime. Размер 640 × 640 приведён как пример: укажите реальный вход модели. Этот шаблон описывает структуру, но не объявляет поддержку произвольного model_type.
{
"model_type": "<supported-model-type>",
"task_type": "<supported-task-type>",
"img_size": {
"height": 640,
"width": 640
},
"weights_path": "weights/model.onnx",
"deploy_profile": {
"default_profile": "<runtime-profile>",
"profiles": [
"<runtime-profile>"
]
}
}coco_categories.json: контракт категории
Корневой объект содержит массив categories. Идентификатор id должен совпадать с классом, выдаваемым моделью. Порог и цвет относятся к обработке и визуализации; is_violation не заменяет логику создания события в сценарии.
| Поле | Тип / ограничение |
|---|---|
| id | integer |
| name / ru_name / full_ru_name / supercategory | string |
| threshold | number |
| color | Три integer от 0 до 255 |
| is_violation / is_primary / exclude | boolean |
{
"categories": [
{
"id": 1,
"name": "example_object",
"ru_name": "Объект",
"full_ru_name": "Пример объекта",
"supercategory": "object",
"threshold": 0.5,
"color": [
0,
255,
0
],
"is_violation": false,
"is_primary": true,
"exclude": false
}
]
}Проверка перед загрузкой
Проверьте JSON, относительный путь к весам, соответствие категорий выходам модели и каждый профиль исполнения. После загрузки дождитесь автоматической проверки и выполните запуск на ассете. Статус tested подтверждает техническую работоспособность, но не точность на камерах площадки.
- В корне ZIP нет лишней внешней папки, скрывающей обязательные JSON-файлы.
- Файл weights_path существует внутри архива.
- Размер входа соответствует модели и выбранному профилю.
- Пакет не содержит паролей, токенов, абсолютных путей и промежуточных копий весов.
- Дополнительные файлы разрешены протоколом конкретного типа модели.