Skip to content

Fix XNNPACK Clip/Relu fusion when the producer output has other consumers#28814

Open
tairenpiao wants to merge 1 commit into
microsoft:mainfrom
tairenpiao:fix-xnnpack-relu-fanout
Open

Fix XNNPACK Clip/Relu fusion when the producer output has other consumers#28814
tairenpiao wants to merge 1 commit into
microsoft:mainfrom
tairenpiao:fix-xnnpack-relu-fanout

Conversation

@tairenpiao
Copy link
Copy Markdown
Contributor

Description

ClipReluChecker fuses Conv/MaxPool/AveragePool with a following Clip/Relu without checking other consumers of the producer output. The fused node only exposes the activation output, so a side consumer (or graph output) of the pre-activation value is left dangling and session creation fails with Invalid model. Node input '...' is not a graph input, initializer, or output of a previous node. Reject the fusion in that case.

Adds XnnpackEP.TestPoolReluFusionRejectedWithSideConsumer.

Motivation and Context

Fixes #28543, fixes #28544.

…mers (microsoft#28543)

Reject the fusion if the Conv/MaxPool/AveragePool output is a graph output or has a non-activation consumer; the fused node only exposes the activation output. Add a regression test.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant