Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Nachdem Sie ein LearningModel geladen haben, erstellen Sie eine LearningModelSession, die das Modell an ein Gerät bindet, das ausgeführt wird und das Modell auswertet.
Auswählen eines Geräts
Sie können ein Gerät auswählen, wenn Sie eine Sitzung erstellen. Sie wählen ein Gerät vom Typ LearningModelDeviceKind aus:
-
Vorgabe
- Lassen Sie das System entscheiden, welches Gerät verwendet werden soll. Derzeit ist das Standardgerät die CPU.
-
CPU
- Verwenden Sie die CPU, auch wenn andere Geräte verfügbar sind.
-
DirectX (Englisch)
- Verwenden Sie ein DirectX-Hardwarebeschleunigungsgerät, insbesondere den ersten Adapter, der von IDXGIFactory1::EnumAdapters1 aufgezählt wird.
-
DirectXHighLeistung
- Identisch mit DirectX, wird jedoch beim Aufzählen von Adaptern DXGI_GPU_PREFERENCE_HIGH_PERFORMANCE verwendet.
-
DirectXMinPower
- Identisch mit DirectX, wird jedoch beim Aufzählen von Adaptern DXGI_GPU_PREFERENCE_MINIMUM_POWER verwendet.
Wenn Sie kein Gerät angeben, verwendet das System "Default". Wir empfehlen, Standard zu verwenden, damit das System in Zukunft für Sie auswählen kann und Sie flexibel bleiben.
Das folgende Video enthält ausführlichere Informationen zu den einzelnen Gerätetypen.
Erweiterte Geräteerstellung
Windows AI unterstützt die Verwendung eines Geräts, das der Aufrufer bereits erstellt hat. Bei dieser Vorgehensweise gibt es mehrere Optionen und Überlegungen:
- CreateFromDirect3D11Device. Verwenden Sie dies, wenn Sie bereits über ein IDirect3DDevice verfügen. Windows AI verwendet diesen Adapter, um ein d3d12-Gerät für seine ML-Workloads zu erstellen. Dies ist nützlich, wenn Sie über eine Kamera verfügen, die ein d3d11-Gerät für VideoFrames verwendet, und Sie dasselbe Gerät für Ihre LearningModelSession verwenden möchten. In vielen Fällen kann eine Speicherkopie vermieden werden. Hinweis: Die VideoFrame-Tensorisierung ist die einzige d3d11-Workload, die Windows AI hat. Wenn Sie dieses Feature nicht verwenden, gibt es keinen Vorteil beim Teilen oder Erstellen eines d3d11-Geräts.
- CreateFromD3D12CommandQueue (nativ). Verwenden Sie diese Vorgehensweise, wenn Sie über ein d3d12-Gerät verfügen, das Sie wiederverwenden möchten. Windows AI verwendet diese Befehlswarteschlange für ihre ML-Workloads. Außerdem wird mit D3D11On12CreateDevice ein d3d11-Gerät erstellt. Dies erfolgt nur bei Bedarf und wird für alle d3d11-Workloads wie die VideoFrame-Tensorisierung verwendet. Sie können über die LearningModelDevice.Direct3D11Device-Eigenschaft auf dieses neue Gerät zugreifen.
Beispiel
Das folgende Beispiel zeigt, wie Sie eine Sitzung aus einem Modell und einem Gerät erstellen:
private void CreateSession(LearningModel model, LearningModelDeviceKind kind)
{
// Create the evaluation session with the model and device
LearningModelSession session =
new LearningModelSession(model, new LearningModelDevice(kind));
}
Siehe auch
- Zurück: Laden eines Modells
- Nächstes: Binden eines Modells
Hinweis
Verwenden Sie die folgenden Ressourcen, wenn Sie Hilfe mit Windows ML benötigen:
- Wenn Sie technische Fragen zu Windows ML stellen oder beantworten möchten, verwenden Sie das Tag windows-machine-learning auf Stack Overflow.
- Um einen Fehler zu melden, erstellen Sie bitte eine Meldung auf unserem GitHub.