blob: ea49f43746e522e2e735b8d48d7055acf4cd62a1 [file] [log] [blame]
// META: title=test WebNN API conv2d operation
// META: global=window,dedicatedworker
// META: script=./resources/utils.js
// META: timeout=long
'use strict';
// https://webmachinelearning.github.io/webnn/#api-mlgraphbuilder-conv2d
const buildConv2d= (operationName, builder, resources) => {
// MLOperand conv2d(MLOperand input, MLOperand filter, optional MLConv2dOptions options = {});
const namedOutputOperand = {};
const [inputOperand, filterOperand] = createMultiInputOperands(builder, resources);
let conv2dOptions = {...resources.options};
if (conv2dOptions.bias) {
conv2dOptions.bias = createConstantOperand(builder, conv2dOptions.bias);
}
if (conv2dOptions.activation) {
conv2dOptions.activation = builder[conv2dOptions.activation]();
}
namedOutputOperand[resources.expected.name] = builder[operationName](inputOperand, filterOperand, conv2dOptions);
return namedOutputOperand;
};
testWebNNOperation('conv2d', '/webnn/resources/test_data/conv2d.json', buildConv2d);