Partilhar via


Introdução ao Windows Machine Learning

Há várias maneiras de usar o Windows Machine Learning no seu aplicativo. Basicamente, você precisa apenas de algumas etapas simples.

  1. Obtenha um modelo ONNX (Open Neural Network Exchange) treinado ou converta os modelos treinados em outras estruturas de ML em ONNX com o ONNXMLTools.

  2. Adicione o arquivo de modelo ONNX ao seu aplicativo ou disponibilize-o de outra forma no dispositivo de destino.

  3. Integre o modelo no código do aplicativo e, em seguida, crie e implante o aplicativo.

Training environment, add model reference, application, Windows ML

Soluções nativas versus soluções NuGet do WinML

A tabela abaixo destaca a disponibilidade, a distribuição, o suporte ao idioma, a manutenção e os aspectos de compatibilidade de encaminhamento nativos e do pacote NuGet para o Windows ML.

Propriedades Nativo NuGet
Disponibilidade Windows 10 versão 1809 ou superior Windows 8.1 ou superior
Distribuição Integrado ao SDK do Windows Empacotar e distribuir como parte do seu aplicativo
Manutenção Conduzido pela Microsoft (os clientes se beneficiam automaticamente) Conduzido pelo desenvolvedor
Compatibilidade com encaminhamento Efetua roll forward automaticamente com novos recursos O desenvolvedor precisa atualizar o pacote manualmente

Quando o seu aplicativo é executado com a solução nativa, o runtime do Windows ML (que contém o Mecanismo de inferência de modelo do ONNX) avalia o modelo treinado no dispositivo do Windows 10 (ou do Windows Server 2019, se estiver direcionando a implantação de um servidor). O Windows ML cuida da abstração de hardware, permitindo que os desenvolvedores direcionem uma ampla gama de tipos de silício, incluindo CPUs, GPUs e, no futuro, aceleradores de IA. A aceleração de hardware do Windows ML baseia-se no DirectML, uma API de alto desempenho e de baixo nível para execução de inferências de ML que faz parte da família DirectX.

windows ml layers

windows ml nuget package

Para o pacote NuGet, essas camadas aparecem como os binários mostrados no diagrama abaixo. O Windows ML é integrado ao Microsoft.ai.machinelearning.dll. Ele não contém um runtime do ONNX incorporado. Em vez disso, o runtime do ONNX é integrado ao arquivo: onnxruntime.dll. A versão incluída nos pacotes NuGet do WindowsAI contém um EP da DirectML incorporado. O binário final, DirectML.dll, é o código real da plataforma como DirectML e é integrado sobre o Direct 3D e as unidades de computação que são incorporadas ao Windows. Todos esses três binários estão incluídos nas versões do NuGet para que você os distribua junto com os seus aplicativos.

O acesso direto ao onnxruntime.dll também permite que você direcione cenários multiplataforma enquanto obtém a mesma aceleração independente de hardware que é escalada em todos os dispositivos Windows.

Outras soluções de aprendizado de máquina da Microsoft

A Microsoft oferece uma variedade de soluções de aprendizado de máquina para atender às suas necessidades. Essas soluções são executadas na nuvem, em um ambiente local e localmente no dispositivo. Confira Quais são as opções de produtos de aprendizado de máquina da Microsoft? para obter mais informações.

Saiba mais

Se você quiser usar o pacote NuGet do Windows ML, confira Tutorial: Portabilidade de um aplicativo do WinML existente para pacote NuGet.

Para obter os recursos e as correções mais recentes do Windows ML, confira nossas notas sobre a versão.

Observação

Use os recursos a seguir para obter ajuda com o Windows ML:

  • Para fazer perguntas ou responder a perguntas técnicas sobre o Windows ML, use a marca windows-machine-learning no Stack Overflow.
  • Para relatar um bug, registre um problema no nosso GitHub.