Condividi tramite


Crea una sessione .

Dopo aver caricato LearningModel, si crea un LearningModelSession che associa il modello a un dispositivo che esegue e valuta il modello.

Scegliere un dispositivo

È possibile selezionare un dispositivo quando si crea una sessione. Scegli un dispositivo di tipo LearningModelDeviceKind:

  • Predefinita
    • Lasciare che il sistema decida quale dispositivo usare. Attualmente, il dispositivo predefinito è la CPU.
  • CPU
    • Usare la CPU, anche se sono disponibili altri dispositivi.
  • DirectX
  • DirectXHighPerformance
  • DirectXMinPower

Se non si specifica un dispositivo, il sistema usa Default. È consigliabile usare Default per ottenere la flessibilità necessaria per consentire al sistema di scegliere in futuro.

Il video seguente illustra in dettaglio ogni tipo di dispositivo.


Creazione avanzata dei dispositivi

Windows per intelligenza artificiale supporta l'uso di un dispositivo già creato dal chiamante. Quando si esegue questa operazione, sono disponibili diverse opzioni e considerazioni:

  • CreateFromDirect3D11Device. Usare questa opzione quando si dispone già di un dispositivo IDirect3DDevice esistente. Windows AI utilizzerà lo stesso adattatore per creare un dispositivo d3d12 per i carichi di lavoro di apprendimento automatico. Ciò è utile quando si dispone di una fotocamera che usa un dispositivo d3d11 per VideoFrame e si vuole usare lo stesso dispositivo per LearningModelSession. In molti casi può evitare una copia di memoria. Nota: la tensorizzazione di VideoFrame è l'unico carico di lavoro d3d11 gestito da Windows AI. Se non si usa questa funzionalità non esiste alcun vantaggio per la condivisione o la creazione di un dispositivo d3d11.
  • CreateFromD3D12CommandQueue (nativo). Usa questa opzione quando hai un dispositivo d3d12 che vuoi riutilizzare. Windows AI userà quella coda di comandi per i carichi di lavoro ML. Creerà anche un dispositivo d3d11 usando D3D11On12CreateDevice. Questa operazione viene eseguita solo quando necessario e verrà usata per tutti i carichi di lavoro d3d11, ad esempio la tensorizzazione di VideoFrame. È possibile accedere a questo nuovo dispositivo tramite la proprietà LearningModelDevice.Direct3D11Device.

Esempio

L'esempio seguente illustra come creare una sessione da un modello e un dispositivo:

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

Vedere anche

Annotazioni

Per informazioni su Windows Machine Learning, usa le risorse seguenti:

  • Per porre o rispondere a domande tecniche su Windows ML, usare il tag windows-machine-learning in Stack Overflow.
  • Per segnalare un bug, segnalare un problema in GitHub.