Instalar e implantar o Windows ML

O Windows ML é fornecido como parte do SDK do Aplicativo do Windows e dá suporte a dois modos de implantação: dependente de estrutura (recomendado) e autocontido. Escolha com base nos requisitos de tamanho, atualização e dependência do aplicativo.

Para saber mais sobre o Windows ML, consulte o que é o Windows ML.

Início rápido

Aqui está a breve versão de como instalar o Windows ML em seu projeto:

Para dependentes de estrutura (recomendado), instale:

Para autossuficiente (aumenta o tamanho do aplicativo em aproximadamente 41 MB):

  • Para aplicativos direcionados para Windows 10 Build 18362 ou superior, instale Microsoft.Windows.AI.MachineLearning
  • Ou, para aplicativos direcionados para o Windows 10 Build 17763 ou superior, instale Microsoft.WindowsAppSDK.ML
  • Não instale Microsoft.WindowsAppSDK.Runtime ou o pacote principal Microsoft.WindowsAppSDK

Para obter detalhes completos sobre cada opção, consulte as seções abaixo.

Requirements

Note

Com o .NET 6, você pode usar o Microsoft.Windows.AI.MachineLearning namespace para instalar provedores de execução, mas Microsoft.ML.OnnxRuntime as APIs não estão disponíveis. Atualize para o .NET 8 para acessar a superfície completa da API do Windows ML.

O que há no Windows ML

O Windows ML é composto por estes binários:

Binário Descrição Tamanho aproximado.
Microsoft.Windows.AI.MachineLearning.dll APIs do Windows ML (ExecutionProviderCatalog, etc.) ~1 MB
onnxruntime.dll O motor de execução do ONNX ~20 MB
DirectML.dll DirectML — o provedor de execução de GPU incluído ~20 MB
Total ~41 MB

Os provedores de execução de fornecedores (QNN, VitisAI, OpenVINO, NvTensorRtRtx, MIGraphX) não fazem parte do Windows ML. Eles são obtidos separadamente — ou por meio do ExecutionProviderCatalog no tempo de execução, ou agrupados manualmente. Confira Os modelos de IA do Accelerate.

Escolhendo um modo de implantação

Ao usar o Windows ML, você pode escolher entre dois modos de implantação: dependente de estrutura (recomendado) e autocontido.

Dependente da estrutura (recomendado) Autossuficiente
Idiomas com suporte C#, C++/WinRT, Python C#, C++/WinRT, C/C++
Tipos de empacotamento com suporte Desempacotado e empacotado (MSIX) Desempacotado e empacotado (MSIX)
Implantação empresarial Supported Supported
Tamanho do aplicativo Menor : binários do Windows ML são compartilhados em todo o sistema Tamanho maior — os binários do Windows ML são incluídos com seu aplicativo (aproximadamente 41 MB)
Atualizações do Windows ML Automático – os usuários recebem atualizações por meio da manutenção do SDK de Aplicativo do Windows Manual – você envia uma nova versão quando escolhe
Dependência do runtime instalado Sim — O runtime do SDK de Aplicativos do Windows deve estar presente Não — todas as dependências estão no pacote do seu aplicativo
Pacote NuGet (C#/C++) Microsoft.WindowsAppSDK.ML + Microsoft.WindowsAppSDK.Runtime Microsoft.Windows.AI.MachineLearning Ou Microsoft.WindowsAppSDK.ML
Mais adequado para Aplicativos que exigem um tamanho mínimo de download/instalação; Envio de aplicativos pela Microsoft Store Controlo de versões rigoroso

Os aplicativos dependentes da estrutura dependem do runtime do SDK do Aplicativo do Windows que está sendo instalado no computador do usuário. Consulte a arquitetura de implantação para aplicativos dependentes de framework para obter mais detalhes.

Em seu projeto, instale ou atualize os seguintes pacotes NuGet:

Note

Como alternativa, instale/atualize o pacote NuGet principal do Microsoft.WindowsAppSDK para a versão 1.8.1 ou superior, que inclui o Windows ML e todas as outras APIs do SDK do Aplicativo Windows e usa como padrão dependente de estrutura.

Além disso, em seu .csproj arquivo, verifique se WindowsAppSDKSelfContained não está especificado (não está presente) ou false, para usar a implantação dependente da estrutura.

Por fim, consulte a arquitetura de implantação para aplicativos dependentes da estrutura para saber como implantar o runtime do SDK do Aplicativo do Windows nos dispositivos do usuário ao lado do aplicativo.

Instalação autocontida

Aplicativos independentes incorporam todos os binários do Windows ML diretamente no aplicativo. Nenhuma dependência externa de tempo de execução é necessária, mas seu aplicativo será maior. Esse é o padrão quando você faz referência a Microsoft.Windows.AI.MachineLearning ou Microsoft.WindowsAppSDK.ML sem fazer referência ao pacote principal Microsoft.WindowsAppSDK ou Microsoft.WindowsAppSDK.Runtime. Consulte o guia de implantação para aplicativos autocontidos para obter detalhes.

Em seu projeto, instale ou atualize os seguintes pacotes NuGet:

  • Para aplicativos destinados a Windows 10 Build 18362 ou superior:
  • Ou, para aplicativos direcionados ao Windows 10 Build 17763 ou superior:
    • Instale Microsoft.WindowsAppSDK.ML(isso adiciona as APIs e os binários do Windows ML, o padrão é autocontido e adiciona suporte ao RegFree WinRT para 17763)
  • NÃO instale Microsoft.WindowsAppSDK.Runtime(isso habilitaria o modo dependente da estrutura... remova-o se você o tiver instalado no momento)
  • NÃO instale o pacote NuGet Microsoft.WindowsAppSDK principal (isso habilitaria o modo dependente da estrutura... remova-o se você o tiver instalado no momento)
  • Fique à vontade para instalar outros pacotes de componentes do SDK do Aplicativo Windows, como Microsoft.WindowsAppSDK.AI, desde que você não instale o Runtime ou o pacote principal.

Note

Se você precisar usar o pacote NuGet principal do Microsoft.WindowsAppSDK, atualize-o para a versão 1.8.1 ou superior, que inclui o Windows ML e todas as outras APIs do SDK do Aplicativo Windows e, no seu .csproj, defina WindowsAppSDKSelfContained para true para habilitar o modo autônomo.

Próxima etapa

Consulte também