Closed Bug 1888114 Opened 1 year ago Closed 1 year ago

[wpt-sync] Sync PR 44944 - webnn: Add the lstmCell operator

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(firefox126 fixed)

RESOLVED FIXED
126 Branch
Tracking Status
firefox126 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 44944 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/44944
Details from upstream follow.

Shiyi Zou <shiyi.zou@intel.com> wrote:

webnn: Add the lstmCell operator

This CL adds the IDL and mojo definition for lstmCell, implements
MLGraphBuilder::lstmCell() and adds validations on services side. The
DirectML backend implementation is shared with lstm.

This CL also adds lstmCell validation tests in WPT and unit tests in
WebNNGraphImplTest.

Bug: 40206287
Change-Id: I8c740ffa43f79d4667bddca93a064ab788cf8129
Cq-Include-Trybots: luci.chromium.try:gpu-fyi-try-win11-qualcomm-rel-64
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5347306
Reviewed-by: Austin Sullivan \<asully@chromium.org>
Reviewed-by: ningxin hu \<ningxin.hu@intel.com>
Reviewed-by: Reilly Grant \<reillyg@chromium.org>
Auto-Submit: Shiyi Zou \<shiyi.zou@intel.com>
Commit-Queue: Shiyi Zou \<shiyi.zou@intel.com>
Cr-Commit-Position: refs/heads/main@{#1278827}

PR 44944 applied with additional changes from upstream: 0e9f077ad6be3e79aa82c8375e4bc5696ff63007

CI Results

Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 2 tests and 39 subtests

Status Summary

Firefox

OK : 2
FAIL: 78

Chrome

OK : 2
PASS: 74
FAIL: 4

Safari

OK : 2
FAIL: 78

Links

GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

  • /webnn/validation_tests/lstmCell.https.any.worker.html [wpt.fyi]
    • assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator"): FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] throw if input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] throw if weight is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] throw if recurrentWeight is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] throw if hiddenState is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] throw if cellState is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] throw if bias option is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] throw if recurrentBias option is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] throw if peepholeWeight option is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] throw if activation option is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Test with default options: FAIL (Chrome: FAIL, Safari: FAIL)
    • [lstmCell] Test with given options: FAIL (Chrome: FAIL, Safari: FAIL)
    • [lstmCell] Throw if hiddenSize is equal to zero: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if hiddenSize is too large: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the input data type is not one of the floating point types: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the rank of input is not 2: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the shape of input is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the data type of weight is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the rank of weight is not 2: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the shape of weight is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the data type of recurrentWeight is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the rank of recurrentWeight is not 2: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the shape of recurrentWeight is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the data type of hiddenState is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the rank of hiddenState is not 2: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the shape of hiddenState is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the data type of cellState is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the rank of cellState is not 2: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the shape of cellState is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the data type of options.bias is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the rank of options.bias is not 1: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the shape of options.bias is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the data type of options.recurrentBias is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the rank of options.recurrentBias is not 1: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the shape of options.recurrentBias is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the data type of options.peepholeWeight is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the rank of options.peepholeWeight is not 1: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the shape of options.peepholeWeight is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the size of options.activations is not 3: FAIL (Chrome: PASS, Safari: FAIL)
  • /webnn/validation_tests/lstmCell.https.any.html [wpt.fyi]
    • assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator"): FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] throw if input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] throw if weight is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] throw if recurrentWeight is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] throw if hiddenState is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] throw if cellState is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] throw if bias option is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] throw if recurrentBias option is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] throw if peepholeWeight option is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] throw if activation option is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Test with default options: FAIL (Chrome: FAIL, Safari: FAIL)
    • [lstmCell] Test with given options: FAIL (Chrome: FAIL, Safari: FAIL)
    • [lstmCell] Throw if hiddenSize is equal to zero: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if hiddenSize is too large: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the input data type is not one of the floating point types: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the rank of input is not 2: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the shape of input is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the data type of weight is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the rank of weight is not 2: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the shape of weight is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the data type of recurrentWeight is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the rank of recurrentWeight is not 2: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the shape of recurrentWeight is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the data type of hiddenState is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the rank of hiddenState is not 2: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the shape of hiddenState is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the data type of cellState is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the rank of cellState is not 2: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the shape of cellState is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the data type of options.bias is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the rank of options.bias is not 1: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the shape of options.bias is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the data type of options.recurrentBias is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the rank of options.recurrentBias is not 1: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the shape of options.recurrentBias is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the data type of options.peepholeWeight is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the rank of options.peepholeWeight is not 1: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the shape of options.peepholeWeight is incorrect: FAIL (Chrome: PASS, Safari: FAIL)
    • [lstmCell] Throw if the size of options.activations is not 3: FAIL (Chrome: PASS, Safari: FAIL)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/70e189e0953c [wpt PR 44944] - webnn: Add the lstmCell operator, a=testonly https://hg.mozilla.org/integration/autoland/rev/5144c1d70bfe [wpt PR 44944] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 126 Branch
You need to log in before you can comment on or make changes to this bug.