YoloDotNet.ExecutionProvider.DirectML
1.0.0
dotnet add package YoloDotNet.ExecutionProvider.DirectML --version 1.0.0
NuGet\Install-Package YoloDotNet.ExecutionProvider.DirectML -Version 1.0.0
<PackageReference Include="YoloDotNet.ExecutionProvider.DirectML" Version="1.0.0" />
<PackageVersion Include="YoloDotNet.ExecutionProvider.DirectML" Version="1.0.0" />
<PackageReference Include="YoloDotNet.ExecutionProvider.DirectML" />
paket add YoloDotNet.ExecutionProvider.DirectML --version 1.0.0
#r "nuget: YoloDotNet.ExecutionProvider.DirectML, 1.0.0"
#:package YoloDotNet.ExecutionProvider.DirectML@1.0.0
#addin nuget:?package=YoloDotNet.ExecutionProvider.DirectML&version=1.0.0
#tool nuget:?package=YoloDotNet.ExecutionProvider.DirectML&version=1.0.0
Information
YoloDotNet uses modular execution providers to run inference on different hardware backends. Each provider targets a specific platform or accelerator and may require additional system-level dependencies such as runtimes, drivers, or operating system support.
Installing the NuGet package alone is not always sufficient --- proper
setup depends on the selected execution provider and the target system.
This document describes the installation and usage of the DirectML
execution provider.
Core Library Requirement
All execution providers require the core YoloDotNet package.
NuGet Package
dotnet add package YoloDotNet
Execution Provider -- DirectML
The DirectML execution provider enables GPU-accelerated inference on Windows using Microsoft DirectML via ONNX Runtime.
DirectML provides a hardware-agnostic GPU backend built on DirectX 12, allowing inference on a wide range of GPUs without vendor-specific SDKs.
This provider is well-suited for: - Windows desktop applications - Systems without CUDA or OpenVINO - Environments where a unified GPU API is preferred
⚠️ Note
This execution provider depends on Windows DirectML support via DirectX 12. No additional SDKs are required beyond a supported Windows version and GPU driver.
Requirements
- Windows 10 or newer (x64)
- GPU with DirectX 12 support (NVIDIA, AMD, or Intel)
- Up-to-date GPU drivers
- ONNX model compatible with DirectML execution
Installation
NuGet Package
dotnet add package YoloDotNet.ExecutionProvider.DirectML
YoloDotNet.ExecutionProvider.DirectML v1.0 requires YoloDotNet version 4.1.
No separate DirectML or DirectX SDK installation is required. DirectML is provided as part of Windows and ONNX Runtime.
Usage Example
using YoloDotNet;
using YoloDotNet.ExecutionProvider.DirectML;
using var yolo = new Yolo(new YoloOptions
{
ExecutionProvider = new DirectMLExecutionProvider(
model: "path/to/model.onnx",
gpuId: 0
),
// ...other options
});
Notes on Performance & Compatibility
- DirectML performance depends heavily on GPU driver quality and model structure.
- For maximum throughput on NVIDIA hardware, the CUDA execution provider may offer higher performance.
DirectML prioritizes broad compatibility and ease of deployment over vendor-specific optimizations.
Troubleshooting
If inference fails to initialize:
- Verify that the GPU supports DirectX 12.
- Ensure GPU drivers are up to date.
- Confirm that only one execution provider package is referenced.
- Validate that the ONNX model is supported by ONNX Runtime DirectML.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Microsoft.ML.OnnxRuntime.DirectML (>= 1.23.0)
- YoloDotNet (>= 4.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 150 | 1/17/2026 |
Initial release. This execution provider requires YoloDotNet version 4.1.