Udostępnij za pośrednictwem


Przenoszenie istniejącej aplikacji uczenia maszynowego systemu Windows do pakietu NuGet (C++)

W tym samouczku weźmiemy istniejącą aplikację na pulpit WinML i przeniesiemy ją, aby korzystała z redystrybuowalnego pakietu NuGet .

Warunki wstępne

  • Aplikacja WinML. Jeśli tworzysz nową aplikację, zobacz Samouczek: Utwórz desktopową aplikację Windows Machine Learning (C++)
  • Windows 8.1 lub nowszy
  • Visual Studio 2019 (lub Visual Studio 2017, wersja 15.7.4 lub nowsza)
  • Pobierz pakiet NuGet CppWinRT

Dodawanie pakietu NuGet do projektu

W projekcie programu Visual Studio dla istniejącej aplikacji przejdź do Eksploratora rozwiązań i wybierz pozycję Zarządzaj pakietami NuGet dla rozwiązania. Wybierz pakiet NuGet Microsoft.AI.MachineLearning. Upewnij się, że dodajesz do poprawnego projektu, a następnie naciśnij przycisk Zainstaluj.

Następnie ponownie skompiluj rozwiązanie. Zestaw narzędzi C++/WinRT przeanalizuje nowe nagłówki i metadane z pakietu Microsoft.AI.MachineLearning NuGet, unikając pomyłek w następnym kroku.

Dołącz nowy nagłówek

Aby stosować najlepsze praktyki, należy dodać flagę kontrolną, aby umożliwić aplikacji przełączanie się między używaniem wbudowanego Windows ML a pakietem NuGet.

#ifdef USE_WINML_NUGET
#include "winrt/Microsoft.AI.MachineLearning.h" 
#endif

Zmiana przestrzeni nazw

Następnie zezwól Windows::AI::Machinelearning na przełączenie się do przestrzeni nazw Microsoft::AI::MachineLearning przy użyciu flagi sterującej. Wprowadzając tę zmianę, kod automatycznie użyje pakietu NuGet, jeśli ma to zastosowanie.

#ifdef USE_WINML_NUGET 

Using namespace Microsoft::AI::MachineLearning 

#else 

Using namespace Windows::AI::MachineLearning 

#endif 

Zmienianie definicji preprocesora

Teraz kliknij prawym przyciskiem myszy projekt w eksploratorze rozwiązań i wybierz pozycję właściwości . W oknie Właściwości wybierz zakładkę preprocesora. Edytuj definicje preprocesora i zmień je na USE_WINML_NUGET:_DEBUG.

Zapisz konfiguracje kompilacji

Kliknij prawym przyciskiem myszy rozwiązanie w Eksploratorze Rozwiązań i wybierz Właściwości . W oknie właściwości wybierz pozycję Configuration Manager. Otwórz menu rozwijane Aktywna konfiguracja rozwiązania i wybierz <Nowy...>. Wprowadź nazwę nowej konfiguracji rozwiązania i upewnij się, że opcja Utwórz nowe konfiguracje projektu jest zaznaczona. Teraz definicje preprocesora można zapisać w żądanych konfiguracjach kompilacji.

Budowanie i uruchamianie

Aplikacja pomyślnie używa pakietu NuGet WinML.