Added winml-compatible ep validation tool for accuracy and perf measurements#26953
Added winml-compatible ep validation tool for accuracy and perf measurements#26953
Conversation
…urements of ONNX models
There was a problem hiding this comment.
lintrunner found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
| @@ -0,0 +1,398 @@ | |||
| // EpValidationTool.cpp : This file contains the 'main' function. Program execution begins and ends there. | |||
Check warning
Code scanning / lintrunner
CLANGFORMAT/format Warning test
| @@ -0,0 +1,424 @@ | |||
| #include "accuracy_validation.h" | |||
Check warning
Code scanning / lintrunner
CLANGFORMAT/format Warning test
| @@ -0,0 +1,18 @@ | |||
| #pragma once | |||
Check warning
Code scanning / lintrunner
CLANGFORMAT/format Warning test
| @@ -0,0 +1,571 @@ | |||
| #pragma once | |||
Check warning
Code scanning / lintrunner
CLANGFORMAT/format Warning test
| @@ -0,0 +1,122 @@ | |||
| #include "dataset_reader.h" | |||
Check warning
Code scanning / lintrunner
CLANGFORMAT/format Warning test
| @@ -0,0 +1,57 @@ | |||
| #include <filesystem> | |||
Check warning
Code scanning / lintrunner
CLANGFORMAT/format Warning test
| @@ -0,0 +1,81 @@ | |||
| #include "profiling_utils.h" | |||
Check warning
Code scanning / lintrunner
CLANGFORMAT/format Warning test
| @@ -0,0 +1,43 @@ | |||
| #pragma once | |||
Check warning
Code scanning / lintrunner
CLANGFORMAT/format Warning test
| @@ -0,0 +1,9 @@ | |||
| #include <codecvt> | |||
Check warning
Code scanning / lintrunner
CLANGFORMAT/format Warning test
| @@ -0,0 +1,433 @@ | |||
| #include "tensor_utils.h" | |||
Check warning
Code scanning / lintrunner
CLANGFORMAT/format Warning test
There was a problem hiding this comment.
Pull request overview
This PR adds a WinML-compatible execution provider validation tool designed for accuracy and performance measurements of ONNX models. The tool supports multiple stages: data generation, model compilation, performance testing, and accuracy validation.
Changes:
- Implements a comprehensive EP validation tool with support for both PSORT and WinML build configurations
- Adds support for multiple accuracy metrics (L2Norm, Cosine, MAE, MSE) and performance profiling
- Includes infrastructure for dataset management, model compilation, and result reporting
Reviewed changes
Copilot reviewed 39 out of 39 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| onnxruntime/test/ep_validation_tool/winml/external/libnpy | Adds libnpy submodule for numpy array handling |
| onnxruntime/test/ep_validation_tool/winml/external/json | Adds nlohmann/json submodule for JSON parsing |
| onnxruntime/test/ep_validation_tool/winml/EpValidationToolWinML/packages.config | NuGet package configuration for WinML dependencies |
| onnxruntime/test/ep_validation_tool/src/performance_runner.cpp | Core performance testing and inference runner implementation |
| onnxruntime/test/ep_validation_tool/src/accuracy_validation.cpp | Implementation of accuracy metrics and validation logic |
| onnxruntime/test/ep_validation_tool/src/config.h | Configuration parsing and command-line argument handling |
| onnxruntime/test/ep_validation_tool/EpValidationTool.cpp | Main entry point orchestrating data generation, inference, and validation stages |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
@microsoft-github-policy-service agree company="Microsoft" |
…urements of ONNX models
Description
Motivation and Context