Browser Compatibility
Core ML Backend / macOS
WebNN | CPU | GPU | NPU |
---|---|---|---|
macOS | β Core ML | β Core ML | β Core ML |
iOS | β Core ML | β Core ML | β Core ML |
The WebNN Core ML backend mainly supported on macOS.
WebNN Spec | Operations | Chromium Version |
---|---|---|
argMax | β reduce_argmax | M128 |
argMin | β reduce_argmin | M128 |
batchNormalization | β batch_norm | M126 |
cast | β cast | M124 |
clamp | β clip | M125 |
concat | β concat | M125 |
conv2d | β conv | M125 |
convTranspose2d | β conv_transpose | M126 |
cumulativeSum | β cumsum | M132 |
dequantizeLinear | π dequantize_linear | |
element-wise binary / add | β add | M122 |
element-wise binary / div | β real_div | M124 |
element-wise binary / max | β maximum | M124 |
element-wise binary / min | β minimum | M124 |
element-wise binary / mul | β mul | M124 |
element-wise binary / notEqual | β not_equal | M134 |
element-wise binary / pow | β pow | M124 |
element-wise binary / sub | β sub | M124 |
element-wise logical / equal | β equal | M125 |
element-wise logical / greater | β greater | M125 |
element-wise logical / greaterOrEqual | β greater_equal | M125 |
element-wise logical / lesser | β less | M125 |
element-wise logical / lesserOrEqual | β less_equal | M125 |
element-wise logical / logicalAnd | β logical_and | M132 |
element-wise logical / logicalOr | β logical_or | M132 |
element-wise logical / logicalXor | β logical_xor | M132 |
element-wise logical / not | β logical_not | M128 |
element-wise unary / abs | β abs | M126 |
element-wise unary / ceil | β ceil | M126 |
element-wise unary / identity | β identity | M126 |
element-wise unary / cos | β cos | M126 |
element-wise unary / erf | β erf | M126 |
element-wise unary / exp | β exp | M126 |
element-wise unary / floor | β floor | M126 |
element-wise unary / log | β log | M126 |
element-wise unary / neg | β Emulated with mul(a, -1) | M127 |
element-wise unary / reciprocal | β inverse | M126 |
element-wise unary / sin | β sin | M126 |
element-wise unary / sqrt | β sqrt | M126 |
element-wise unary / tan | β tan | M126 |
elu | β elu | M126 |
expand | β tile | M128 |
gather | β gather | M126 |
gatherElements | β gather_along_axis | M132 |
gatherND | β gather_nd | M132 |
gelu | β gelu | M132 |
gemm | β Emulated with add(mul(alpha, matmul(A, B)), mul(beta, C)) | M126 |
gru | β gru | M133 |
gruCell | β gru | M133 |
hardSigmoid | β sigmoid_hard | M126 |
hardSwish | β Emulated by mul(x, hardsigmoid(x, alpha=1.0/6, beta=0.5)) | M126 |
instanceNormalization | β instance_norm | M126 |
layerNormalization | β layer_norm | M129 |
leakyRelu | β leaky_relu | M126 |
linear | Emulated with add(mul(alpha, a), beta) | M126 |
lstm | β lstm | M133 |
lstmCell | β lstm | M133 |
matmul | β matmul | M126 |
pad | β pad | M129 |
pooling / averagePool2d | β avg_pool | M126 |
pooling / l2Pool2d | β l2_pool | M126 |
pooling / maxPool2d | β max_pool | M126 |
prelu | π prelu | |
quantizeLinear | π quantize_linear | |
reduction / reduceL1 | β reduce_l1_norm | M126 |
reduction / reduceL2 | β reduce_l2_norm | M126 |
reduction / reduceLogSum | β reduce_log_sum | M126 |
reduction / reduceLogSumExp | β reduce_log_sum_exp | M126 |
reduction / reduceMax | β reduce_max | M126 |
reduction / reduceMean | β reduce_mean | M126 |
reduction / reduceMin | β reduce_min | M126 |
reduction / reduceProduct | β reduce_prod | M126 |
reduction / reduceSum | β reduce_sum | M126 |
reduction / reduceSumSquare | β reduce_sum_square | M126 |
relu | β relu | M125 |
resample2d | β upsample_bilinear β upsample_nearest_neighbor | M126 |
reshape | β reshape | M126 |
reverse | π reverse | |
scatterElements | β scatter_along_axis | M132 |
scatterND | β scatter_nd | M132 |
sigmoid | β sigmoid | M126 |
sign | π sign | |
slice | β slice_by_size | M126 |
softmax | β softmax | M127 |
softplus | β softplus | M126 |
softsign | β softsign | M125 |
split | β split | M130 |
tanh | β tanh | M126 |
tile | β tile | M131 |
transpose | β transpose | M125 |
triangular | β band_part | M132 |
where | β select | M126 |