Konfigurera ett C++-projekt för Windows ML Runtime API

Important

WINDOWS ML Runtime-API:et är för närvarande experimentellt och stöds inte för användning i produktionsmiljöer. Appar som testar det här API:et bör inte publiceras till Microsoft Store.

Det här avsnittet visar hur du konfigurerar ett native C++-projekt för att använda Runtime-API:et och skapa en IWinMLRuntime-instans. Fortsätt till Köra en modell med Windows ML Runtime API för modellinläsning, tensorbindning och inferens.

Prerequisites

Note

C++20 och C++/WinRT är krav för dessa dokumentationsexempel, inte för Runtime-API:et. Runtime API är ett inbyggt ABI i COM-stil som också kan användas från C eller C++ med hjälp av rå COM, WRL, WIL eller någon annan COM-hjälp enligt appens språkkrav.

Cpu-körningsmålet är baslinjesökvägen. GPU- och NPU-tillgängligheten beror på enheten, plattformsfunktionerna och körningsbakändan som är installerad för din app.

Konfigurera inbyggd NuGet-återställning

Inbyggda Visual C++-projekt behöver en NuGet-målmoniker så paketåterställning väljer de inbyggda Windows-resurserna. Lägg till den här egenskapsgruppen längst upp i .vcxproj filen innan den första Microsoft.Cpp.* importen:

<PropertyGroup Label="NuGet">
  <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
  <NuGetTargetMoniker>native,Version=v0.0</NuGetTargetMoniker>
  <NuGetTargetPlatformIdentifier>Windows</NuGetTargetPlatformIdentifier>
  <NuGetTargetPlatformVersion>$(WindowsTargetPlatformVersion)</NuGetTargetPlatformVersion>
</PropertyGroup>

Microsoft.Windows.AI.MachineLearning Installera paketet med hjälp av Hantera NuGet-paket eller PackageReference. Om du vill bygga exemplen på dessa sidor installerar du även Microsoft.Windows.CppWinRT och anger C++ Language Standard till ISO C++20 Standard (/std:c++20). WINDOWS ML-paketet tillhandahåller Runtime-huvuden, importbibliotek och fristående DLL:er. C++/WinRT tillhandahåller de winrt::com_ptr, winrt::check_hresult och <winrt/base.h> hjälpfunktioner som endast används av exempelkoden.

För CMake- och distributionsalternativ, se Fristående installation.

Initiera körningsmiljön

Ersätt main.cpp med följande kod:

// 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;
}

Bygg för den arkitektur som matchar paketresurserna, till exempel Release|x64. Ett lyckat bygge bekräftar att NuGet-återställningen hittade Runtime-huvudena och importbiblioteket och kopierade nödvändiga DLL:er bredvid den körbara filen.

Nästa steg