Udostępnij przez


Tworzenie sesji

Po załadowaniu LearningModel utworzysz sesję LearningModelSession, która wiąże model z urządzeniem uruchamiającym i oceniającym model.

Wybieranie urządzenia

Urządzenie można wybrać podczas tworzenia sesji. Wybierz urządzenie typu LearningModelDeviceKind:

  • Domyślny
    • Pozwól systemowi zdecydować, które urządzenie ma być używane. Obecnie domyślnym urządzeniem jest procesor CPU.
  • PROCESOR
    • Użyj procesora CPU, nawet jeśli inne urządzenia są dostępne.
  • Technologia DirectX
    • Użyj urządzenia przyspieszania sprzętowego DirectX, w szczególności pierwszego adaptera wyliczanego przez IDXGIFactory1::EnumAdapters1.
  • DirectXHighWydajność
  • DirectXMinPower

Jeśli nie określisz urządzenia, system używa opcji Domyślne. Zalecamy użycie opcji Domyślne , aby uzyskać elastyczność zezwalania systemowi na wybór w przyszłości.

Poniższy film wideo zawiera bardziej szczegółowe informacje o każdym z rodzajów urządzeń.


Zaawansowane tworzenie urządzenia

Sztuczna inteligencja systemu Windows obsługuje korzystanie z urządzenia, które zostało już utworzone przez obiekt wywołujący. Podczas wykonywania tej czynności należy wziąć pod uwagę kilka opcji i zagadnień:

  • CreateFromDirect3D11Device. Użyj tego, gdy masz już istniejący IDirect3DDevice. Usługa Windows AI będzie używać tego samego adaptera graficznego do tworzenia urządzenia D3D12 dla obciążeń uczenia maszynowego. Jest to przydatne, gdy masz aparat, który korzysta z interfejsu d3d11 dla VideoFrame i chcesz użyć tego samego interfejsu dla sesji modelu uczenia. W wielu przypadkach może uniknąć kopiowania pamięci. Uwaga: tensoryzacja ramki wideo jest jedynym obciążeniem d3d11 systemu Windows AI. Jeśli nie używasz tej funkcji, nie ma możliwości udostępniania ani tworzenia urządzenia d3d11.
  • CreateFromD3D12CommandQueue (natywna). Użyj tej funkcji, gdy masz urządzenie d3d12, którego chcesz użyć ponownie. Sztuczna inteligencja systemu Windows będzie używać tej kolejki poleceń dla obciążeń uczenia maszynowego. Spowoduje to również utworzenie urządzenia d3d11 przy użyciu D3D11On12CreateDevice. Odbywa się to tylko wtedy, gdy jest to konieczne i będzie używane dla wszystkich obciążeń d3d11, takich jak tensoryzacja ramki wideo. Dostęp do tego nowego urządzenia można uzyskać za pomocą właściwości LearningModelDevice.Direct3D11Device.

Przykład

W poniższym przykładzie pokazano, jak utworzyć sesję na podstawie modelu i urządzenia:

private void CreateSession(LearningModel model, LearningModelDeviceKind kind)
{
    // Create the evaluation session with the model and device
    LearningModelSession session =
        new LearningModelSession(model, new LearningModelDevice(kind));
}

Zobacz także

Uwaga / Notatka

Skorzystaj z następujących zasobów, aby uzyskać pomoc dotyczącą uczenia maszynowego z systemem Windows:

  • Aby zadać lub odpowiedzieć na pytania techniczne dotyczące uczenia maszynowego z systemem Windows, użyj tagu windows-machine-learning w witrynie Stack Overflow.
  • Aby zgłosić usterkę, popełnij zgłoszenie na GitHubie .