Windows ML Çalışma Zamanı API'si için C++ projesi ayarlama

Important

Windows ML Çalışma Zamanı API'si şu anda deneyseldir ve üretim ortamlarında kullanım için desteklenmez. Bu API'yi deneyen uygulamalar Microsoft Store'da yayımlanmamalıdır.

Bu konu başlığında, Çalışma Zamanı API'sini kullanmak ve bir IWinMLRuntime örneği oluşturmak için yerel bir C++ projesi yapılandırma adımları gösterilmektedir. Model yükleme, tensor bağlama ve çıkarım için Windows ML Çalışma Zamanı API'siyle model çalıştırmak için devam edin.

Prerequisites

Note

C++20 ve C++/WinRT, Çalışma Zamanı API'sinin değil, bu belge örneklerinin gereksinimleridir. Runtime API, bu uygulamanın dil gereksinimlerine göre ham COM, WRL, WIL veya başka bir COM yardımcısı kullanılarak C veya C++'dan da kullanılabilen yerel COM stili bir ABI'dir.

CPU yürütme hedefi temel yoldur. GPU ve NPU kullanılabilirliği, cihaza, platform özelliklerine ve uygulamanız için yüklü yürütme arka ucuna bağlıdır.

Yerel NuGet geri yükleme yapılandırması

Yerel Visual C++ projeleri, paket geri yükleme işleminin yerel Windows öğelerini seçmesi için bir NuGet hedef tanımlayıcısına ihtiyaç duyar. Bu özellik grubunu, ilk Microsoft.Cpp.* içeri aktarma işleminden önce, .vcxproj dosyanın üst kısmına ekleyin:

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

Microsoft.Windows.AI.MachineLearning paketini NuGet Paketlerini Yönet veya PackageReference kullanarak yükleyin. Bu sayfalardaki örnekleri oluşturmak için öğesini de yükleyin ve Microsoft.Windows.CppWinRT ayarını ISO C++20 Standardı (/std:c++20) olarak ayarlayın. Windows ML paketi Çalışma Zamanı başlık dosyalarını, içeri aktarma kitaplıklarını ve bağımsız DLL'leri sağlar; C++/WinRT ise yalnızca örnek kod tarafından kullanılan winrt::check_hresult, <winrt/base.h> ve winrt::com_ptr yardımcı öğelerini sağlar.

CMake ve dağıtım seçenekleri için bkz. Kendi kendine yeterli kurulum.

Runtime'ı Başlat

main.cpp öğesini aşağıdaki kodla değiştirin:

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

Release|x64 gibi paket varlıklarıyla eşleşen mimari için derleyin. Başarılı bir derleme, NuGet geri yüklemesinin Runtime başlık dosyalarını ve içe aktarma kitaplığını bulduğunu ve gerekli DLL'leri yürütülebilir dosyanın yanına kopyaladığını onaylar.

Sonraki Adımlar