Closed Bug 1968738 Opened 1 year ago Closed 11 months ago

[wpt-sync] Sync PR 52808 - webnn: fuse `dq -> conv2d -> clamp|relu -> q` for mobileNet uint8 model

Categories

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

task

Tracking

(firefox141 fixed)

RESOLVED FIXED
141 Branch
Tracking Status
firefox141 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Attachments

(1 file)

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

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

junwei <junwei.fu@intel.com> wrote:

webnn: fuse dq -> conv2d -> clamp|relu -> q for mobileNet uint8 model

The MobileNet uint8 NHWC model [1] main subgraph is dq -> conv2d -> clamp -> q, the clamp need to be fused to conv2d first so that the
dq -> conv2d with activation -> q can be fused to quantized conv2d.

Remove the all-zero zero-points restriction of filter that is
required by this model [1].

[1] https://github.com/webmachinelearning/webnn-samples/pull/313

Bug: 401281047
Change-Id: I383f7ceb70d9f9160c7247d63ca39ad2a2e62b4e
Reviewed-on: https://chromium-review.googlesource.com/6572012
WPT-Export-Revision: 49670a723f0cd40ca7c9af9dfb1db35f229e9b3d

CI Results

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

Total 12 tests and 26 subtests

Status Summary

Firefox

OK : 12
FAIL: 12

Chrome

OK : 12
PASS: 300

Safari

OK : 12
FAIL: 12

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

  • /webnn/conformance_tests/qdq_subgraph.https.any.worker.html?npu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
    • assert_implements(navigator.ml, 'missing navigator.ml'): FAIL (Safari: FAIL)
  • /webnn/conformance_tests/qdq_subgraph.https.any.html?gpu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
    • assert_implements(navigator.ml, 'missing navigator.ml'): FAIL (Safari: FAIL)
  • /webnn/conformance_tests/qdq_subgraph.https.any.html?npu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
    • assert_implements(navigator.ml, 'missing navigator.ml'): FAIL (Safari: FAIL)
  • /webnn/conformance_tests/qdq_subgraph.https.any.sharedworker.html?cpu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
    • assert_implements(navigator.ml, 'missing navigator.ml'): FAIL (Safari: FAIL)
  • /webnn/conformance_tests/qdq_subgraph.https.any.sharedworker.html?npu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
    • assert_implements(navigator.ml, 'missing navigator.ml'): FAIL (Safari: FAIL)
  • /webnn/conformance_tests/qdq_subgraph.https.any.worker.html?cpu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
    • assert_implements(navigator.ml, 'missing navigator.ml'): FAIL (Safari: FAIL)
  • /webnn/conformance_tests/qdq_subgraph.https.any.serviceworker.html?cpu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
    • assert_implements(navigator.ml, 'missing navigator.ml'): FAIL (Safari: FAIL)
  • /webnn/conformance_tests/qdq_subgraph.https.any.worker.html?gpu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
    • assert_implements(navigator.ml, 'missing navigator.ml'): FAIL (Safari: FAIL)
  • /webnn/conformance_tests/qdq_subgraph.https.any.serviceworker.html?npu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
    • assert_implements(navigator.ml, 'missing navigator.ml'): FAIL (Safari: FAIL)
  • /webnn/conformance_tests/qdq_subgraph.https.any.sharedworker.html?gpu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
    • assert_implements(navigator.ml, 'missing navigator.ml'): FAIL (Safari: FAIL)
  • /webnn/conformance_tests/qdq_subgraph.https.any.html?cpu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
    • assert_implements(navigator.ml, 'missing navigator.ml'): FAIL (Safari: FAIL)
  • /webnn/conformance_tests/qdq_subgraph.https.any.serviceworker.html?gpu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
    • assert_implements(navigator.ml, 'missing navigator.ml'): FAIL (Safari: FAIL)

Tests Disabled in Gecko Infrastructure

  • /webnn/conformance_tests/qdq_subgraph.https.any.worker.html?npu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
  • /webnn/conformance_tests/qdq_subgraph.https.any.html?gpu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
  • /webnn/conformance_tests/qdq_subgraph.https.any.html?npu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
  • /webnn/conformance_tests/qdq_subgraph.https.any.sharedworker.html?cpu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
  • /webnn/conformance_tests/qdq_subgraph.https.any.sharedworker.html?npu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
  • /webnn/conformance_tests/qdq_subgraph.https.any.worker.html?cpu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
  • /webnn/conformance_tests/qdq_subgraph.https.any.serviceworker.html?cpu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
  • /webnn/conformance_tests/qdq_subgraph.https.any.worker.html?gpu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
  • /webnn/conformance_tests/qdq_subgraph.https.any.serviceworker.html?npu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
  • /webnn/conformance_tests/qdq_subgraph.https.any.sharedworker.html?gpu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
  • /webnn/conformance_tests/qdq_subgraph.https.any.html?cpu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)
  • /webnn/conformance_tests/qdq_subgraph.https.any.serviceworker.html?gpu [wpt.fyi]: OK [GitHub], SKIP [Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview, Gecko-android-em-7.0-x86_64-qr-debug-geckoview, Gecko-android-em-7.0-x86_64-qr-opt-geckoview, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt] (Chrome: OK, Safari: OK)

Automatic update from web-platform-tests
webnn: fuse dq -> conv2d -> clamp|relu -> q for mobileNet uint8 model

The MobileNet uint8 NHWC model [1] main subgraph is dq -> conv2d -> clamp -> q, the clamp need to be fused to conv2d first so that the
dq -> conv2d with activation -> q can be fused to quantized conv2d.

Remove the all-zero zero-points restriction of filter that is
required by this model [1].

[1] https://github.com/webmachinelearning/webnn-samples/pull/313

Bug: 401281047
Change-Id: I383f7ceb70d9f9160c7247d63ca39ad2a2e62b4e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6572012
Reviewed-by: ningxin hu <ningxin.hu@intel.com>
Commit-Queue: Junwei Fu <junwei.fu@intel.com>
Reviewed-by: Phillis Tang <phillis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1466831}

--

wpt-commits: 5378d2a0f2b345dc2cb7877088836df5b247895d
wpt-pr: 52808

Pushed by aborovova@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/0012ffb73a26 https://hg.mozilla.org/integration/autoland/rev/ac07494de7fb [wpt PR 52808] - webnn: fuse `dq -> conv2d -> clamp|relu -> q` for mobileNet uint8 model,
Status: NEW → RESOLVED
Closed: 11 months ago
Resolution: --- → FIXED
Target Milestone: --- → 141 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: