Эта страница содержит ответы на самые популярные вопросы сообщества о Windows ML.
Как узнать, будет ли модель ONNX работать с Windows ML?
Самый простой способ проверить, будет ли модель работать с Windows ML с помощью средства Запуска модели WinML. Кроме того, вы можете проверить версии ONNX и сборки Windows для получения дополнительных сведений обо всех поддерживаемых версиях ONNX для данного выпуска Windows.
Как преобразовать модель другого формата в ONNX?
С помощью WinMLTools можно преобразовать модели нескольких различных форматов, таких как Apple CoreML и scikit-learn, в ONNX.
При попытке экспорта и /или преобразования модели в ONNX возникают ошибки, которые говорят, что у моей модели есть "неподдерживаемые операторы". Что мне делать?
Некоторые операторы в собственной платформе обучения в настоящее время не поддерживаются версией ONNX. Во-первых, мы рекомендуем проверить поддерживаемые версии ONNX для целевой сборки Windows и попытаться преобразовать модель в максимальную поддерживаемую версию. Более поздние версии ONNX включают поддержку большего набора операторов по сравнению с предыдущими версиями.
Если вы продолжаете столкнуться с проблемами, рекомендуется работать с командой по обработке и анализу данных, чтобы избежать неподдерживаемых операторов. Одним из подходов, которые мы рекомендуем, является изменение архитектуры модели в исходной платформе и попытка преобразовать или экспортировать модель в целевую версию ONNX. Обратите внимание, что вам еще не нужно переобучение модели— вы можете попытаться преобразовать архитектуру и, если это успешно, можно перейти к полному переобучение модели.
Почему я не могу загрузить модель?
Существует несколько причин, по которым может возникнуть проблема с загрузкой модели, но одна из наиболее распространенных из них при разработке в UWP связана с ограничениями доступа к файлам. По умолчанию приложения UWP могут получать доступ только к определенным частям файловой системы и требовать разрешения пользователя или дополнительные возможности для доступа к другим расположениям. Дополнительные сведения см. в разделе "Разрешения на доступ к файлам ".
Какую версию WinMLTools следует использовать?
Мы всегда рекомендуем скачать и установить последнюю версию пакета winmltools . Это обеспечит создание моделей ONNX, предназначенных для последних версий Windows.
Можно ли использовать onnxmltools вместо winmltools?
Да, вы можете, но вам потребуется установить правильную версию onnxmltools , чтобы нацелить ONNX версии 1.2.2.2, которая является минимальной версией ONNX, поддерживаемой Windows ML. Если вы не уверены, какую версию необходимо установить, рекомендуется установить последнюю версию winmltools . Это гарантирует, что вы сможете нацелиться на версию ONNX, поддерживаемую Windows.
Какую версию Visual Studio следует использовать для получения автоматического создания кода (mlgen)?
Минимальная рекомендуемая версия Visual Studio с поддержкой mlgen — 15.8.7. В Windows 10 версии 1903 и более поздних версий mlgen больше не входит в пакет SDK, поэтому вам потребуется скачать и установить расширение. Существует один для Visual Studio 2017 и один для Visual Studio 2019.
При попытке запустить mlgen сообщение об ошибке и код не создается. Что может произойти?
Ниже приведены две наиболее распространенные ошибки при попытке выполнить mlgen:
- Отсутствует обязательный атрибут "consumed_inputs": при возникновении этого сообщения об ошибке, скорее всего, вы пытаетесь запустить модель ONNX версии 1.2 с версией пакета SDK для Windows 10 старше 17763; Рекомендуется проверить версию пакета SDK и обновить ее до версии 17763 или более поздней.
- Ошибка типа: тип (map(string,tensor(float)) выходного arg (потеря) узла (ZipMap) не соответствует ожидаемому типу...: если вы выполняете эту ошибку, скорее всего, модель ONNX является более старой версией, принятой WinML начиная с сборки 17763. Рекомендуется обновить пакет преобразователя до последней доступной версии и восстановить модель до версии 1.2 ONNX.
Что по умолчанию выполняется WinML?
Если устройство не указано для запуска с помощью LearningModelDeviceKind или если вы используете LearningModelDeviceKind.Default, система решит, какое устройство будет оценивать модель. Обычно это ЦП. Чтобы запустить WinML на GPU, укажите одно из следующих значений при создании LearningModelDevice:
- LearningModelDeviceKind.DirectX
- LearningModelDeviceKind.DirectXHighPerformance
- LearningModelDeviceKind.DirectXMinPower
Замечание
Используйте следующие ресурсы, чтобы получить помощь по Windows ML.
- Чтобы задать или ответить на технические вопросы о Windows ML, используйте тег windows-machine-learning в Stack Overflow.
- Чтобы сообщить об ошибке, отправьте сообщение о проблеме на сайте GitHub.