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