Support rankRange for op output tensors in opSupportLimits#857
Support rankRange for op output tensors in opSupportLimits#857huningxin merged 5 commits intowebmachinelearning:mainfrom
Conversation
|
/cc @philloooo |
|
FYI, I am prototyping it in Chromium, will inform whether this PR is good to merge. |
f474e81 to
573f901
Compare
huningxin
left a comment
There was a problem hiding this comment.
@fdwr @reillyeon , adding new changes that are based on Chromium prototype: https://chromium-review.googlesource.com/c/chromium/src/+/6903617, please take another look. Thanks!
| <td>*output*</td> | ||
| <td>{{MLArgMinMaxOptions/outputDataType}}</td> | ||
| <td>{{input}}'s [=MLOperand/rank=] - 1 to {{input}}'s [=MLOperand/rank=]</td> | ||
| <td>{{MLOperandDataType/"int32"}}, {{MLOperandDataType/"int64"}}</td> |
There was a problem hiding this comment.
Note: This should list all allowed data types. The original outputDatatype is more useful for output data type calculation in the algorithm steps.
| <td>*output*</td> | ||
| <td>[=/same type as|same as=] {{a}}</td> | ||
| <td>maximum of {{a}}'s [=MLOperand/rank=] and {{b}}'s [=MLOperand/rank=]</td> | ||
| <td>[=/any rank|N=]</td> |
There was a problem hiding this comment.
Note: Same here and the following, the allowed ranks, not the output rank calculation.
1. Add allowed ranks for all lstm and gru output tensors. 2. Validate new shape's rank of expand and reshape operations. 3. Simplify allowed ranks for some operations based on implementation experience. 4. Other minor changes for consistency.
9e651d8 to
356febd
Compare
Move the output tensor rank range info from constraints table to Returns section for argMin/Max and reduction ops. The element-wise binary and logical ops, matmul and where ops already have such info in the Returns section. Fix issues of output rank description of prelu and scatterND.
This CL prototypes WebNN spec change [1] that supports tensor rank range for graph input, constant, output and each operation's output. This CL adds new shape rank validation according to allowed output tensor rank of expand and reshape operations. The sequence output of gru and cell operations has different rank, this CL extends context properties to support them. For logical ops, the output rank ranges are set to each op's input rank ranges, while the output data types are set to unified logical output data type of context properties. [1]: webmachinelearning/webnn#857 Bug: 442209350 Change-Id: Ie5ca5c794cebb4586bcccaaa8d237be1dffea458
This CL prototypes WebNN spec change [1] that supports tensor rank range for graph input, constant, output and each operation's output. This CL adds new shape rank validation according to allowed output tensor rank of expand and reshape operations. The sequence output of gru and cell operations has different rank, this CL extends context properties to support them. For logical ops, the output rank ranges are set to each op's input rank ranges, while the output data types are set to unified logical output data type of context properties. [1]: webmachinelearning/webnn#857 Bug: 442209350 Change-Id: Ie5ca5c794cebb4586bcccaaa8d237be1dffea458 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6903617 Reviewed-by: Reilly Grant <[email protected]> Reviewed-by: Alex Gough <[email protected]> Commit-Queue: ningxin hu <[email protected]> Cr-Commit-Position: refs/heads/main@{#1516982}
This CL prototypes WebNN spec change [1] that supports tensor rank range for graph input, constant, output and each operation's output. This CL adds new shape rank validation according to allowed output tensor rank of expand and reshape operations. The sequence output of gru and cell operations has different rank, this CL extends context properties to support them. For logical ops, the output rank ranges are set to each op's input rank ranges, while the output data types are set to unified logical output data type of context properties. [1]: webmachinelearning/webnn#857 Bug: 442209350 Change-Id: Ie5ca5c794cebb4586bcccaaa8d237be1dffea458 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6903617 Reviewed-by: Reilly Grant <[email protected]> Reviewed-by: Alex Gough <[email protected]> Commit-Queue: ningxin hu <[email protected]> Cr-Commit-Position: refs/heads/main@{#1516982}
This CL prototypes WebNN spec change [1] that supports tensor rank range for graph input, constant, output and each operation's output. This CL adds new shape rank validation according to allowed output tensor rank of expand and reshape operations. The sequence output of gru and cell operations has different rank, this CL extends context properties to support them. For logical ops, the output rank ranges are set to each op's input rank ranges, while the output data types are set to unified logical output data type of context properties. [1]: webmachinelearning/webnn#857 Bug: 442209350 Change-Id: Ie5ca5c794cebb4586bcccaaa8d237be1dffea458 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6903617 Reviewed-by: Reilly Grant <[email protected]> Reviewed-by: Alex Gough <[email protected]> Commit-Queue: ningxin hu <[email protected]> Cr-Commit-Position: refs/heads/main@{#1516982}
…mits" This reverts commit 6591b48. Reason for revert: A lot of virtual/webnn-service-on-npu tests are failing. Bug: 445793611 Original change's description: > WebNN: Support rankRange for op output tensors in opSupportLimits > > This CL prototypes WebNN spec change [1] that supports tensor rank > range for graph input, constant, output and each operation's output. > > This CL adds new shape rank validation according to allowed output > tensor rank of expand and reshape operations. > > The sequence output of gru and cell operations has different rank, > this CL extends context properties to support them. > > For logical ops, the output rank ranges are set to each op's input > rank ranges, while the output data types are set to unified logical > output data type of context properties. > > [1]: webmachinelearning/webnn#857 > > Bug: 442209350 > Change-Id: Ie5ca5c794cebb4586bcccaaa8d237be1dffea458 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6903617 > Reviewed-by: Reilly Grant <[email protected]> > Reviewed-by: Alex Gough <[email protected]> > Commit-Queue: ningxin hu <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1516982} Bug: 442209350 No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: I7a4d7c4b3d2296ebaf5b7285fa7448adaa79546c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6963214 Bot-Commit: Rubber Stamper <[email protected]> Commit-Queue: Tsuyoshi Horo <[email protected]> Owners-Override: Tsuyoshi Horo <[email protected]> Cr-Commit-Position: refs/heads/main@{#1517021}
…mits" This reverts commit 6591b48a057a42cc1a621b2e7b74aa35157c2bd5. Reason for revert: A lot of virtual/webnn-service-on-npu tests are failing. Bug: 445793611 Original change's description: > WebNN: Support rankRange for op output tensors in opSupportLimits > > This CL prototypes WebNN spec change [1] that supports tensor rank > range for graph input, constant, output and each operation's output. > > This CL adds new shape rank validation according to allowed output > tensor rank of expand and reshape operations. > > The sequence output of gru and cell operations has different rank, > this CL extends context properties to support them. > > For logical ops, the output rank ranges are set to each op's input > rank ranges, while the output data types are set to unified logical > output data type of context properties. > > [1]: webmachinelearning/webnn#857 > > Bug: 442209350 > Change-Id: Ie5ca5c794cebb4586bcccaaa8d237be1dffea458 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6903617 > Reviewed-by: Reilly Grant <[email protected]> > Reviewed-by: Alex Gough <[email protected]> > Commit-Queue: ningxin hu <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1516982} Bug: 442209350 No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: I7a4d7c4b3d2296ebaf5b7285fa7448adaa79546c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6963214 Bot-Commit: Rubber Stamper <[email protected]> Commit-Queue: Tsuyoshi Horo <[email protected]> Owners-Override: Tsuyoshi Horo <[email protected]> Cr-Commit-Position: refs/heads/main@{#1517021}
…mits" This reverts commit 6591b48a057a42cc1a621b2e7b74aa35157c2bd5. Reason for revert: A lot of virtual/webnn-service-on-npu tests are failing. Bug: 445793611 Original change's description: > WebNN: Support rankRange for op output tensors in opSupportLimits > > This CL prototypes WebNN spec change [1] that supports tensor rank > range for graph input, constant, output and each operation's output. > > This CL adds new shape rank validation according to allowed output > tensor rank of expand and reshape operations. > > The sequence output of gru and cell operations has different rank, > this CL extends context properties to support them. > > For logical ops, the output rank ranges are set to each op's input > rank ranges, while the output data types are set to unified logical > output data type of context properties. > > [1]: webmachinelearning/webnn#857 > > Bug: 442209350 > Change-Id: Ie5ca5c794cebb4586bcccaaa8d237be1dffea458 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6903617 > Reviewed-by: Reilly Grant <[email protected]> > Reviewed-by: Alex Gough <[email protected]> > Commit-Queue: ningxin hu <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1516982} Bug: 442209350 No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: I7a4d7c4b3d2296ebaf5b7285fa7448adaa79546c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6963214 Bot-Commit: Rubber Stamper <[email protected]> Commit-Queue: Tsuyoshi Horo <[email protected]> Owners-Override: Tsuyoshi Horo <[email protected]> Cr-Commit-Position: refs/heads/main@{#1517021}
…mits" This is a reland of commit 6591b48a057a42cc1a621b2e7b74aa35157c2bd5 This reland fixes WPT failures for CoreML by keeping the error message consistent and adding the WPT rebaseline results. Because blink-side can validate the rank range of operation output, graph input and output, this reland removes the async error handling for reshape output, graph input and output in CoreML backend. Original change's description: > WebNN: Support rankRange for op output tensors in opSupportLimits > > This CL prototypes WebNN spec change [1] that supports tensor rank > range for graph input, constant, output and each operation's output. > > This CL adds new shape rank validation according to allowed output > tensor rank of expand and reshape operations. > > The sequence output of gru and cell operations has different rank, > this CL extends context properties to support them. > > For logical ops, the output rank ranges are set to each op's input > rank ranges, while the output data types are set to unified logical > output data type of context properties. > > [1]: webmachinelearning/webnn#857 > > Bug: 442209350 > Change-Id: Ie5ca5c794cebb4586bcccaaa8d237be1dffea458 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6903617 > Reviewed-by: Reilly Grant <[email protected]> > Reviewed-by: Alex Gough <[email protected]> > Commit-Queue: ningxin hu <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1516982} Bug: 442209350, 445793611 Change-Id: Id666c89b8860abe06bac9a1e912057887c3fe03f Cq-Include-Trybots: luci.chromium.try:win11-blink-rel, mac14.arm64-blink-rel, mac14-blink-rel, mac15.arm64-blink-rel, mac15-blink-rel, linux-blink-rel
…mits" This is a reland of commit 6591b48 This reland fixes WPT failures for CoreML by keeping the error message consistent and adding the WPT rebaseline results. Because blink-side can validate the rank range of operation output, graph input and output, this reland removes the async error handling for reshape output, graph input and output in CoreML backend. Original change's description: > WebNN: Support rankRange for op output tensors in opSupportLimits > > This CL prototypes WebNN spec change [1] that supports tensor rank > range for graph input, constant, output and each operation's output. > > This CL adds new shape rank validation according to allowed output > tensor rank of expand and reshape operations. > > The sequence output of gru and cell operations has different rank, > this CL extends context properties to support them. > > For logical ops, the output rank ranges are set to each op's input > rank ranges, while the output data types are set to unified logical > output data type of context properties. > > [1]: webmachinelearning/webnn#857 > > Bug: 442209350 > Change-Id: Ie5ca5c794cebb4586bcccaaa8d237be1dffea458 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6903617 > Reviewed-by: Reilly Grant <[email protected]> > Reviewed-by: Alex Gough <[email protected]> > Commit-Queue: ningxin hu <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1516982} Bug: 442209350, 445793611 Change-Id: Id666c89b8860abe06bac9a1e912057887c3fe03f Cq-Include-Trybots: luci.chromium.try:win11-blink-rel, mac14.arm64-blink-rel, mac14-blink-rel, mac15.arm64-blink-rel, mac15-blink-rel, linux-blink-rel Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6963704 Reviewed-by: Alex Gough <[email protected]> Reviewed-by: Reilly Grant <[email protected]> Commit-Queue: ningxin hu <[email protected]> Cr-Commit-Position: refs/heads/main@{#1517665}
…mits" This is a reland of commit 6591b48a057a42cc1a621b2e7b74aa35157c2bd5 This reland fixes WPT failures for CoreML by keeping the error message consistent and adding the WPT rebaseline results. Because blink-side can validate the rank range of operation output, graph input and output, this reland removes the async error handling for reshape output, graph input and output in CoreML backend. Original change's description: > WebNN: Support rankRange for op output tensors in opSupportLimits > > This CL prototypes WebNN spec change [1] that supports tensor rank > range for graph input, constant, output and each operation's output. > > This CL adds new shape rank validation according to allowed output > tensor rank of expand and reshape operations. > > The sequence output of gru and cell operations has different rank, > this CL extends context properties to support them. > > For logical ops, the output rank ranges are set to each op's input > rank ranges, while the output data types are set to unified logical > output data type of context properties. > > [1]: webmachinelearning/webnn#857 > > Bug: 442209350 > Change-Id: Ie5ca5c794cebb4586bcccaaa8d237be1dffea458 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6903617 > Reviewed-by: Reilly Grant <[email protected]> > Reviewed-by: Alex Gough <[email protected]> > Commit-Queue: ningxin hu <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1516982} Bug: 442209350, 445793611 Change-Id: Id666c89b8860abe06bac9a1e912057887c3fe03f Cq-Include-Trybots: luci.chromium.try:win11-blink-rel, mac14.arm64-blink-rel, mac14-blink-rel, mac15.arm64-blink-rel, mac15-blink-rel, linux-blink-rel Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6963704 Reviewed-by: Alex Gough <[email protected]> Reviewed-by: Reilly Grant <[email protected]> Commit-Queue: ningxin hu <[email protected]> Cr-Commit-Position: refs/heads/main@{#1517665}
…mits" This is a reland of commit 6591b48a057a42cc1a621b2e7b74aa35157c2bd5 This reland fixes WPT failures for CoreML by keeping the error message consistent and adding the WPT rebaseline results. Because blink-side can validate the rank range of operation output, graph input and output, this reland removes the async error handling for reshape output, graph input and output in CoreML backend. Original change's description: > WebNN: Support rankRange for op output tensors in opSupportLimits > > This CL prototypes WebNN spec change [1] that supports tensor rank > range for graph input, constant, output and each operation's output. > > This CL adds new shape rank validation according to allowed output > tensor rank of expand and reshape operations. > > The sequence output of gru and cell operations has different rank, > this CL extends context properties to support them. > > For logical ops, the output rank ranges are set to each op's input > rank ranges, while the output data types are set to unified logical > output data type of context properties. > > [1]: webmachinelearning/webnn#857 > > Bug: 442209350 > Change-Id: Ie5ca5c794cebb4586bcccaaa8d237be1dffea458 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6903617 > Reviewed-by: Reilly Grant <[email protected]> > Reviewed-by: Alex Gough <[email protected]> > Commit-Queue: ningxin hu <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1516982} Bug: 442209350, 445793611 Change-Id: Id666c89b8860abe06bac9a1e912057887c3fe03f Cq-Include-Trybots: luci.chromium.try:win11-blink-rel, mac14.arm64-blink-rel, mac14-blink-rel, mac15.arm64-blink-rel, mac15-blink-rel, linux-blink-rel Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6963704 Reviewed-by: Alex Gough <[email protected]> Reviewed-by: Reilly Grant <[email protected]> Commit-Queue: ningxin hu <[email protected]> Cr-Commit-Position: refs/heads/main@{#1517665}
|
@huningxin : Are you waiting for https://chromium-review.googlesource.com/c/chromium/src/+/6972836 to complete before completing this one? |
@fdwr , I don't think Chromium CL-6972836 blocks this PR. @anssiko helped put this PR onto this week's WG meeting's agenda. I'd like to wait for the discussion before merging this one. |
Okie dokie. UPDATE 2025-09-25 meeting: Good to merge. |
…ensors in opSupportLimits, a=testonly Automatic update from web-platform-tests WebNN: Support rankRange for op output tensors in opSupportLimits This CL prototypes WebNN spec change [1] that supports tensor rank range for graph input, constant, output and each operation's output. This CL adds new shape rank validation according to allowed output tensor rank of expand and reshape operations. The sequence output of gru and cell operations has different rank, this CL extends context properties to support them. For logical ops, the output rank ranges are set to each op's input rank ranges, while the output data types are set to unified logical output data type of context properties. [1]: webmachinelearning/webnn#857 Bug: 442209350 Change-Id: Ie5ca5c794cebb4586bcccaaa8d237be1dffea458 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6903617 Reviewed-by: Reilly Grant <[email protected]> Reviewed-by: Alex Gough <[email protected]> Commit-Queue: ningxin hu <[email protected]> Cr-Commit-Position: refs/heads/main@{#1516982} -- wpt-commits: 34da2092da4074353852e8c29cbdef803f96de86 wpt-pr: 54904
…output tensors in opSupportLimits", a=testonly Automatic update from web-platform-tests Revert "WebNN: Support rankRange for op output tensors in opSupportLimits" This reverts commit 6591b48a057a42cc1a621b2e7b74aa35157c2bd5. Reason for revert: A lot of virtual/webnn-service-on-npu tests are failing. Bug: 445793611 Original change's description: > WebNN: Support rankRange for op output tensors in opSupportLimits > > This CL prototypes WebNN spec change [1] that supports tensor rank > range for graph input, constant, output and each operation's output. > > This CL adds new shape rank validation according to allowed output > tensor rank of expand and reshape operations. > > The sequence output of gru and cell operations has different rank, > this CL extends context properties to support them. > > For logical ops, the output rank ranges are set to each op's input > rank ranges, while the output data types are set to unified logical > output data type of context properties. > > [1]: webmachinelearning/webnn#857 > > Bug: 442209350 > Change-Id: Ie5ca5c794cebb4586bcccaaa8d237be1dffea458 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6903617 > Reviewed-by: Reilly Grant <[email protected]> > Reviewed-by: Alex Gough <[email protected]> > Commit-Queue: ningxin hu <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1516982} Bug: 442209350 No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: I7a4d7c4b3d2296ebaf5b7285fa7448adaa79546c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6963214 Bot-Commit: Rubber Stamper <[email protected]> Commit-Queue: Tsuyoshi Horo <[email protected]> Owners-Override: Tsuyoshi Horo <[email protected]> Cr-Commit-Position: refs/heads/main@{#1517021} -- wpt-commits: 63da81f59a723a0ac53e1c19ce5d3848801bc82b wpt-pr: 54916
…output tensors in opSupportLimits", a=testonly Automatic update from web-platform-tests Reland "WebNN: Support rankRange for op output tensors in opSupportLimits" This is a reland of commit 6591b48a057a42cc1a621b2e7b74aa35157c2bd5 This reland fixes WPT failures for CoreML by keeping the error message consistent and adding the WPT rebaseline results. Because blink-side can validate the rank range of operation output, graph input and output, this reland removes the async error handling for reshape output, graph input and output in CoreML backend. Original change's description: > WebNN: Support rankRange for op output tensors in opSupportLimits > > This CL prototypes WebNN spec change [1] that supports tensor rank > range for graph input, constant, output and each operation's output. > > This CL adds new shape rank validation according to allowed output > tensor rank of expand and reshape operations. > > The sequence output of gru and cell operations has different rank, > this CL extends context properties to support them. > > For logical ops, the output rank ranges are set to each op's input > rank ranges, while the output data types are set to unified logical > output data type of context properties. > > [1]: webmachinelearning/webnn#857 > > Bug: 442209350 > Change-Id: Ie5ca5c794cebb4586bcccaaa8d237be1dffea458 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6903617 > Reviewed-by: Reilly Grant <[email protected]> > Reviewed-by: Alex Gough <[email protected]> > Commit-Queue: ningxin hu <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1516982} Bug: 442209350, 445793611 Change-Id: Id666c89b8860abe06bac9a1e912057887c3fe03f Cq-Include-Trybots: luci.chromium.try:win11-blink-rel, mac14.arm64-blink-rel, mac14-blink-rel, mac15.arm64-blink-rel, mac15-blink-rel, linux-blink-rel Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6963704 Reviewed-by: Alex Gough <[email protected]> Reviewed-by: Reilly Grant <[email protected]> Commit-Queue: ningxin hu <[email protected]> Cr-Commit-Position: refs/heads/main@{#1517665} -- wpt-commits: 611eeeaf5144cc732b63b68a716bc1d1cbd96cbf wpt-pr: 54932
|
No further comments were received in WebML WG Teleconference – 25 September 2025, I am going to merge it. |
SHA: e281c95 Reason: push, by huningxin Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
WebNN spec changed the output names of gru and lstm for OpSupportLimits in webmachinelearning/webnn#857, renamed them in WebNN EP as well.
WebNN spec changed the output names of `gru` and `lstm` for `OpSupportLimits` in webmachinelearning/webnn#857, renamed them in WebNN EP as well.
WebNN spec changed the output names of `gru` and `lstm` for `OpSupportLimits` in webmachinelearning/webnn#857, renamed them in WebNN EP as well.
This CL prototypes WebNN spec change [1] that supports tensor rank range for graph input, constant, output and each operation's output. This CL adds new shape rank validation according to allowed output tensor rank of expand and reshape operations. The sequence output of gru and cell operations has different rank, this CL extends context properties to support them. For logical ops, the output rank ranges are set to each op's input rank ranges, while the output data types are set to unified logical output data type of context properties. [1]: webmachinelearning/webnn#857 Bug: 442209350 Change-Id: Ie5ca5c794cebb4586bcccaaa8d237be1dffea458 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6903617 Reviewed-by: Reilly Grant <[email protected]> Reviewed-by: Alex Gough <[email protected]> Commit-Queue: ningxin hu <[email protected]> Cr-Commit-Position: refs/heads/main@{#1516982}
…mits" This reverts commit 6591b48a057a42cc1a621b2e7b74aa35157c2bd5. Reason for revert: A lot of virtual/webnn-service-on-npu tests are failing. Bug: 445793611 Original change's description: > WebNN: Support rankRange for op output tensors in opSupportLimits > > This CL prototypes WebNN spec change [1] that supports tensor rank > range for graph input, constant, output and each operation's output. > > This CL adds new shape rank validation according to allowed output > tensor rank of expand and reshape operations. > > The sequence output of gru and cell operations has different rank, > this CL extends context properties to support them. > > For logical ops, the output rank ranges are set to each op's input > rank ranges, while the output data types are set to unified logical > output data type of context properties. > > [1]: webmachinelearning/webnn#857 > > Bug: 442209350 > Change-Id: Ie5ca5c794cebb4586bcccaaa8d237be1dffea458 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6903617 > Reviewed-by: Reilly Grant <[email protected]> > Reviewed-by: Alex Gough <[email protected]> > Commit-Queue: ningxin hu <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1516982} Bug: 442209350 No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: I7a4d7c4b3d2296ebaf5b7285fa7448adaa79546c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6963214 Bot-Commit: Rubber Stamper <[email protected]> Commit-Queue: Tsuyoshi Horo <[email protected]> Owners-Override: Tsuyoshi Horo <[email protected]> Cr-Commit-Position: refs/heads/main@{#1517021}
…mits" This is a reland of commit 6591b48a057a42cc1a621b2e7b74aa35157c2bd5 This reland fixes WPT failures for CoreML by keeping the error message consistent and adding the WPT rebaseline results. Because blink-side can validate the rank range of operation output, graph input and output, this reland removes the async error handling for reshape output, graph input and output in CoreML backend. Original change's description: > WebNN: Support rankRange for op output tensors in opSupportLimits > > This CL prototypes WebNN spec change [1] that supports tensor rank > range for graph input, constant, output and each operation's output. > > This CL adds new shape rank validation according to allowed output > tensor rank of expand and reshape operations. > > The sequence output of gru and cell operations has different rank, > this CL extends context properties to support them. > > For logical ops, the output rank ranges are set to each op's input > rank ranges, while the output data types are set to unified logical > output data type of context properties. > > [1]: webmachinelearning/webnn#857 > > Bug: 442209350 > Change-Id: Ie5ca5c794cebb4586bcccaaa8d237be1dffea458 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6903617 > Reviewed-by: Reilly Grant <[email protected]> > Reviewed-by: Alex Gough <[email protected]> > Commit-Queue: ningxin hu <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1516982} Bug: 442209350, 445793611 Change-Id: Id666c89b8860abe06bac9a1e912057887c3fe03f Cq-Include-Trybots: luci.chromium.try:win11-blink-rel, mac14.arm64-blink-rel, mac14-blink-rel, mac15.arm64-blink-rel, mac15-blink-rel, linux-blink-rel Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6963704 Reviewed-by: Alex Gough <[email protected]> Reviewed-by: Reilly Grant <[email protected]> Commit-Queue: ningxin hu <[email protected]> Cr-Commit-Position: refs/heads/main@{#1517665}
WebNN spec changed the output names of `gru` and `lstm` for `OpSupportLimits` in webmachinelearning/webnn#857, renamed them in WebNN EP as well.
This PR also supports rankRange for graph input, constant and output in opSupportLimits.
Fix #835
Preview | Diff