Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
L'API runtime di ML Windows è attualmente sperimentale e non è supportata per l'uso in ambienti di produzione. Le app che provano questa API non devono essere pubblicate nel Microsoft Store.
Questo argomento illustra come configurare un progetto C++ nativo per usare l'API di runtime e creare un'istanza IWinMLRuntime. Continua a Eseguire un modello con l'API runtime di ML Windows per il caricamento del modello, l'associazione tensor e l'inferenza.
Prerequisites
- Versione Windows supportata dal
Microsoft.Windows.AI.MachineLearningpacchetto. Vedere requisiti di distribuzione di Windows ML. - Visual Studio 2022 o versione successiva con il carico di lavoro Sviluppo di applicazioni desktop con C++.
- Progetto console C++ nativo.
- Versione sperimentale
2.7.2021-experimentaldi Microsoft.Windows.AI.MachineLearning pacchetto NuGet. - Per il codice di esempio in queste pagine, C++20 e il pacchetto NuGet Microsoft.Windows.CppWinRT.
Note
C++20 e C++/WinRT sono requisiti di questi esempi di documentazione, non dell'API di runtime. L'API di runtime è un'interfaccia ABI di tipo COM nativa che può essere utilizzata anche da C o C++ usando COM, WRL, WIL o un altro helper COM in base ai requisiti del linguaggio dell'app.
Il target di esecuzione della CPU è il percorso di riferimento. La disponibilità di GPU e NPU dipende dal dispositivo, dalle funzionalità della piattaforma e dal back-end di esecuzione installato per l'app.
Configurare il ripristino NuGet nativo
I progetti Visual C++ nativi necessitano di un identificatore di destinazione NuGet, in modo che il ripristino del pacchetto selezioni gli asset nativi di Windows. Aggiungere questo gruppo di proprietà nella parte superiore del .vcxproj file prima dell'importazione Microsoft.Cpp.* :
<PropertyGroup Label="NuGet">
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
<NuGetTargetMoniker>native,Version=v0.0</NuGetTargetMoniker>
<NuGetTargetPlatformIdentifier>Windows</NuGetTargetPlatformIdentifier>
<NuGetTargetPlatformVersion>$(WindowsTargetPlatformVersion)</NuGetTargetPlatformVersion>
</PropertyGroup>
Installare il Microsoft.Windows.AI.MachineLearning pacchetto usando Gestisci pacchetti NuGet o PackageReference. Per compilare gli esempi in queste pagine, installare anche e impostare Microsoft.Windows.CppWinRT su ISO C++20 Standard (/std:c++20). Il pacchetto Windows ML fornisce le intestazioni di runtime, librerie di importazione e DLL autonome; C++/WinRT fornisce le winrt::com_ptrfunzionalità, winrt::check_hresulte <winrt/base.h> usate solo dal codice di esempio.
Per le opzioni di distribuzione e CMake, vedere Installazione autonoma.
Inizializza il runtime
Sostituisci main.cpp con il seguente codice:
// 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;
}
Compilare per l'architettura che corrisponde agli asset del pacchetto, ad esempio Release|x64. Una compilazione completata conferma che il ripristino nuGet ha trovato le intestazioni di runtime e la libreria di importazione e copiato le DLL necessarie accanto al file eseguibile.