Condividi tramite


Creare 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:

  • Default
    • Consentire al sistema di decidere 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 automaticamente in futuro.

Il video seguente illustra in dettaglio ognuno dei tipi di dispositivo.


Creazione avanzata dei dispositivi

Windows AI 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 IDirect3DDevice esistente. L'intelligenza artificiale di Windows userà la stessa scheda per creare un dispositivo d3d12 per i carichi di lavoro di Machine Learning. 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 di Windows per intelligenza artificiale di d3d11. Se non si usa questa funzionalità, non esiste alcun vantaggio per la condivisione o la creazione di un dispositivo d3d11.
  • CreateFromD3D12CommandQueue (nativo).CreateFromD3D12CommandQueue (native). Usare questa opzione quando si dispone di un dispositivo d3d12 che si vuole riutilizzare. L'intelligenza artificiale di Windows userà tale coda di comandi per i carichi di lavoro di Machine Learning. 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));
}

Vedi anche

Nota

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

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