Add oneDNN/XNNPACK backend and support MobileNet/SqueezeNet model#10
Conversation
huningxin
left a comment
There was a problem hiding this comment.
Great work. Thanks much @fujunwei . The implementation would help the group for spec discussions, in particular for recent wasm op-level execution webmachinelearning/webnn#156.
I left some comments for clarity. Please take a look.
The commit supports 5 first-wave ops required by MobileNet/SequeezeNet example including Clamp, batchNormalization, LeakyRelu, Concat and Gemm. It also adds XNNPACK and oneDNN backends that is mainly for the investigation of WebNN Operation Level Execution use case and adds experimental sync build and compute API to implement TF.js Wasm backend by WebNN API.
c2cc549 to
3669bb7
Compare
|
Thanks, done. Please take a look again. |
08470ed to
92ac8eb
Compare
|
Thanks much @fujunwei! I tested with this PR by both DML backend and OpenVINO backend, here's tests and examples PASS status table as following:
And two MaxPool2d tests with dilations options (Pool2dTests.MaxPool2dDilationsDefault, Pool2dTests.MaxPool2dDilationsNhwc) failed when running OpenVINO backend. @fujunwei PTAL, thanks. |
92ac8eb to
542f182
Compare
|
Thanks much @fujunwei for kindly explanation! |
Given the PR of sync API was merged and the investigation of wasm op-level execution was done, I am proposing to merge this PR to allow participants to reproduce the results. And it would also unblock the development for #6 and #12 . Any objections? @anssiko @wchao1115 @pyu10055 |
|
SGTM! |
The commit supports 5 first-wave ops required by MobileNet/SequeezeNet example including Clamp, batchNormalization, LeakyRelu, Concat and Gemm.
It also adds XNNPACK and oneDNN backends that is mainly for the investigation of WebNN Operation Level Execution
use case. So only a limited set of tests (such as of conv2d) is expected to pass.
It also adds experimental sync build and compute API to implement TF.js Wasm backend by WebNN API.