Начало работы с Windows Machine Learning

Существует несколько способов использования Windows Machine Learning в приложении. В целом вам нужно всего несколько простых шагов.

  1. Получите обученную модель Open Neural Network Exchange (ONNX) или преобразуйте модели, обученные на других платформах машинного обучения, в ONNX с помощью ONNXMLTools.

  2. Добавьте файл модели ONNX в свое приложение или сделайте его доступным на целевом устройстве другим методом.

  3. Интегрируйте модель в код приложения, а затем выполните его сборку и развертывание.

Training environment, add model reference, application, Windows ML

Стандартная версия и пакет NuGet для решения WinML

В приведенной ниже таблице представлены аспекты доступности, распространения, поддержки языков, обслуживания и прямой совместимости стандартной версии и пакета NuGet для Windows ML.

Свойства Стандартная версия NuGet
Доступность Windows 10, версия 1809 или более поздняя. Windows 8.1 или выше
Распределение Встроено в пакет SDK Windows Упаковка и распространение в составе приложения
Обслуживание На основе систем Майкрософт (с автоматическими преимуществами для клиентов) Для разработчиков
Прямая совместимость Автоматически выполняет накат с новыми функциями Разработчику необходимо обновлять пакет вручную

При запуске приложения со стандартным решением среда выполнения Windows ML (которая содержит подсистему зависимостей модели ONNX) оценивает обученную модель на устройстве с Windows 10 (или Windows Server 2019, если код предназначен для развертывания на сервере). Windows ML абстрагирует оборудование, что позволяет разработчикам использовать различные аппаратные решения, в том числе ЦП, GPU и в будущем ускорителей ИИ. Аппаратное ускорение Windows ML основано на DirectML, высокопроизводительном низкоуровневом API из семейства DirectX, предназначенном для выполнения зависимостей машинного обучения.

windows ml layers

windows ml nuget package

Для пакета NuGet эти слои представлены двоичными файлами, как показано на схеме ниже. Решение Windows ML встроено в библиотеку Microsoft.ai.machinelearning.dll. Она не содержит внедренную среду выполнения ONNX, а скорее наоборот — среда выполнения ONNX встроена в файл onnxruntime.dll. Версия, включенная в пакеты NuGet WindowsAI, содержит встроенный DirectML EP. Последний двоичный файл DirectML.dll содержит код платформы в виде DirectML и основан на драйверах Direct 3D и вычислений, встроенных в Windows. Все три двоичных файла входят в выпуски NuGet для распространения вместе с приложениями.

Прямой доступ к onnxruntime.dll также позволяет нацеливаться на несколько платформ одновременно, сохраняя не зависящее от платформы аппаратное ускорение, которое масштабируются на всех устройствах Windows.

Другие решения машинного обучения от корпорации Майкрософт

Майкрософт предлагает широкий набор решений, среди которых вы обязательно найдете подходящее. Эти решения запускаются в облаке, в локальной среде и на локальном устройстве. Дополнительные сведения см. в статье о вариантах продуктов для машинного обучения от корпорации Майкрософт.

Подробнее

Если вы хотите использовать пакет NuGet для Машинного обучения Windows, см. статью Учебник. Портирование существующего приложения WinML в пакет NuGet.

Сведения о последних функциях и исправлениях в Windows ML см. в наших заметках о выпуске.

Примечание.

Используйте следующие ресурсы для получения справки по машинному обучению в Windows:

  • Чтобы задать технические вопросы о машинном обучении в Windows или ответить на них, используйте тег windows-machine-learning в Stack Overflow.
  • Сообщить об ошибке можно в нашем репозитории GitHub.