Fix WebGPU ConvTranspose bias validation in TypeScript and C++ implementations - #27213
Conversation
Co-authored-by: guschmue <22941064+guschmue@users.noreply.github.com>
…ndant check Co-authored-by: guschmue <22941064+guschmue@users.noreply.github.com>
Co-authored-by: guschmue <22941064+guschmue@users.noreply.github.com>
Guenther Schmuelling (guschmue)
left a comment
There was a problem hiding this comment.
you also need to make the change in onnxruntime/core/providers/webgpu/nn/conv_transpose.cc
Co-authored-by: guschmue <22941064+guschmue@users.noreply.github.com>
Added bias validation to the C++ implementation in commit 0d53e11. The validation checks that bias is 1D and has size equal to output channels (group * filter_shape[1]), matching the logic in the TypeScript implementation. |
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Guenther Schmuelling (guschmue)
left a comment
There was a problem hiding this comment.
lint is failing:
Error: Following source files are not formatted: (did you run "npm run format"?)
js/web/lib/wasm/jsep/webgpu/ops/conv-transpose.ts
Co-authored-by: guschmue <22941064+guschmue@users.noreply.github.com>
Fixed formatting by running prettier in commit 7c55b81. The file now passes linting checks. |
|
/azp run Linux QNN CI Pipeline,Win_TRT_Minimal_CUDA_Test_CI,Windows ARM64 QNN CI Pipeline,Windows GPU Doc Gen CI Pipeline |
|
Azure Pipelines successfully started running 4 pipeline(s). |
Description
WebGPU EP's ConvTranspose operator failed to properly validate bias tensor shape in both TypeScript and C++ implementations. Undefined
groupattribute caused NaN in validation checks, allowing invalid bias tensors to pass.TypeScript Changes (
js/web/lib/wasm/jsep/webgpu/ops/conv-transpose.ts):groupto 1 when undefined (line 135 inparseConvTransposeAttributes)validateInputs):C++ Changes (
onnxruntime/core/providers/webgpu/nn/conv_transpose.cc):ComputeInternal):Code Formatting:
Motivation and Context
Addresses issue where tests with intentionally invalid bias shapes were incorrectly passing in the WebGPU EP. The fix ensures:
groupattribute in TypeScriptNote: The C++ implementation already handles
groupattribute defaulting to 1 in the ConvAttributes base class, so only bias validation needed to be added.Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.