-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Added winml-compatible ep validation tool for accuracy and perf measurements #26953
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…urements of ONNX models
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
Run lintrunner -a to apply this patch.
| @@ -0,0 +1,424 @@ | |||
| #include "accuracy_validation.h" | |||
Check warning
Code scanning / lintrunner
CLANGFORMAT/format Warning test
Run lintrunner -a to apply this patch.
| @@ -0,0 +1,18 @@ | |||
| #pragma once | |||
Check warning
Code scanning / lintrunner
CLANGFORMAT/format Warning test
Run lintrunner -a to apply this patch.
| @@ -0,0 +1,571 @@ | |||
| #pragma once | |||
Check warning
Code scanning / lintrunner
CLANGFORMAT/format Warning test
Run lintrunner -a to apply this patch.
| @@ -0,0 +1,122 @@ | |||
| #include "dataset_reader.h" | |||
Check warning
Code scanning / lintrunner
CLANGFORMAT/format Warning test
Run lintrunner -a to apply this patch.
| @@ -0,0 +1,57 @@ | |||
| #include <filesystem> | |||
Check warning
Code scanning / lintrunner
CLANGFORMAT/format Warning test
Run lintrunner -a to apply this patch.
| @@ -0,0 +1,81 @@ | |||
| #include "profiling_utils.h" | |||
Check warning
Code scanning / lintrunner
CLANGFORMAT/format Warning test
Run lintrunner -a to apply this patch.
| @@ -0,0 +1,43 @@ | |||
| #pragma once | |||
Check warning
Code scanning / lintrunner
CLANGFORMAT/format Warning test
Run lintrunner -a to apply this patch.
| @@ -0,0 +1,9 @@ | |||
| #include <codecvt> | |||
Check warning
Code scanning / lintrunner
CLANGFORMAT/format Warning test
Run lintrunner -a to apply this patch.
| @@ -0,0 +1,433 @@ | |||
| #include "tensor_utils.h" | |||
Check warning
Code scanning / lintrunner
CLANGFORMAT/format Warning test
Run lintrunner -a to apply this patch.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
onnxruntime/test/ep_validation_tool/scripts/cmake/parse_encryption_key_packages.cmake
Outdated
Show resolved
Hide resolved
onnxruntime/test/ep_validation_tool/scripts/cmake/download_nuget.cmake
Outdated
Show resolved
Hide resolved
@microsoft-github-policy-service agree company="Microsoft" |
…urements of ONNX models
Description
Motivation and Context