Dela via


Integrera en modell i din app med Windows ML

I den här guiden går vi igenom hur du använder Windows ML-API:er för att integrera en modell i din Windows-app. Om du vill använda Windows ML:s automatiska kodgenerator kan du också kolla in mlgen.

Viktiga API:er: Windows.AI.MachineLearning

Vi går över de grundläggande byggstenarna i Windows ML, som är:

  • Modeller
  • Sessioner
  • Enheter
  • Bindningar

Du använder dessa för att läsa in, binda och utvärdera dina modeller med Windows ML.

Vi rekommenderar också att du tar en titt på våra exempelappar på GitHub för att se windows ML-kodexempel från slutpunkt till slutpunkt.

Följande video visar dessa API:er i praktiken i en kort demonstration.


Använda WinML-API:er i C++

WinML-API:erna är tillgängliga i både C++/CX och C++/WinRT, men vi rekommenderar att du använder C++/WinRT-versionen, eftersom det möjliggör mer naturlig C++-kodning och är där de flesta utvecklingsinsatserna kommer att fokuseras framöver. Du kan följa anvisningarna nedan som gäller din specifika situation för att använda C++/WinRT-API:erna:

  • Om du riktar in dig på Windows 1803 eller tidigare kan du läsa Självstudie: Porta en befintlig WinML-app till NuGet-paket.
  • Om du skapar ett nytt C++-program läser du Självstudie: Skapa ett Windows Machine Learning Desktop-program (C++) och följ stegen upp till Läs in modellen.
  • Om du har ett befintligt C++-program (som inte redan har konfigurerats för C++/WinRT) följer du dessa steg för att konfigurera ditt program för C++/WinRT:
    1. Kontrollera att du har den senaste versionen av Visual Studio 2019 installerad (valfri utgåva).
    2. Kontrollera att du har SDK för Windows 10, version 1803 eller senare.
    3. Ladda ned och installera C++/WinRT Visual Studio-tillägget (VSIX) från Visual Studio Marketplace.
    4. Lägg till egenskapen <CppWinRTEnabled>true</CppWinRTEnabled> i projektets .vcxproj-fil:
      <Project ...>
          <PropertyGroup Label="Globals">
              <CppWinRTEnabled>true</CppWinRTEnabled>
      ...
      
    5. C++/WinRT kräver funktioner från C++17-standarden, så i projektegenskaperna anger du C/C++ > Language > C++ Language Standard > ISO C++17 Standard (/std:c++17).
    6. Ange överensstämmelseläge: Ja (/tillåtande-) i projektegenskaperna.
    7. En annan projektegenskap att känna till är C/C++ > Allmänna > behandla varningar som fel. Ställ in på Ja (/WX) eller Nej (/WX-) efter smak. Ibland genererar källfiler som genereras av verktygetcppwinrt.exe varningar tills du lägger till implementeringen i dem.
    8. VSIX ger dig också Visual Studio-inbyggda felsökningsvisualisering (natvis) av C++/WinRT-beräknade typer, vilket ger en upplevelse som liknar C#-felsökning. Natvis är automatiskt för felsökningsversioner. Du kan välja dess versionsversioner genom att definiera symbolen WINRT_NATVIS.
    9. Projektet bör nu konfigureras för C++/WinRT. Mer information finns i C++/WinRT .

Anmärkning

Använd följande resurser för hjälp med Windows ML:

  • Om du vill ställa eller besvara tekniska frågor om Windows ML använder du taggen windows-machine-learningStack Overflow.
  • Om du vill rapportera en bugg, skicka in en felrapport på vår GitHub-sida .