Перейти к содержанию
VVizorLabsТехническая документацияОсновной сайт

Платформа 4.0 / BOX 5.0

Пакет модели: файлы и JSON-контракты

Структура ZIP, model_info.json, coco_categories.json, профили исполнения и проверка перед загрузкой.

Для кого: ml / разработчик модели
На этой странице

Структура 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_typestringПоддерживаемый машинный тип модели
task_typestringСогласованный тип задачи
weights_pathstringОтносительный путь или шаблон к весам внутри пакета
img_size.height / img_size.widthПоложительные integerВысота и ширина входа, пиксели
deploy_profile.profilesНепустой string[]Все заявленные профили проходят проверку
deploy_profile.default_profilestringПрисутствует в profiles
model_attributesobjectОпциональные параметры с типами и значениями по умолчанию

Пример 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 не заменяет логику создания события в сценарии.

ПолеТип / ограничение
idinteger
name / ru_name / full_ru_name / supercategorystring
thresholdnumber
colorТри integer от 0 до 255
is_violation / is_primary / excludeboolean
{
  "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 существует внутри архива.
  • Размер входа соответствует модели и выбранному профилю.
  • Пакет не содержит паролей, токенов, абсолютных путей и промежуточных копий весов.
  • Дополнительные файлы разрешены протоколом конкретного типа модели.