leakyRelu.https.any.js (1331B)
1 // META: title=validation tests for WebNN API leakyRelu operation 2 // META: global=window 3 // META: variant=?cpu 4 // META: variant=?gpu 5 // META: variant=?npu 6 // META: script=../resources/utils_validation.js 7 8 'use strict'; 9 10 validateInputFromAnotherBuilder('leakyRelu'); 11 12 const label = 'leaky_relu'; 13 validateSingleInputOperation('leakyRelu', label); 14 15 promise_test(async t => { 16 const builder = new MLGraphBuilder(context); 17 const options = {alpha: 0.02}; 18 const input = builder.input('input', {dataType: 'float32', shape: [1, 2, 3]}); 19 const output = builder.leakyRelu(input, options); 20 assert_equals(output.dataType, 'float32'); 21 assert_array_equals(output.shape, [1, 2, 3]); 22 }, '[leakyRelu] Build with options'); 23 24 promise_test(async t => { 25 const builder = new MLGraphBuilder(context); 26 const options = {alpha: Infinity}; 27 const input = builder.input('input', {dataType: 'float16', shape: []}); 28 assert_throws_js(TypeError, () => builder.leakyRelu(input, options)); 29 }, '[leakyRelu] Throw if options.alpha is Infinity'); 30 31 promise_test(async t => { 32 const builder = new MLGraphBuilder(context); 33 const options = {alpha: -NaN}; 34 const input = builder.input('input', {dataType: 'float32', shape: [1]}); 35 assert_throws_js(TypeError, () => builder.leakyRelu(input, options)); 36 }, '[leakyRelu] Throw if options.alpha is -NaN');