Я обучил модель с помощью Custom Vision ai. Экспорт модели в виде файла ONNX.
В моем C#. net основном консольном приложении я сослался на SDK windows 10, как описано здесь: доступ к windows ml из консольных приложений
Затем я создаю снимок экрана и конвертирую его в SoftwareBitmap -> VideoFrame и, наконец, в ImageFeatureValue на основе примера: Использование изображения в качестве входного тензора для моделей ONNX
наконец, я привязываю тензор к моей модели onnx с помощью:
var output = new OnnxModelOutput();
var session = await CreateSession(projectId);
var binding = new LearningModelBinding(session);
binding.Bind("data", imageFile);
binding.Bind("classLabel", output.ClassLabel);
binding.Bind("loss", output.Loss);
Это отлично работало в течение месяца! Через несколько дней он перестал работать. Похоже, что привязка ONNX изменилась в пользовательском видении ai. Если сравнить старую модель с новой:
Старая модель
имя : данные тип : float32 [Нет, 3,224,224] обозначение : Изображение (Bgr8) Изображение (я) в формате BGR. Это [N, C, H, W] -тензор. 1-й / 2-й / 3-й срезы по оси C - это синий, зеленый и красный каналы соответственно. ввод старой модели ONNX
Новая модель
имя : данные тип : float32 [Нет, 3,224,224] обозначение : Изображение (Bgr8, Linear, NominalRange_0_255) Изображение (я) в формате BGR. Это [N, C, H, W] -тензор. 1-й, 2-й и 3-й срезы по оси C - это синий, зеленый и красный каналы соответственно. введите здесь описание изображения
Вопрос
С текущим изменением в новой модели ONNX входная привязка завершается с ошибкой: Данные переменной модели, ожидаются Float [- 1,3,224,224,], но была предпринята попытка привязки с несовместимым типом Image [1174x729]. '
Итак, как отразить изменение входных данных модели в c# ???