Интеграция модели в приложения с использованием Windows ML
В этом руководстве описывается, как использовать API-интерфейсы Windows ML для интеграции модели в приложение Windows. Если вы предпочитаете использовать автоматический генератор кода Windows ML, ознакомьтесь с документацией по mlgen.
Важные API: Windows.AI.Machine Обучение
Мы рассмотрим базовые стандартные блоки Windows ML:
- Модели
- Сеансы
- .
- Привязки
С их помощью вы загрузите, привяжете и оцените модели в Windows ML.
Мы также рекомендуем ознакомиться с примерами приложений на сайте GitHub, где представлены полные примеры кода для Windows ML.
Следующее видео содержит краткую демонстрацию применения этих API.
Использование API-интерфейсов WinML в C++
Хотя API-интерфейсы WinML доступны для C++/CX и C++/WinRT мы рекомендуем использовать версию для C++/WinRT, так как она поддерживает более естественную разработку кода на C++ и позволяет более спокойно двигаться вперед. Приведенные ниже инструкции подходят под конкретные ситуации применения API-интерфейсов C++/WinRT.
- Если вы нацелены на Windows 1803 или более ранних версий, см . руководство по переносу существующего приложения WinML в пакет NuGet.
- Если вы создаете новое приложение C++, ознакомьтесь с руководством по созданию классического приложения Windows Машинное обучение (C++) и выполните действия по загрузке модели.
- Если у вас есть существующее приложение C++ (которое еще не настроено для C++/WinRT), выполните следующие действия, чтобы настроить приложение для C++/WinRT:
- Убедитесь, что у вас установлена последняя версия Visual Studio 2019 (любого выпуска).
- Убедитесь, что у вас есть пакет SDK для Windows 10 версии 1803 или более поздней.
- Скачайте и установите расширение C++/WinRT для Visual Studio (VSIX) из Visual Studio Marketplace.
- Добавьте свойство в
<CppWinRTEnabled>true</CppWinRTEnabled>
vcxproj-файл проекта:<Project ...> <PropertyGroup Label="Globals"> <CppWinRTEnabled>true</CppWinRTEnabled> ...
- Для C++/WinRT требуются некоторые компоненты стандарта C++17, поэтому в свойствах проекта нужно указать C/C++ > Язык > Стандарт языка C++ > Стандарт ISO C++17 (/std:c++17).
- Задайте режим соответствия: Да (/permissive-) в свойствах проекта.
- Еще одно важное свойство для проекта: C/C++ > Общие > Обрабатывать предупреждения как ошибки. Задайте для него значение Да (/WX) или Нет (/WX-) по своему желанию. Иногда исходные файлы, созданные инструментом cppwinrt.exe, выдают предупреждения до тех пор, пока вы не добавите в них свою реализацию.
- VSIX также поддерживает визуализацию встроенной отладки Visual Studio (natvis) проецированных типов C++/ WinRT, что обеспечивает возможности, аналогичные отладке на C#. Natvis автоматически используется для сборок отладки. Вы можете выбрать сборки выпуска, указав символ WINRT_NATVIS.
- Теперь проект настроен для работы с C++/WinRT. Дополнительные сведения см. в документации по C++/WinRT.
См. также
Примечание.
Используйте следующие ресурсы для получения справки по машинному обучению в Windows:
- Чтобы задать технические вопросы о машинном обучении в Windows или ответить на них, используйте тег windows-machine-learning в Stack Overflow.
- Сообщить об ошибке можно в нашем репозитории GitHub.