Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
När du har läst in en LearningModel skapar du en LearningModelSession som binder modellen till en enhet som kör och utvärderar modellen.
Välj en enhet
Du kan välja en enhet när du skapar en session. Du väljer en enhet av typen LearningModelDeviceKind:
-
Standard
- Låt systemet bestämma vilken enhet som ska användas. För närvarande är standardenheten processorn.
-
PROCESSOR
- Använd processorn, även om andra enheter är tillgängliga.
-
DirectX (på engelska)
- Använd en DirectX-maskinvaruaccelerationsenhet, specifikt den första adaptern som räknas upp av IDXGIFactory1::EnumAdapters1.
-
DirectXHighPerformance (på engelska)
- Samma som DirectX, men använder DXGI_GPU_PREFERENCE_HIGH_PERFORMANCE när adaptrar enumereras.
-
DirectXMinPower (på engelska)
- Samma som DirectX, men kommer att använda DXGI_GPU_PREFERENCE_MINIMUM_POWER vid enumerering av grafikkort.
Om du inte anger en enhet använder systemet Standard. Vi rekommenderar att du använder Standard för att få flexibiliteten att låta systemet välja åt dig i framtiden.
Följande video går in mer detaljerat om var och en av enhetstyperna.
Avancerat enhetsskapande
Windows AI stöder användning av en enhet som anroparen redan har skapat. Det finns flera alternativ och överväganden när du gör detta:
- CreateFromDirect3D11Device. Använd detta när du redan har en befintlig IDirect3DDevice. Windows AI använder samma adapter för att skapa en d3d12-enhet för sina ML-uppgifter. Detta är användbart när du har en kamera som använder en d3d11-enhet för VideoFrames och du vill använda samma enhet för din LearningModelSession. I många fall kan det undvika en minneskopia. Obs! VideoFrame-tensorisering är den enda d3d11-uppgiften som Windows AI har. Om du inte använder den funktionen finns det ingen fördel med att dela eller skapa en d3d11-enhet.
- CreateFromD3D12CommandQueue (inbyggd). Använd detta när du har en d3d12-enhet som du vill återanvända. Windows AI använder den kommandokön för sina arbetsuppgifter inom maskininlärning. Den skapar också en d3d11-enhet med D3D11On12CreateDevice. Detta görs endast när det behövs och kommer att användas för alla d3d11-arbetsbelastningar, till exempel VideoFrame-tensorization. Du kan komma åt den här nya enheten via egenskapen LearningModelDevice.Direct3D11Enhet.
Exempel
I följande exempel visas hur du skapar en session från en modell och en enhet:
private void CreateSession(LearningModel model, LearningModelDeviceKind kind)
{
// Create the evaluation session with the model and device
LearningModelSession session =
new LearningModelSession(model, new LearningModelDevice(kind));
}
Se även
- Föregående: Ladda en modell
- Nästa: Binda en modell
Anmärkning
Använd följande resurser för hjälp med Windows ML:
- Om du vill ställa eller besvara tekniska frågor om Windows ML använder du taggen windows-machine-learning på Stack Overflow.
- Om du vill rapportera en bugg, skicka in en felrapport på vår GitHub-sida .