Windows.ai.machinelearning
// Force GPU var device = new LearningModelDevice(LearningModelDeviceKind.DirectXHighPerformance); // Force NPU (Windows 11 24H2+) var device = new LearningModelDevice(LearningModelDeviceKind.Npu);
// Get output var outputTensor = results.Outputs["output"] as TensorFloat; var outputArray = outputTensor.GetAsVectorView(); public async Task<string> ClassifyImage(SoftwareBitmap bitmap) windows.ai.machinelearning
var session = new LearningModelSession(model, device); var outputArray = outputTensor.GetAsVectorView()
// Run inference var results = await session.EvaluateAsync(binding, "runId"); public async Task<
mldata.exe model.onnx /namespace MyApp.ML /output ModelCode.cs
// 5. Map to label return Labels[ArgMax(classId)]; Windows ML automatically uses DirectML – you don’t need to change code. But you can select the device:
var result = await session.EvaluateAsync(binding, ""); var classId = result.Outputs["softmaxout"] as TensorFloat;