Модель ONNX с ошибкой субоператора не связывает
Я пытаюсь создать сеанс с моделью Squeezenet ONNX, используя: session = winrt::Windows::AI::MachineLearning::LearningModelSession{ model, winrt::Windows::AI::MachineLearning::LearningModelDevice(deviceKind) };
У меня есть две версии squeezenet. Один из них имеет подуровень в начале, а другой нет. Тот, что с 'Sub', выдает ошибку при выполнении вышеизложенного.
Есть идеи, что здесь происходит?
1 ответ
Какова форма ввода для squeezenet, который терпит неудачу? Если вы опубликуете неисправную модель, мы поможем вам устранить ее.
2 ключевые вещи, чтобы заставить его работать для сборки ОС 17763:
- Убедитесь, что вы используете ONNX версии 1.2 (opset 7)
- Убедитесь, что ваш ввод имеет правильную форму, которую ожидает модель.
Какую ошибку вы получаете при создании LearningModelSession?
Наличие оператора "Sub" в графе ONNX не должно влиять на то, можете ли вы запустить эту модель в Windows. Я думаю, что более важный вопрос - это версия ONNX (или версия набора операторов) и целевая версия Windows. Начиная с обновления октября 2018 года, машинное обучение Windows будет совместимо с ONNX версии 1.2.2 ( https://github.com/onnx/onnx/releases/tag/v1.2.2). Дважды проверьте, есть ли у вас модель 1.2.2 и обновление SDK за октябрь 2018 года (10.0.17763.x)