Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Important
De Windows ML Runtime-API is momenteel experimenteel en wordt niet ondersteund voor gebruik in productieomgevingen. Apps die deze API uitproberen, mogen niet worden gepubliceerd naar de Microsoft Store.
In dit onderwerp wordt beschreven hoe u een systeemeigen C++-project configureert om de Runtime-API te gebruiken en een IWinMLRuntime exemplaar te maken. Ga door met het uitvoeren van een model met de Windows ML Runtime-API voor het laden van modellen, tensor-binding en inferentie.
Prerequisites
- Een Windows versie die wordt ondersteund door het
Microsoft.Windows.AI.MachineLearningpakket. Zie Windows ML-implementatievereisten. - Visual Studio 2022 of hoger met de Desktop development with C++-workload.
- Een native C++-consoleproject.
- De experimentele versie
2.7.2021-experimentalvan Microsoft.Windows.AI.MachineLearning NuGet-pakket. - Voor de voorbeeldcode op deze pagina's heb je C++20 en het Microsoft.Windows.CppWinRT NuGet-pakket nodig.
Note
C++20 en C++/WinRT zijn vereisten van deze documentatievoorbeelden, niet van de Runtime-API. De Runtime-API is een native COM-stijl ABI die ook kan worden gebruikt vanuit C of C++ met raw COM, WRL, WIL of een andere COM-helper, volgens de taalvereisten van die app.
Het CPU-uitvoeringsdoel is het basislijnpad. De beschikbaarheid van GPU en NPU is afhankelijk van het apparaat, de platformmogelijkheden en de uitvoeringsback-end die voor uw app is geïnstalleerd.
Systeemeigen NuGet-restore configureren
Systeemeigen Visual C++-projecten hebben een NuGet-doelmoniker nodig, zodat pakketherstel de systeemeigen Windows assets selecteert. Voeg deze eigenschapsgroep toe aan de bovenkant van het .vcxproj bestand vóór de eerste Microsoft.Cpp.* import:
<PropertyGroup Label="NuGet">
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
<NuGetTargetMoniker>native,Version=v0.0</NuGetTargetMoniker>
<NuGetTargetPlatformIdentifier>Windows</NuGetTargetPlatformIdentifier>
<NuGetTargetPlatformVersion>$(WindowsTargetPlatformVersion)</NuGetTargetPlatformVersion>
</PropertyGroup>
Installeer het Microsoft.Windows.AI.MachineLearning pakket met behulp van NuGet-pakketten beheren of PackageReference. Als u de voorbeelden op deze pagina's wilt compileren, installeert u ook Microsoft.Windows.CppWinRT en stelt u C++-taalstandaard in op ISO C++20-standaard (/std:c++20). Het Windows ML-pakket levert de Runtime-headers, importbibliotheken en zelfstandige DLL's; C++/WinRT levert de hulpmiddelen winrt::com_ptr, winrt::check_hresult en <winrt/base.h>, die alleen worden gebruikt door de voorbeeldcode.
Zie Zelfstandige installatie voor CMake en uitrolopties.
Runtime initialiseren
Vervang main.cpp door de volgende code:
// Copyright (C) Microsoft Corporation. All rights reserved.
#include <Windows.h>
#include <winrt/base.h>
#include <WinMLRuntime.h>
#pragma comment(lib, "windowsapp.lib")
int wmain()
{
winrt::com_ptr<IWinMLRuntime> runtime;
winrt::check_hresult(WinMLCreateRuntime(
__uuidof(IWinMLRuntime),
runtime.put_void()));
return 0;
}
Bouw voor de architectuur die overeenkomt met de pakketassets, zoals Release|x64. Een geslaagde build bevestigt dat nuGet-herstel de Runtime-headers en importbibliotheek heeft gevonden en dat de vereiste DLL's naast het uitvoerbare bestand zijn gekopieerd.