Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Una vez cargado un LearningModel, se crea un LearningModelSession, que enlaza el modelo a un dispositivo que se ejecuta y evalúa el modelo.
Elegir un dispositivo
Puede seleccionar un dispositivo al crear una sesión. Elija un dispositivo de tipo LearningModelDeviceKind:
- Predeterminado
- Deje que el sistema decida qué dispositivo usar. Actualmente, el dispositivo predeterminado es la CPU.
- CPU
- Use la CPU, incluso si hay otros dispositivos disponibles.
- DirectX
- Use un dispositivo de aceleración de hardware directX, específicamente el primer adaptador enumerado por IDXGIFactory1::EnumAdapters1.
- DirectXHighPerformance
- Igual que DirectX, pero usará DXGI_GPU_PREFERENCE_HIGH_PERFORMANCE al enumerar adaptadores.
- DirectXMinPower
- Igual que DirectX, pero usará DXGI_GPU_PREFERENCE_MINIMUM_POWER al enumerar adaptadores.
Si no especifica un dispositivo, el sistema usa Default. Se recomienda usar Default para obtener la flexibilidad de permitir que el sistema lo elija en el futuro.
En el vídeo siguiente se detalla más detalladamente cada uno de los tipos de dispositivo.
Creación avanzada de dispositivos
Windows AI admite el uso de un dispositivo que el autor de la llamada ya ha creado. Hay varias opciones y consideraciones al hacerlo:
- CreateFromDirect3D11Device. Úselo cuando ya tenga un IDirect3DDevice existente. La inteligencia artificial de Windows usará ese mismo adaptador para crear un dispositivo d3d12 para sus cargas de trabajo de aprendizaje automático. Esto resulta útil cuando tienes una cámara que usa un dispositivo d3d11 para VideoFrames y quieres usar ese mismo dispositivo para learningModelSession. En muchos casos, puede evitar una copia de memoria. Nota: La tensorización de VideoFrame es la única carga de trabajo d3d11 que tiene Windows AI. Si no usa esa característica, no hay ninguna ventaja para compartir ni crear un dispositivo d3d11.
- CreateFromD3D12CommandQueue (nativa). Úselo cuando tenga un dispositivo d3d12 que quiera reutilizar. Windows AI usará esa cola de comandos para sus cargas de trabajo de aprendizaje automático. También creará un dispositivo d3d11 con D3D11On12CreateDevice. Esto solo se hace cuando sea necesario y se usará para todas las cargas de trabajo d3d11, como la tensorización de VideoFrame. Puede acceder a este nuevo dispositivo a través de la propiedad LearningModelDevice.Direct3D11Device.
Ejemplo
En el ejemplo siguiente se muestra cómo crear una sesión a partir de un modelo y 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));
}
Consulte también
- Anterior: Cargar un modelo
- Siguiente: Vincular un modelo
Nota:
Use los siguientes recursos para obtener ayuda con Windows ML:
- Para formular o responder a preguntas técnicas sobre Windows Machine Learning, utilice la etiqueta windows-machine-learning en Stack Overflow.
- Para notificar un error, registre un problema en GitHub.