Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Important
API ML Runtime Windows saat ini bersifat eksperimental dan tidak didukung untuk digunakan di lingkungan produksi. Aplikasi yang menguji API ini tidak boleh diterbitkan ke Microsoft Store.
Topik ini menunjukkan kepada Anda cara mengonfigurasi proyek C++ asli untuk menggunakan API Runtime dan membuat IWinMLRuntime instans. Lanjutkan menjalankan model dengan WINDOWS ML Runtime API untuk pemuatan model, pengikatan tensor, dan inferensi.
Prerequisites
- Versi Windows yang didukung oleh paket
Microsoft.Windows.AI.MachineLearning. Lihat persyaratan penyebaran ML Windows. - Visual Studio 2022 atau yang lebih baru dengan Desktop development with C++.
- Proyek konsol C++ native.
- Versi eksperimental
2.7.2021-experimentaldari paket NuGet Microsoft.Windows.AI.MachineLearning. - Untuk kode sampel pada halaman ini, gunakan C++20 dan paket NuGet Microsoft.Windows.CppWinRT.
Note
C++20 dan C++/WinRT adalah persyaratan sampel dokumentasi ini, bukan dari API Runtime. Runtime API adalah ABI bergaya COM asli yang juga dapat dikonsumsi dari C atau C++ dengan menggunakan COM mentah, WRL, WIL, atau com helper lain di bawah persyaratan bahasa aplikasi tersebut.
Target eksekusi CPU adalah jalur acuan. Ketersediaan GPU dan NPU tergantung pada perangkat, kemampuan platform, dan backend eksekusi yang diinstal untuk aplikasi Anda.
Mengonfigurasi pemulihan paket NuGet asli
Proyek Visual C++ asli memerlukan moniker target NuGet sehingga pemulihan paket memilih aset Windows asli. Tambahkan grup properti ini di dekat bagian atas file .vcxproj, sebelum impor pertama Microsoft.Cpp.*:
<PropertyGroup Label="NuGet">
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
<NuGetTargetMoniker>native,Version=v0.0</NuGetTargetMoniker>
<NuGetTargetPlatformIdentifier>Windows</NuGetTargetPlatformIdentifier>
<NuGetTargetPlatformVersion>$(WindowsTargetPlatformVersion)</NuGetTargetPlatformVersion>
</PropertyGroup>
Instal paket Microsoft.Windows.AI.MachineLearning dengan menggunakan Kelola Paket NuGet atau PackageReference. Untuk membuat sampel di halaman ini, instal Microsoft.Windows.CppWinRT dan atur C++ Language Standard ke ISO C++20 Standard (/std:c++20). Paket Windows ML memasok header Runtime, pustaka impor, dan DLL mandiri; C++/WinRT memasok winrt::com_ptr, winrt::check_hresult, dan <winrt/base.h> kemudahan yang hanya digunakan oleh kode sampel.
Untuk opsi CMake dan deployment, lihat Instalasi mandiri.
Inisialisasi Runtime
Ganti main.cpp dengan kode berikut:
// 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;
}
Bangun untuk arsitektur yang cocok dengan aset paket, seperti Release|x64. Build yang berhasil mengonfirmasi bahwa pemulihan NuGet menemukan header Runtime dan pustaka impor serta menyalin DLL yang diperlukan di samping berkas yang dapat dieksekusi.