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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="YoloDotNet.ExecutionProvider.DirectML" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="YoloDotNet.ExecutionProvider.DirectML" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="YoloDotNet.ExecutionProvider.DirectML" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add YoloDotNet.ExecutionProvider.DirectML --version 1.0.0
                    
#r "nuget: YoloDotNet.ExecutionProvider.DirectML, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package YoloDotNet.ExecutionProvider.DirectML@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=YoloDotNet.ExecutionProvider.DirectML&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=YoloDotNet.ExecutionProvider.DirectML&version=1.0.0
                    
Install as a Cake Tool

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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 151 1/17/2026

Initial release. This execution provider requires YoloDotNet version 4.1.