Instalar e implementar o Windows ML

O Windows ML é incluído no SDK de Aplicações Windows e suporta dois modos de implementação: dependente do framework (recomendado) e autónomo. Escolha com base no tamanho, atualização e requisitos de dependência da sua aplicação.

Para saber mais sobre o Windows ML, veja O que é o Windows ML.

Início rápido

Aqui está a versão curta de como instalar o Windows ML no seu projeto:

Para dependente do framework (recomendado), instale:

Para conteúdo autónomo (aumenta o tamanho da aplicação em ~41 MB):

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

Requisitos

Note

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

O que há no Windows ML

O Windows ML é composto por estes binários:

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

Os fornecedores de execução (QNN, VitisAI, OpenVINO, NvTensorRtRtx, MIGraphX) não fazem parte do próprio Windows ML. São obtidos separadamente — quer através do ExecutionProviderCatalog at runtime, quer agrupados por si próprio. Consulte Accelerate AI models.

Escolher um modo de implantação

Ao usar Windows ML, pode escolher entre dois modos de implementação: dependente do framework (recomendado) e autónomo.

Dependente do framework (recomendado) Autossuficiente
Idiomas suportados C#, C++/WinRT, Python C#, C++/WinRT, C/C++
Tipos de embalagem suportados Não embalado e embalado (MSIX) Não embalado e embalado (MSIX)
Implantação empresarial Suportado Suportado
Tamanho da aplicação Menor — Os binários do Windows ML são partilhados em todo o sistema Maior — Os binários do Windows ML vêm incluídos na sua aplicação (~41 MB)
Atualizações do Windows ML Automático — os utilizadores recebem atualizações através do serviço do SDK de aplicações do Windows Manual — envias uma nova versão quando escolheres
Dependência do tempo de execução instalado Sim — é necessário que o runtime do SDK de aplicações do Windows esteja presente Não — todas as dependências estão no pacote da sua aplicação
Pacote NuGet (C#/C++) Microsoft.WindowsAppSDK.ML + Microsoft.WindowsAppSDK.Runtime Microsoft.Windows.AI.MachineLearning ou Microsoft.WindowsAppSDK.ML
Melhor para Aplicações que requerem um tamanho mínimo de download/instalação; Aplicações enviadas através da Microsoft Store Controlo estrito de versões

As aplicações dependentes do framework dependem do tempo de execução do SDK do Windows App instalado na máquina do utilizador. Consulte Arquitetura de implementação para aplicações dependentes do framework para mais detalhes.

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

Note

Alternativamente, instale/atualize o pacote principal Microsoft.WindowsAppSDK NuGet para a versão 1.8.1 ou superior, que inclui o Windows ML e todas as outras APIs do SDK de Aplicações Windows, e por defeito depende do framework.

Além disso, no seu .csproj ficheiro, certifique-se de que WindowsAppSDKSelfContained está ou não especificado (não presente), ou false, para que utilize a implementação dependente do framework.

Por fim, consulte a Arquitetura de Implementação para aplicações dependentes do framework para aprender a implementar o runtime do SDK de Aplicações Windows nos dispositivos do seu utilizador juntamente com a sua aplicação.

Instalação autónoma

As aplicações autónomas agrupam todos os binários do Windows ML diretamente na aplicação. Não é necessária dependência externa em tempo de execução, mas a tua aplicação será maior. Este é o padrão quando se faz referência a Microsoft.Windows.AI.MachineLearning ou Microsoft.WindowsAppSDK.ML sem referenciar o pacote principal Microsoft.WindowsAppSDK ou Microsoft.WindowsAppSDK.Runtime. Consulte o guia de implementação para aplicações autónomas para mais detalhes.

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

  • Para aplicações direcionadas ao Windows 10 Build 18362 ou superior:
  • Ou, para aplicações direcionadas ao Windows 10 Build 17763 ou superior:
    • Instala Microsoft. WindowsAppSDK.ML(isto adiciona as APIs e binários de ML Windows, passa a ser autónomo por defeito e adiciona suporte RegFree para WinRT 17763)
  • NÃO instale o Microsoft.WindowsAppSDK.Runtime(isto permitiria o modo dependente do framework... remova-o se já o tiver instalado)
  • NÃO instale o pacote principal Microsoft.WindowsAppSDKNuGet (isto ativaria o modo dependente do framework... remova-o se já o tiver instalado)
  • Sinta-se à vontade para instalar outros pacotes de componentes do SDK de Aplicações Windows como Microsoft.WindowsAppSDK.AI, desde que não instale o Runtime ou o pacote principal

Note

Se tiver de usar o pacote principal Microsoft.WindowsAppSDK NuGet, atualize-o para a versão 1.8.1 ou superior, que inclui o Windows ML e todas as outras APIs do SDK de Aplicações Windows, e no seu .csproj, defina WindowsAppSDKSelfContained para true ativar o modo autónomo.

Próximo passo

Consulte também