Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Концептуальное руководство см. в разделе "Запуск моделей ONNX с помощью Windows ML").
API в пакете NuGet Microsoft.WindowsAppSDK.ML можно считать супермножеством этих двух наборов.
- API Машинного обучения Windows. API машинного обучения Windows в пространстве имен Microsoft.Windows.AI.MachineLearning , таких как класс ExecutionProviderCatalog и его методы (которые являются API среды выполнения Windows).
- API среды выполнения ONNX. Реализации Windows ML (в пакете NuGet Microsoft.WindowsAppSDK.ML) определённых API из среды выполнения ONNX (ORT). Для получения информации смотрите документацию по API среды выполнения ONNX. Например, структуру OrtCompileApi. Примеры кода, использующие эти API и дополнительные ссылки на документацию, см. в руководстве по использованию Windows ML для запуска руководства по модели ResNet-50 .
Пакет NuGet Microsoft.WindowsAppSDK.ML
Среда выполнения машинного обучения Microsoft Windows предоставляет API для операций машинного обучения и искусственного интеллекта в приложениях Windows. Пакет NuGet Microsoft.WindowsAppSDK.ML предоставляет файлы среды выполнения .winmd Windows ML для использования в проектах C# и C++.
Колеса Python pywinrt
Среда выполнения машинного обучения Microsoft Windows использует проект pywinrt для предоставления доступа Python к тем же API машинного обучения Windows. Имя пакета — winui3-Microsoft.Windows.AI.MachineLearning. Дополнительные пакеты необходимы для использования пакета SDK для приложений Windows в Python. Дополнительные сведения см. в разделе "Запуск моделей ONNX" с windows ML .
API Машинного обучения Windows
Справочная документация по API и примеры кода см. в пространстве имен Microsoft.Windows.AI.MachineLearning .
Заметки о реализации
Среда выполнения Машинного обучения Windows интегрирована с пакетом SDK для приложений Windows и использует механизмы развертывания и начальной загрузки:
- Автоматически обнаруживает поставщики выполнения, совместимые с текущим оборудованием
- Управление временем существования пакета и обновлениями
- Обрабатывает регистрацию и активацию пакета
- Поддерживает разные версии поставщиков выполнения
Развертывание, зависящее от платформы
Windows ML поставляется в качестве зависимого от платформы компонента. Это означает, что ваше приложение должно либо:
- Ссылка на основной пакет NuGet пакета Sdk для приложений Windows, добавив ссылку на
Microsoft.WindowsAppSDK(рекомендуется) - Или, ссылайся на оба
Microsoft.WindowsAppSDK.MLиMicrosoft.WindowsAppSDK.Runtime
Дополнительные сведения о развертывании приложений пакета SDK для Приложений Windows см. в документации по пакету и развертыванию приложений Windows .
Использование среды выполнения ONNX с Windows ML
Для приложений C++ после регистрации поставщиков служб используйте ONNX Runtime C API непосредственно для создания сеансов и выполнения инференции.
Для приложений C# используйте среду выполнения ONNX непосредственно для проведения вычислений с помощью Microsoft.ML.OnnxRuntime пространства имен.
Для приложений Python используйте колесо onnxruntime-windowsml среды выполнения ONNX для вывода.
Заметки Python
Инициализация пакета SDK для приложений Windows
Все вызовы Машинного обучения Windows должны выполняться после инициализации пакета SDK для приложений Windows. Это можно сделать с помощью следующего кода:
from winui3.microsoft.windows.applicationmodel.dynamicdependency.bootstrap import (
InitializeOptions,
initialize
)
with initialize(options = InitializeOptions.ON_NO_MATCH_SHOW_UI):
# Your Windows ML code here
Регистрация происходит из Windows ML
Среда выполнения ONNX разработана таким образом, чтобы среды Python и собственные среды были разделены. Встроенные функции регистрации в том же процессе не будут работать в контексте Python. Таким образом, регистрация поставщиков выполнения должна выполняться непосредственно с ПОМОЩЬЮ API Python.
Удалите упакованный vcruntime из pywinrt
Проект pywinrt включает msvcp140.dll в пакет winrt-runtime. Это может конфликтовать с другими пакетами. Чтобы избежать этой проблемы, удалите библиотеку dll и установите отсутствующие библиотеки vcruntime с распространяемым пакетом VC.