diff --git a/js/web/lib/wasm/jsep/webgpu/ops/3rd-party/conv3d_naive_webgpu.ts b/js/web/lib/wasm/jsep/webgpu/ops/3rd-party/conv3d_naive_webgpu.ts new file mode 100644 index 0000000000..f428293add --- /dev/null +++ b/js/web/lib/wasm/jsep/webgpu/ops/3rd-party/conv3d_naive_webgpu.ts @@ -0,0 +1,407 @@ +/** + * @license + * Copyright 2019 Google LLC. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================================= + */ + +// sampled from [@tensorflow/tfjs] tfjs-backend-webgpu/src/conv3d_naive_webgpu.ts +// +// modified to fit the needs of the project + +import {DataType} from '../../../../wasm-common'; +import {LOG_DEBUG} from '../../../log'; +import {TensorView} from '../../../tensor-view'; +import {ShapeUtil} from '../../../util'; +import {ProgramInfo, ProgramInputTensorInfoDependency, ProgramUniform} from '../../types'; +import {createTensorShapeVariables, getElementAt, inputVariable, outputVariable, ShaderHelper, tensorTypeToWsglStorageType, UniformsArrayType} from '../common'; +import {ConvAttributes} from '../conv'; + +const arrayProduct = (arr: number[]) => { + let product = 1; + for (let i = 0; i < arr.length; i++) { + product *= arr[i]; + } + return product; +}; + +const parse3TupleParam = (param: number|[number, number, number]): [number, number, number] => + typeof param === 'number' ? [param, param, param] : param; + +const getEffectiveFilterSize = (filterSize: number, dilation: number): number => { + if (dilation <= 1) { + return filterSize; + } + + return filterSize + (filterSize - 1) * (dilation - 1); +}; + +const computeDefaultPad = + (inputShape: [number, number]|[number, number, number, number], fieldSize: number, stride: number, dilation = 1): + number => { + const effectiveFieldSize = getEffectiveFilterSize(fieldSize, dilation); + return Math.floor((inputShape[0] * (stride - 1) - stride + effectiveFieldSize) / 2); + }; + +const computeOutputShape4D = + (inShape: [number, number, number, number], filterShape: [number, number, number], outChannels: number, + strides: [number, number, number], zeroPad?: number): [number, number, number, number] => { + if (zeroPad == null) { + // eslint-disable-next-line no-param-reassign + zeroPad = computeDefaultPad(inShape, filterShape[0], strides[0]); + } + const outShape: [number, number, number, number] = [0, 0, 0, outChannels]; + for (let index = 0; index < 3; index++) { + if (inShape[index] + 2 * zeroPad >= filterShape[index]) { + outShape[index] = Math.trunc((inShape[index] - filterShape[index] + 2 * zeroPad) / strides[index] + 1); + } + } + return outShape; + }; + +const get3DPadAndOutInfo = + (pad: number|string|number[], inDepth: number, inHeight: number, inWidth: number, strideDepth: number, + strideHeight: number, strideWidth: number, filterDepth: number, filterHeight: number, + filterWidth: number): {padInfo: PadInfo3D; outDepth: number; outHeight: number; outWidth: number} => { + let padInfo: PadInfo3D; + let outDepth: number; + let outHeight: number; + let outWidth: number; + + if (pad === 'VALID') { + // eslint-disable-next-line no-param-reassign + pad = 0; + } + + if (typeof pad === 'number') { + padInfo = {top: pad, bottom: pad, left: pad, right: pad, front: pad, back: pad}; + const outShape = computeOutputShape4D( + [inDepth, inHeight, inWidth, 1], [filterDepth, filterHeight, filterWidth], 1, + [strideDepth, strideHeight, strideWidth], pad); + outDepth = outShape[0]; + outHeight = outShape[1]; + outWidth = outShape[2]; + } else if (Array.isArray(pad)) { + if (!pad.every((val, _, arr) => val === arr[0])) { + throw Error(`Unsupported padding parameter: ${pad}`); + } + padInfo = {top: pad[0], bottom: pad[1], left: pad[2], right: pad[3], front: pad[4], back: pad[5]}; + const outShape = computeOutputShape4D( + [inDepth, inHeight, inWidth, 1], [filterDepth, filterHeight, filterWidth], 1, + [strideDepth, strideHeight, strideWidth], pad[0]); + outDepth = outShape[0]; + outHeight = outShape[1]; + outWidth = outShape[2]; + } else if (pad === 'SAME_UPPER') { + // TODO: support 'SAME_LOWER'. + outDepth = Math.ceil(inDepth / strideDepth); + outHeight = Math.ceil(inHeight / strideHeight); + outWidth = Math.ceil(inWidth / strideWidth); + const padAlongDepth = (outDepth - 1) * strideDepth + filterDepth - inDepth; + const padAlongHeight = (outHeight - 1) * strideHeight + filterHeight - inHeight; + const padAlongWidth = (outWidth - 1) * strideWidth + filterWidth - inWidth; + const front = Math.floor(padAlongDepth / 2); + const back = padAlongDepth - front; + const top = Math.floor(padAlongHeight / 2); + const bottom = padAlongHeight - top; + const left = Math.floor(padAlongWidth / 2); + const right = padAlongWidth - left; + + padInfo = {top, bottom, left, right, front, back}; + } else { + throw Error(`Unknown padding parameter: ${pad}`); + } + return {padInfo, outDepth, outHeight, outWidth}; + }; + +type PadInfo3D = { + top: number; left: number; right: number; bottom: number; front: number; back: number; +}; + +export type Conv3DInfo = { + batchSize: number; inDepth: number; inHeight: number; inWidth: number; inChannels: number; outDepth: number; + outHeight: number; + outWidth: number; + outChannels: number; + dataFormat: 'channelsFirst' | 'channelsLast'; + strideDepth: number; + strideHeight: number; + strideWidth: number; + dilationDepth: number; + dilationHeight: number; + dilationWidth: number; + filterDepth: number; + filterHeight: number; + filterWidth: number; + effectiveFilterDepth: number; + effectiveFilterHeight: number; + effectiveFilterWidth: number; + padInfo: PadInfo3D; + inShape: [number, number, number, number, number]; + outShape: [number, number, number, number, number]; + filterShape: [number, number, number, number, number]; +}; + +export const computeConv3DInfo = + (inShape: [number, number, number, number, number], filterShape: [number, number, number, number, number], + strides: number|[number, number, number], dilations: number|[number, number, number], pad: number|string|number[], + depthwise = false, dataFormat: 'channelsFirst'|'channelsLast' = 'channelsLast'): Conv3DInfo => { + let batchSize, inDepth, inHeight, inWidth, inChannels; + if (dataFormat === 'channelsLast') { + [batchSize, inDepth, inHeight, inWidth, inChannels] = inShape; + } else if (dataFormat === 'channelsFirst') { + [batchSize, inChannels, inDepth, inHeight, inWidth] = inShape; + } else { + throw new Error(`Unknown dataFormat ${dataFormat}`); + } + const [filterChannels, , filterDepth, filterHeight, filterWidth] = filterShape; + + const [strideDepth, strideHeight, strideWidth] = parse3TupleParam(strides); + const [dilationDepth, dilationHeight, dilationWidth] = parse3TupleParam(dilations); + + const effectiveFilterDepth = getEffectiveFilterSize(filterDepth, dilationDepth); + const effectiveFilterHeight = getEffectiveFilterSize(filterHeight, dilationHeight); + const effectiveFilterWidth = getEffectiveFilterSize(filterWidth, dilationWidth); + const {padInfo, outDepth, outHeight, outWidth} = get3DPadAndOutInfo( + pad, inDepth, inHeight, inWidth, strideDepth, strideHeight, strideWidth, effectiveFilterDepth, + effectiveFilterHeight, effectiveFilterWidth); + + const outChannels = depthwise ? filterChannels * inChannels : filterChannels; + + let outShape: [number, number, number, number, number] = [0, 0, 0, 0, 0]; + if (dataFormat === 'channelsFirst') { + outShape = [batchSize, outChannels, outDepth, outHeight, outWidth]; + } else if (dataFormat === 'channelsLast') { + outShape = [batchSize, outDepth, outHeight, outWidth, outChannels]; + } + + return { + batchSize, + dataFormat, + inDepth, + inHeight, + inWidth, + inChannels, + outDepth, + outHeight, + outWidth, + outChannels, + padInfo, + strideDepth, + strideHeight, + strideWidth, + filterDepth, + filterHeight, + filterWidth, + effectiveFilterDepth, + effectiveFilterHeight, + effectiveFilterWidth, + dilationDepth, + dilationHeight, + dilationWidth, + inShape, + outShape, + filterShape + }; + }; + +export const createConv3DNaiveProgramInfo = + (inputs: readonly TensorView[], attributes: ConvAttributes, outputShape: readonly number[], + filterDims: readonly number[], pads: readonly number[], dataFormat: string): ProgramInfo => { + const isChannelsLast = dataFormat === 'channelsLast'; + const inChannels = isChannelsLast ? inputs[0].dims[3] : inputs[0].dims[1]; + // TODO: enable vec4. + const isVec4 = false; + const workGroupSize: [number, number, number] = [64, 1, 1]; + const dispatchLayout = {x: outputShape.map((_, i) => i)}; + const dispatch = [Math.ceil(arrayProduct(dispatchLayout.x.map(d => outputShape[d])) / (workGroupSize[0])), 1, 1]; + + LOG_DEBUG('verbose', () => `[conv3d_naive_webgpu] dispatch = ${dispatch}`); + + const innerElementSize = isVec4 ? (isChannelsLast && inChannels % 4 !== 0 ? 3 : 4) : 1; + const outputSize = ShapeUtil.size(outputShape); + const programUniforms: ProgramUniform[] = [ + {type: DataType.uint32, data: outputSize}, {type: DataType.uint32, data: filterDims}, + {type: DataType.uint32, data: pads}, {type: DataType.uint32, data: attributes.strides}, + {type: DataType.uint32, data: attributes.dilations} + ]; + programUniforms.push(...createTensorShapeVariables(inputs[0].dims, inputs[1].dims)); + const inputDependencies: ProgramInputTensorInfoDependency[] = ['rank', 'rank']; + const hasBias = inputs.length === 3; + if (hasBias) { + programUniforms.push(...createTensorShapeVariables(inputs[2].dims)); + inputDependencies.push('rank'); + } + programUniforms.push(...createTensorShapeVariables(outputShape)); + + const getShaderSource = (shaderHelper: ShaderHelper) => { + const uniforms: UniformsArrayType = [ + {name: 'output_size', type: 'u32'}, {name: 'filter_dims', type: 'u32', length: filterDims.length}, + {name: 'pads', type: 'u32', length: pads.length}, + {name: 'strides', type: 'u32', length: attributes.strides.length}, + {name: 'dilations', type: 'u32', length: attributes.dilations.length} + ]; + // TODO: support component 2, 3. + const components = isVec4 ? 4 : 1; + const t = tensorTypeToWsglStorageType(inputs[0].dataType); + + const x = inputVariable( + 'x', inputs[0].dataType, inputs[0].dims.length, innerElementSize === 3 ? 1 : innerElementSize); + const w = inputVariable('W', inputs[1].dataType, inputs[1].dims.length, components); + const inputVariables = [x, w]; + const output = outputVariable('result', inputs[0].dataType, outputShape.length, components); + let declareFunctions = ''; + if (hasBias) { + const bias = inputVariable('bias', inputs[2].dataType, inputs[2].dims.length, components); + inputVariables.push(bias); + declareFunctions += ` + fn getBiasByOutputCoords(coords : array) -> ${isVec4 ? `vec4<${t}>` : t} { + return bias[${isChannelsLast ? getElementAt('coords', 4, 5) : getElementAt('coords', 1, 5)}${ + isVec4 ? '/ 4' : ''}]; + }`; + } + + return ` + ${declareFunctions} + fn getX(d0 : u32, d1 : u32, d2 : u32, d3 : u32, d4 : u32) -> f32 { + let aIndices = array(d0, d1, d2, d3, d4); + return ${x.getByIndices('aIndices')}; + } + fn getW(d0 : u32, d1 : u32, d2 : u32, d3 : u32, d4 : u32) -> f32 { + let aIndices = array(d0, d1, d2, d3, d4); + return ${w.getByIndices('aIndices')}; + } + ${shaderHelper.registerUniforms(uniforms).declareVariables(...inputVariables, output)} + ${shaderHelper.mainStart()} + ${shaderHelper.guardAgainstOutOfBoundsWorkgroupSizes('uniforms.output_size')} + let coords = ${output.offsetToIndices('global_idx')}; + let batch = ${getElementAt('coords', 0, x.rank)}; + let d2 = ${ + isChannelsLast ? getElementAt('coords', x.rank - 1, x.rank) : getElementAt('coords', 1, x.rank)}; + let xFRCCorner = vec3(${ + isChannelsLast ? getElementAt('coords', 1, x.rank) : getElementAt('coords', 2, x.rank)}, + ${isChannelsLast ? getElementAt('coords', 2, x.rank) : getElementAt('coords', 3, x.rank)}, + ${ + isChannelsLast ? getElementAt('coords', 3, x.rank) : + getElementAt('coords', 4, x.rank)}) * uniforms.strides - uniforms.pads; + let xFCorner = xFRCCorner.x; + let xRCorner = xFRCCorner.y; + let xCCorner = xFRCCorner.z; + let xShapeY = ${ + isChannelsLast ? getElementAt('uniforms.x_shape', 1, x.rank) : getElementAt('uniforms.x_shape', 2, x.rank)}; + let xShapeZ = ${ + isChannelsLast ? getElementAt('uniforms.x_shape', 2, x.rank) : getElementAt('uniforms.x_shape', 3, x.rank)}; + let xShapeW = ${ + isChannelsLast ? getElementAt('uniforms.x_shape', 3, x.rank) : getElementAt('uniforms.x_shape', 4, x.rank)}; + let xShapeU = ${ + isChannelsLast ? getElementAt('uniforms.x_shape', 4, x.rank) : getElementAt('uniforms.x_shape', 1, x.rank)}; + let inputDepthNearestVec4 = (xShapeU / 4) * 4; + let inputDepthVec4Remainder = xShapeU % 4; + + var dotProd = 0.0; + for (var wF = 0u; wF < uniforms.filter_dims[0]; wF++) { + let xF = xFCorner + wF * uniforms.dilations[0]; + if (xF < 0 || xF >= xShapeY) { + continue; + } + + for (var wR = 0u; wR < uniforms.filter_dims[1]; wR++) { + let xR = xRCorner + wR * uniforms.dilations[1]; + if (xR < 0 || xR >= xShapeZ) { + continue; + } + + for (var wC = 0u; wC < uniforms.filter_dims[2]; wC++) { + let xC = xCCorner + wC * uniforms.dilations[2]; + if (xC < 0 || xC >= xShapeW) { + continue; + } + + for (var d1 = 0u; d1 < inputDepthNearestVec4; d1 += 4) { + ${ + isChannelsLast ? `let xValues = vec4( + getX(batch, xF, xR, xC, d1), + getX(batch, xF, xR, xC, d1 + 1), + getX(batch, xF, xR, xC, d1 + 2), + getX(batch, xF, xR, xC, d1 + 3)); + ` : + `let xValues = vec4( + getX(batch, d1, xF, xR, xC), + getX(batch, d1 + 1, xF, xR, xC), + getX(batch, d1 + 2, xF, xR, xC), + getX(batch, d1 + 3, xF, xR, xC)); + `} + let wValues = vec4( + getW(d2, d1, wF, wR, wC), + getW(d2, d1 + 1, wF, wR, wC), + getW(d2, d1 + 2, wF, wR, wC), + getW(d2, d1 + 3, wF, wR, wC)); + dotProd += dot(xValues, wValues); + } + if (inputDepthVec4Remainder == 1) { + ${ + isChannelsLast ? `dotProd += getX(batch, xF, xR, xC, inputDepthNearestVec4) + * getW(d2, inputDepthNearestVec4, wF, wR, wC);` : + `dotProd += getX(batch, inputDepthNearestVec4, xF, xR, xC) + * getW(d2, inputDepthNearestVec4, wF, wR, wC);`} + } else if (inputDepthVec4Remainder == 2) { + ${ + isChannelsLast ? `let xValues = vec2( + getX(batch, xF, xR, xC, inputDepthNearestVec4), + getX(batch, xF, xR, xC, inputDepthNearestVec4 + 1)); + ` : + `let xValues = vec2( + getX(batch, inputDepthNearestVec4, xF, xR, xC), + getX(batch, inputDepthNearestVec4 + 1, xF, xR, xC)); + `} + let wValues = vec2( + getW(d2, inputDepthNearestVec4, wF, wR, wC), + getW(d2, inputDepthNearestVec4 + 1, wF, wR, wC)); + dotProd += dot(xValues, wValues); + } else if (inputDepthVec4Remainder == 3) { + ${ + isChannelsLast ? `let xValues = vec3( + getX(batch, xF, xR, xC, inputDepthNearestVec4), + getX(batch, xF, xR, xC, inputDepthNearestVec4 + 1), + getX(batch, xF, xR, xC, inputDepthNearestVec4 + 2)); + ` : + `let xValues = vec3( + getX(batch, inputDepthNearestVec4, xF, xR, xC), + getX(batch, inputDepthNearestVec4 + 1, xF, xR, xC), + getX(batch, inputDepthNearestVec4 + 2, xF, xR, xC)); + `} + let wValues = vec3( + getW(d2, inputDepthNearestVec4, wF, wR, wC), + getW(d2, inputDepthNearestVec4 + 1, wF, wR, wC), + getW(d2, inputDepthNearestVec4 + 2, wF, wR, wC)); + dotProd += dot(xValues, wValues); + } + } + } + } + ${hasBias ? 'dotProd = dotProd + getBiasByOutputCoords(coords)' : ''}; + result[global_idx] = f32(dotProd); + }`; + }; + return { + name: 'Conv3DNaive', + shaderCache: + {hint: `${attributes.cacheKey};${isChannelsLast};${innerElementSize};${hasBias}`, inputDependencies}, + getRunData: () => ({ + outputs: [{dims: outputShape, dataType: inputs[0].dataType}], + dispatchGroup: {x: dispatch[0], y: dispatch[1], z: dispatch[2]}, + programUniforms, + }), + getShaderSource + }; + }; diff --git a/js/web/lib/wasm/jsep/webgpu/ops/conv.ts b/js/web/lib/wasm/jsep/webgpu/ops/conv.ts index b68d4dcae4..52bd69130e 100644 --- a/js/web/lib/wasm/jsep/webgpu/ops/conv.ts +++ b/js/web/lib/wasm/jsep/webgpu/ops/conv.ts @@ -7,6 +7,7 @@ import {AttributeWithCacheKey} from '../attribute-with-cache-key'; import {ComputeContext} from '../types'; import {createConv2DMatMulProgramInfo} from './3rd-party/conv2d_mm_webgpu'; +import {computeConv3DInfo, createConv3DNaiveProgramInfo} from './3rd-party/conv3d_naive_webgpu'; import {createMatmulProgramInfo} from './3rd-party/matmul_packed_webgpu'; import {createGroupedConvProgramInfo, createGroupedConvVectorizeProgramInfo} from './conv-grouped'; import {InternalActivationAttributes, parseInternalActivationAttributes} from './fuse-utils'; @@ -51,9 +52,8 @@ const validateInputs = (inputs: readonly TensorView[], attributes: ConvAttribute throw new Error('Conv requires 2 or 3 inputs'); } - // TODO : Need to add support for multi-dimensional conv - if (inputs[0].dims.length !== 4 && inputs[0].dims.length !== 3) { - throw new Error('currently only support conv 1D and 2D'); + if (inputs[0].dims.length > 5) { + throw new Error('greater than 5D is not supported'); } if (inputs[0].dims.length !== inputs[1].dims.length) { @@ -119,11 +119,11 @@ export const parseConvAttributes = (attributes: Record): ConvAt // TODO : Make this generic enough to compute default attributes for multi-dimensional conv const format = attributes.format as 'NHWC' | 'NCHW'; const autoPad = ['NOTSET', 'VALID', 'SAME_UPPER', 'SAME_LOWER'][attributes.auto_pad as number]; - const dilations = attributes.dilations as [number, number]; + const dilations = attributes.dilations as number[]; const group = attributes.group as number; - const kernelShape = attributes.kernel_shape as [number, number]; - const pads = attributes.pads as [number, number, number, number]; - const strides = attributes.strides as [number, number]; + const kernelShape = attributes.kernel_shape as number[]; + const pads = attributes.pads as number[]; + const strides = attributes.strides as number[]; const wIsConst = (attributes.w_is_const as () => boolean)(); return { @@ -303,10 +303,27 @@ const conv1d = (context: ComputeContext, attributes: ConvAttributes): void => { outputShape => isChannelLast ? [outputShape[0], outputShape[2], outputShape[3]] : [])); }; +const conv3d = (context: ComputeContext, inputs: readonly TensorView[], attributes: ConvAttributes): void => { + const format = attributes.format === 'NHWC' ? 'channelsLast' : 'channelsFirst'; + const adjustedAttributes = getAdjustedConvAttributes(attributes, inputs); + const pads = attributes.autoPad === 'NOTSET' ? attributes.pads : attributes.autoPad; + const convInfo = computeConv3DInfo( + inputs[0].dims as [number, number, number, number, number], + inputs[1].dims as [number, number, number, number, number], + attributes.strides as number | [number, number, number], + attributes.dilations as number | [number, number, number], pads as string | number[], false, format); + context.compute(createConv3DNaiveProgramInfo( + inputs, adjustedAttributes, convInfo.outShape, + [convInfo.filterDepth, convInfo.filterHeight, convInfo.filterWidth], + [convInfo.padInfo.front, convInfo.padInfo.top, convInfo.padInfo.left], format)); +}; + export const conv = (context: ComputeContext, attributes: ConvAttributes): void => { - validateInputs(context.inputs, attributes); // currently will fail if not conv1D/2D + validateInputs(context.inputs, attributes); if (context.inputs[0].dims.length === 3) { conv1d(context, attributes); + } else if (context.inputs[0].dims.length === 5) { + conv3d(context, context.inputs, attributes); } else { conv2d(context, context.inputs, attributes); } diff --git a/js/web/test/data/ops/conv3dncdhw.jsonc b/js/web/test/data/ops/conv3dncdhw.jsonc new file mode 100644 index 0000000000..a245cced4a --- /dev/null +++ b/js/web/test/data/ops/conv3dncdhw.jsonc @@ -0,0 +1,794 @@ +[ + { + "name": "conv3d, x=[1, 1, 2, 1, 2], f=[2, 1, 2, 1, 2], s=1, d=1, p=valid", + "operator": "Conv", + "attributes": [ + { "name": "kernel_shape", "data": [2, 1, 2], "type": "ints" }, + { "name": "auto_pad", "data": "VALID", "type": "string" }, + { "name": "strides", "data": [1, 1, 1], "type": "ints" }, + { "name": "dilations", "data": [1, 1, 1], "type": "ints" } + ], + "cases": [ + { + "name": "T[0]", + "inputs": [ + { + "data": [0.25, 0.5, 0.75, 1], + "dims": [1, 1, 2, 1, 2], + "type": "float32" + }, + { + "data": [0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1], + "dims": [2, 1, 2, 1, 2], + "type": "float32" + } + ], + "outputs": [ + { + "data": [0.9375, 2.1875], + "dims": [1, 2, 1, 1, 1], + "type": "float32" + } + ] + } + ] + }, + { + "name": "conv3d, x=[1, 2, 2, 1, 2] f=[2, 2, 2, 1, 2], s=1, d=1, p=valid", + "operator": "Conv", + "attributes": [ + { "name": "kernel_shape", "data": [2, 1, 2], "type": "ints" }, + { "name": "auto_pad", "data": "VALID", "type": "string" }, + { "name": "strides", "data": [1, 1, 1], "type": "ints" }, + { "name": "dilations", "data": [1, 1, 1], "type": "ints" } + ], + "cases": [ + { + "name": "T[0]", + "inputs": [ + { + "data": [0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2], + "dims": [1, 2, 2, 1, 2], + "type": "float32" + }, + { + "data": [0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1, 1.125, 1.25, 1.375, 1.5, 1.625, 1.75, 1.875, 2], + "dims": [2, 2, 2, 1, 2], + "type": "float32" + } + ], + "outputs": [ + { + "data": [6.375, 15.375], + "dims": [1, 2, 1, 1, 1], + "type": "float32" + } + ] + } + ] + }, + { + "name": "conv3d, x=[1, 3, 2, 1, 2], f=[2, 3, 2, 1, 2], s=1, d=1, p=VALID", + "operator": "Conv", + "attributes": [ + { "name": "kernel_shape", "data": [2, 1, 2], "type": "ints" }, + { "name": "auto_pad", "data": "VALID", "type": "string" }, + { "name": "strides", "data": [1, 1, 1], "type": "ints" }, + { "name": "dilations", "data": [1, 1, 1], "type": "ints" } + ], + "cases": [ + { + "name": "T[0]", + "inputs": [ + { + "data": [ + 6.300000190734863, 5.400000095367432, 2.700000047683716, 1.100000023841858, 0.30000001192092896, + 7.599999904632568, 9.699999809265137, 1.100000023841858, 7.099999904632568, 4.300000190734863, + 0.6000000238418579, 9.5 + ], + "dims": [1, 3, 2, 1, 2], + "type": "float32" + }, + { + "data": [ + 7.900000095367432, 9.100000381469727, 8.399999618530273, 10.0, 7.599999904632568, 1.7999999523162842, + 2.700000047683716, 1.399999976158142, 2.0999999046325684, 1.399999976158142, 7.900000095367432, 5.0, 7.5, + 9.199999809265137, 1.899999976158142, 4.300000190734863, 4.099999904632568, 4.800000190734863, 10.0, + 8.300000190734863, 7.0, 7.5, 4.199999809265137, 3.299999952316284 + ], + "dims": [2, 3, 2, 1, 2], + "type": "float32" + } + ], + "outputs": [ + { + "data": [249.4499969482422, 366.45001220703125], + "dims": [1, 2, 1, 1, 1], + "type": "float32" + } + ] + } + ] + }, + { + "name": "conv3d, x=[1, 4, 2, 1, 2], f=[2, 4, 2, 1, 2], s=1, d=1, p=VALID", + "operator": "Conv", + "attributes": [ + { "name": "kernel_shape", "data": [2, 1, 2], "type": "ints" }, + { "name": "auto_pad", "data": "VALID", "type": "string" }, + { "name": "strides", "data": [1, 1, 1], "type": "ints" }, + { "name": "dilations", "data": [1, 1, 1], "type": "ints" } + ], + "cases": [ + { + "name": "T[0]", + "inputs": [ + { + "data": [ + 4.599999904632568, 3.4000000953674316, 4.800000190734863, 7.699999809265137, 3.0, 3.0999999046325684, + 4.699999809265137, 7.800000190734863, 8.899999618530273, 8.100000381469727, 8.0, 3.200000047683716, + 5.199999809265137, 1.399999976158142, 5.900000095367432, 0.6000000238418579 + ], + "dims": [1, 4, 2, 1, 2], + "type": "float32" + }, + { + "data": [ + 9.600000381469727, 4.599999904632568, 1.0, 6.099999904632568, 3.700000047683716, 6.099999904632568, + 7.800000190734863, 5.900000095367432, 1.0, 2.0, 8.600000381469727, 1.899999976158142, 3.5999999046325684, + 4.199999809265137, 5.900000095367432, 7.199999809265137, 4.800000190734863, 4.599999904632568, + 1.100000023841858, 0.5, 1.2999999523162842, 8.600000381469727, 7.0, 2.0999999046325684, 5.0, + 7.300000190734863, 9.5, 7.099999904632568, 1.0, 2.5, 1.7999999523162842, 4.800000190734863 + ], + "dims": [2, 4, 2, 1, 2], + "type": "float32" + } + ], + "outputs": [ + { + "data": [387.97003173828125, 351.239990234375], + "dims": [1, 2, 1, 1, 1], + "type": "float32" + } + ] + } + ] + }, + { + "name": "conv3d, x=[1, 5, 2, 1, 2], f=[2, 5, 2, 1, 2], s=1, d=1, p=VALID", + "operator": "Conv", + "attributes": [ + { "name": "kernel_shape", "data": [2, 1, 2], "type": "ints" }, + { "name": "auto_pad", "data": "VALID", "type": "string" }, + { "name": "strides", "data": [1, 1, 1], "type": "ints" }, + { "name": "dilations", "data": [1, 1, 1], "type": "ints" } + ], + "cases": [ + { + "name": "T[0]", + "inputs": [ + { + "data": [ + 0.4000000059604645, 0.6000000238418579, 2.0, 1.7000000476837158, 8.5, 8.199999809265137, + 9.100000381469727, 3.0999999046325684, 3.0, 9.800000190734863, 5.800000190734863, 2.700000047683716, 5.0, + 8.899999618530273, 10.0, 6.599999904632568, 6.300000190734863, 8.399999618530273, 9.899999618530273, + 4.400000095367432 + ], + "dims": [1, 5, 2, 1, 2], + "type": "float32" + }, + { + "data": [ + 1.2999999523162842, 3.700000047683716, 3.200000047683716, 0.4000000059604645, 9.0, 9.199999809265137, 9.5, + 8.699999809265137, 3.0, 7.300000190734863, 5.5, 8.0, 0.6000000238418579, 8.300000190734863, + 0.699999988079071, 0.4000000059604645, 1.7000000476837158, 6.599999904632568, 5.400000095367432, 3.0, 3.0, + 7.699999809265137, 8.5, 5.199999809265137, 8.199999809265137, 2.799999952316284, 7.900000095367432, + 9.899999618530273, 1.399999976158142, 7.699999809265137, 2.9000000953674316, 4.699999809265137, + 1.899999976158142, 5.300000190734863, 5.699999809265137, 1.0, 0.4000000059604645, 4.400000095367432, + 4.599999904632568, 8.399999618530273 + ], + "dims": [2, 5, 2, 1, 2], + "type": "float32" + } + ], + "outputs": [ + { + "data": [628.5400390625, 578.3199462890625], + "dims": [1, 2, 1, 1, 1], + "type": "float32" + } + ] + } + ] + }, + { + "name": "conv3d, x=[1, 6, 2, 1, 2], f=[2, 6, 2, 1, 2], s=1, d=1, p=VALID", + "operator": "Conv", + "attributes": [ + { "name": "kernel_shape", "data": [2, 1, 2], "type": "ints" }, + { "name": "auto_pad", "data": "VALID", "type": "string" }, + { "name": "strides", "data": [1, 1, 1], "type": "ints" }, + { "name": "dilations", "data": [1, 1, 1], "type": "ints" } + ], + "cases": [ + { + "name": "T[0]", + "inputs": [ + { + "data": [ + 8.699999809265137, 1.2000000476837158, 7.800000190734863, 9.5, 0.20000000298023224, 6.599999904632568, + 5.900000095367432, 4.300000190734863, 9.100000381469727, 0.699999988079071, 7.099999904632568, + 9.600000381469727, 3.0, 6.199999809265137, 1.899999976158142, 3.5, 3.0999999046325684, 4.599999904632568, + 9.899999618530273, 3.700000047683716, 7.800000190734863, 2.0, 1.100000023841858, 8.699999809265137 + ], + "dims": [1, 6, 2, 1, 2], + "type": "float32" + }, + { + "data": [ + 4.699999809265137, 8.899999618530273, 0.6000000238418579, 7.900000095367432, 7.199999809265137, + 9.899999618530273, 6.300000190734863, 2.200000047683716, 4.0, 8.100000381469727, 3.5999999046325684, + 8.399999618530273, 4.5, 1.0, 1.0, 9.899999618530273, 0.30000001192092896, 6.400000095367432, 7.5, 8.5, + 2.799999952316284, 3.4000000953674316, 7.599999904632568, 3.700000047683716, 5.199999809265137, 10.0, + 2.4000000953674316, 0.800000011920929, 1.399999976158142, 5.800000190734863, 6.400000095367432, 3.5, + 3.4000000953674316, 5.199999809265137, 7.599999904632568, 7.800000190734863, 0.20000000298023224, + 7.900000095367432, 0.20000000298023224, 3.799999952316284, 2.299999952316284, 1.7000000476837158, 2.0, + 9.699999809265137, 9.800000190734863, 1.2000000476837158, 2.799999952316284, 5.900000095367432 + ], + "dims": [2, 6, 2, 1, 2], + "type": "float32" + } + ], + "outputs": [ + { + "data": [654.489990234375, 605.5], + "dims": [1, 2, 1, 1, 1], + "type": "float32" + } + ] + } + ] + }, + { + "name": "conv3d, x=[1, 7, 2, 1, 2], f=[2, 7, 2, 1, 2], s=1, d=1, p=VALID", + "operator": "Conv", + "attributes": [ + { "name": "kernel_shape", "data": [2, 1, 2], "type": "ints" }, + { "name": "auto_pad", "data": "VALID", "type": "string" }, + { "name": "strides", "data": [1, 1, 1], "type": "ints" }, + { "name": "dilations", "data": [1, 1, 1], "type": "ints" } + ], + "cases": [ + { + "name": "T[0]", + "inputs": [ + { + "data": [ + 5.099999904632568, 4.300000190734863, 3.0999999046325684, 7.0, 3.0, 0.8999999761581421, 9.5, + 6.300000190734863, 4.400000095367432, 9.399999618530273, 4.900000095367432, 1.600000023841858, 6.5, 6.0, + 6.400000095367432, 4.599999904632568, 3.5999999046325684, 6.900000095367432, 0.20000000298023224, + 2.0999999046325684, 6.699999809265137, 6.099999904632568, 9.399999618530273, 1.100000023841858, + 2.0999999046325684, 4.800000190734863, 1.100000023841858, 5.599999904632568 + ], + "dims": [1, 7, 2, 1, 2], + "type": "float32" + }, + { + "data": [ + 4.300000190734863, 8.0, 6.900000095367432, 1.899999976158142, 3.799999952316284, 6.800000190734863, + 3.700000047683716, 5.099999904632568, 3.799999952316284, 6.099999904632568, 4.5, 7.199999809265137, + 0.30000001192092896, 6.699999809265137, 6.900000095367432, 8.5, 2.5, 1.100000023841858, + 0.6000000238418579, 6.599999904632568, 2.299999952316284, 0.8999999761581421, 4.599999904632568, 4.5, + 3.5999999046325684, 3.0999999046325684, 5.800000190734863, 8.199999809265137, 2.0999999046325684, + 6.900000095367432, 9.699999809265137, 7.800000190734863, 2.5, 5.800000190734863, 8.300000190734863, + 0.699999988079071, 5.5, 4.900000095367432, 1.2000000476837158, 0.30000001192092896, 0.10000000149011612, + 1.100000023841858, 7.400000095367432, 6.699999809265137, 0.8999999761581421, 0.4000000059604645, + 1.7999999523162842, 9.199999809265137, 3.9000000953674316, 6.699999809265137, 5.599999904632568, + 6.699999809265137, 3.0999999046325684, 4.699999809265137, 6.699999809265137, 9.100000381469727 + ], + "dims": [2, 7, 2, 1, 2], + "type": "float32" + } + ], + "outputs": [ + { + "data": [583.260009765625, 623.1699829101562], + "dims": [1, 2, 1, 1, 1], + "type": "float32" + } + ] + } + ] + }, + { + "name": "conv3d, x=[1, 3, 3, 3, 3], f=[2, 3, 3, 3, 3], s=1, d=1, p=VALID", + "operator": "Conv", + "attributes": [ + { "name": "kernel_shape", "data": [3, 3, 3], "type": "ints" }, + { "name": "auto_pad", "data": "VALID", "type": "string" }, + { "name": "strides", "data": [1, 1, 1], "type": "ints" }, + { "name": "dilations", "data": [1, 1, 1], "type": "ints" } + ], + "cases": [ + { + "name": "T[0]", + "inputs": [ + { + "data": [ + 6.800000190734863, 7.900000095367432, 9.800000190734863, 6.300000190734863, 3.9000000953674316, + 4.099999904632568, 2.5, 0.4000000059604645, 3.0999999046325684, 4.300000190734863, 4.800000190734863, + 3.0999999046325684, 6.699999809265137, 8.699999809265137, 9.100000381469727, 9.100000381469727, + 9.800000190734863, 3.0, 1.100000023841858, 3.799999952316284, 3.5999999046325684, 7.5, + 0.20000000298023224, 8.0, 6.5, 1.0, 0.699999988079071, 8.399999618530273, 6.300000190734863, + 2.0999999046325684, 6.400000095367432, 7.0, 9.399999618530273, 3.9000000953674316, 1.7999999523162842, + 9.800000190734863, 7.599999904632568, 4.199999809265137, 3.5999999046325684, 6.599999904632568, + 4.699999809265137, 2.9000000953674316, 3.200000047683716, 4.900000095367432, 3.0999999046325684, + 0.6000000238418579, 5.400000095367432, 5.099999904632568, 1.0, 9.100000381469727, 5.0, 6.199999809265137, + 9.199999809265137, 3.0, 7.0, 4.400000095367432, 0.8999999761581421, 7.900000095367432, 1.5, 9.0, + 1.899999976158142, 2.299999952316284, 5.5, 2.9000000953674316, 3.5, 4.400000095367432, 6.199999809265137, + 6.300000190734863, 5.199999809265137, 0.30000001192092896, 3.799999952316284, 0.699999988079071, + 7.400000095367432, 0.5, 1.2999999523162842, 4.900000095367432, 2.4000000953674316, 9.5, 4.599999904632568, + 6.400000095367432, 9.0 + ], + "dims": [1, 3, 3, 3, 3], + "type": "float32" + }, + { + "data": [ + 8.199999809265137, 6.099999904632568, 1.0, 5.599999904632568, 0.10000000149011612, 3.700000047683716, + 9.399999618530273, 5.699999809265137, 1.2999999523162842, 9.899999618530273, 9.399999618530273, + 6.099999904632568, 9.100000381469727, 6.900000095367432, 5.400000095367432, 9.800000190734863, + 8.899999618530273, 4.599999904632568, 6.900000095367432, 3.0, 5.199999809265137, 9.699999809265137, 2.0, + 6.900000095367432, 8.699999809265137, 4.0, 8.100000381469727, 5.400000095367432, 4.0, 5.5, + 7.300000190734863, 8.399999618530273, 9.600000381469727, 4.699999809265137, 4.300000190734863, 2.0, + 0.10000000149011612, 9.699999809265137, 3.299999952316284, 0.4000000059604645, 2.0, 7.099999904632568, + 3.200000047683716, 3.200000047683716, 7.900000095367432, 9.399999618530273, 1.0, 4.599999904632568, + 0.30000001192092896, 3.5, 1.7999999523162842, 1.7999999523162842, 7.400000095367432, 0.20000000298023224, + 5.300000190734863, 0.800000011920929, 2.200000047683716, 9.100000381469727, 3.0, 1.2999999523162842, + 7.599999904632568, 5.900000095367432, 5.599999904632568, 6.800000190734863, 7.400000095367432, + 3.9000000953674316, 1.7000000476837158, 4.0, 5.099999904632568, 0.10000000149011612, 10.0, 10.0, + 1.600000023841858, 6.300000190734863, 5.400000095367432, 0.10000000149011612, 7.400000095367432, + 1.2999999523162842, 1.2999999523162842, 5.0, 6.5, 3.0, 8.300000190734863, 5.800000190734863, + 2.299999952316284, 1.7999999523162842, 5.099999904632568, 6.400000095367432, 7.0, 9.199999809265137, + 9.199999809265137, 2.0999999046325684, 0.0, 4.900000095367432, 8.199999809265137, 9.0, 9.899999618530273, + 9.199999809265137, 2.5, 0.699999988079071, 7.599999904632568, 7.599999904632568, 5.900000095367432, + 9.800000190734863, 8.600000381469727, 6.800000190734863, 7.199999809265137, 2.0999999046325684, + 5.099999904632568, 7.5, 1.2000000476837158, 4.300000190734863, 3.0999999046325684, 8.600000381469727, + 0.8999999761581421, 5.5, 8.699999809265137, 4.599999904632568, 0.30000001192092896, 1.0, + 5.099999904632568, 2.700000047683716, 9.800000190734863, 0.6000000238418579, 4.699999809265137, + 3.4000000953674316, 6.800000190734863, 5.199999809265137, 1.5, 0.30000001192092896, 5.699999809265137, + 4.5, 6.900000095367432, 5.5, 6.5, 1.899999976158142, 3.700000047683716, 0.699999988079071, + 6.099999904632568, 6.699999809265137, 2.799999952316284, 7.099999904632568, 2.0999999046325684, + 4.300000190734863, 7.199999809265137, 9.600000381469727, 2.299999952316284, 1.7000000476837158, + 2.5999999046325684, 8.0, 1.600000023841858, 4.5, 6.0, 5.400000095367432, 2.799999952316284, + 8.100000381469727, 8.399999618530273, 4.199999809265137, 0.30000001192092896, 7.5, 9.600000381469727, + 9.699999809265137 + ], + "dims": [2, 3, 3, 3, 3], + "type": "float32" + } + ], + "outputs": [ + { + "data": [2017.72998046875, 2179.419921875], + "dims": [1, 2, 1, 1, 1], + "type": "float32" + } + ] + } + ] + }, + { + "name": "conv3d, x=[1, 3, 3, 3, 3], f=[2, 3, 3, 3, 3], s=1, d=1, p=SAME_UPPER", + "operator": "Conv", + "attributes": [ + { "name": "kernel_shape", "data": [3, 3, 3], "type": "ints" }, + { "name": "auto_pad", "data": "SAME_UPPER", "type": "string" }, + { "name": "strides", "data": [1, 1, 1], "type": "ints" }, + { "name": "dilations", "data": [1, 1, 1], "type": "ints" } + ], + "cases": [ + { + "name": "T[0]", + "inputs": [ + { + "data": [ + 8.399999618530273, 4.5, 9.600000381469727, 4.699999809265137, 9.600000381469727, 5.300000190734863, + 7.699999809265137, 3.0, 1.7999999523162842, 6.599999904632568, 2.299999952316284, 0.10000000149011612, + 3.0999999046325684, 5.400000095367432, 4.400000095367432, 6.800000190734863, 1.5, 3.5999999046325684, + 6.199999809265137, 8.300000190734863, 5.400000095367432, 5.400000095367432, 4.199999809265137, + 6.599999904632568, 3.200000047683716, 7.199999809265137, 7.0, 5.099999904632568, 4.599999904632568, 1.0, + 6.599999904632568, 3.5999999046325684, 1.5, 4.699999809265137, 8.300000190734863, 0.8999999761581421, 5.5, + 1.2999999523162842, 3.5, 2.700000047683716, 2.0999999046325684, 9.899999618530273, 0.800000011920929, + 7.699999809265137, 8.0, 0.5, 5.599999904632568, 5.599999904632568, 0.0, 5.699999809265137, + 2.200000047683716, 1.7000000476837158, 7.300000190734863, 3.0999999046325684, 6.599999904632568, 6.0, + 6.699999809265137, 0.20000000298023224, 4.0, 7.800000190734863, 0.800000011920929, 2.5999999046325684, + 8.5, 5.5, 3.5999999046325684, 1.7999999523162842, 2.0999999046325684, 6.400000095367432, 6.0, + 8.699999809265137, 6.199999809265137, 4.400000095367432, 4.099999904632568, 0.8999999761581421, + 6.199999809265137, 0.30000001192092896, 5.5, 7.199999809265137, 4.0, 7.599999904632568, 2.200000047683716 + ], + "dims": [1, 3, 3, 3, 3], + "type": "float32" + }, + { + "data": [ + 3.200000047683716, 6.599999904632568, 2.0, 7.300000190734863, 1.899999976158142, 9.600000381469727, + 8.800000190734863, 2.5, 5.199999809265137, 8.399999618530273, 6.199999809265137, 0.30000001192092896, + 3.5999999046325684, 9.600000381469727, 7.199999809265137, 2.799999952316284, 6.699999809265137, + 4.199999809265137, 4.300000190734863, 5.5, 6.5, 7.300000190734863, 0.4000000059604645, 6.800000190734863, + 4.300000190734863, 2.299999952316284, 9.899999618530273, 4.5, 1.7999999523162842, 5.300000190734863, + 8.699999809265137, 8.300000190734863, 9.0, 0.6000000238418579, 7.099999904632568, 4.400000095367432, + 9.699999809265137, 2.200000047683716, 1.2000000476837158, 5.0, 3.5, 0.6000000238418579, 0.800000011920929, + 3.4000000953674316, 1.100000023841858, 0.30000001192092896, 9.800000190734863, 6.400000095367432, + 1.2999999523162842, 8.100000381469727, 1.899999976158142, 2.200000047683716, 6.599999904632568, + 3.5999999046325684, 8.5, 4.800000190734863, 6.800000190734863, 4.400000095367432, 9.0, 1.5, + 0.699999988079071, 10.0, 8.0, 4.099999904632568, 9.100000381469727, 9.800000190734863, 3.0, + 3.299999952316284, 0.10000000149011612, 9.600000381469727, 1.399999976158142, 0.4000000059604645, + 4.900000095367432, 5.5, 9.5, 8.699999809265137, 7.5, 2.4000000953674316, 6.800000190734863, + 3.299999952316284, 3.5999999046325684, 6.199999809265137, 9.600000381469727, 2.9000000953674316, + 9.199999809265137, 0.0, 3.700000047683716, 5.599999904632568, 0.0, 7.0, 7.099999904632568, + 8.699999809265137, 3.0, 0.6000000238418579, 2.4000000953674316, 6.699999809265137, 2.4000000953674316, + 3.5999999046325684, 7.900000095367432, 3.799999952316284, 6.0, 6.599999904632568, 0.30000001192092896, + 0.20000000298023224, 8.899999618530273, 4.400000095367432, 4.0, 7.599999904632568, 2.0, 6.199999809265137, + 4.400000095367432, 7.300000190734863, 7.099999904632568, 5.599999904632568, 7.599999904632568, + 3.799999952316284, 1.7000000476837158, 2.4000000953674316, 6.5, 5.099999904632568, 1.2999999523162842, + 3.700000047683716, 8.399999618530273, 6.699999809265137, 0.699999988079071, 6.800000190734863, + 8.100000381469727, 6.699999809265137, 3.799999952316284, 9.800000190734863, 3.0999999046325684, 9.0, 3.0, + 4.800000190734863, 9.0, 0.6000000238418579, 5.5, 2.200000047683716, 4.599999904632568, 6.300000190734863, + 2.299999952316284, 0.699999988079071, 6.900000095367432, 9.0, 2.4000000953674316, 0.800000011920929, + 7.400000095367432, 5.5, 3.799999952316284, 9.800000190734863, 6.0, 5.699999809265137, 5.099999904632568, + 8.0, 8.399999618530273, 5.0, 8.800000190734863, 9.300000190734863, 8.0, 2.9000000953674316, + 5.800000190734863, 3.5 + ], + "dims": [2, 3, 3, 3, 3], + "type": "float32" + } + ], + "outputs": [ + { + "data": [ + 487.2500305175781, 689.6099853515625, 552.9700317382812, 808.4199829101562, 1176.8800048828125, + 881.7599487304688, 490.28997802734375, 967.3399658203125, 731.25, 750.389892578125, 1191.6900634765625, + 863.1399536132812, 1178.9097900390625, 1969.429931640625, 1332.170166015625, 775.0399780273438, + 1317.969970703125, 1000.9500122070312, 484.0299987792969, 728.6400146484375, 567.3099975585938, + 700.3800048828125, 1244.590087890625, 966.1201171875, 496.76995849609375, 957.3800048828125, + 769.7799682617188, 585.469970703125, 874.6099243164062, 450.8900146484375, 983.4099731445312, + 1313.3599853515625, 746.219970703125, 661.8699340820312, 961.77001953125, 644.1100463867188, + 801.2799682617188, 1255.02978515625, 732.27001953125, 1323.369873046875, 1902.0399169921875, + 1330.7901611328125, 895.3799438476562, 1359.68994140625, 991.4299926757812, 486.4100036621094, + 759.3099975585938, 435.15997314453125, 814.739990234375, 1174.409912109375, 792.22998046875, 563.25, + 861.0, 587.6099853515625 + ], + "dims": [1, 2, 3, 3, 3], + "type": "float32" + } + ] + } + ] + }, + { + "name": "conv3d with bias, x=[1, 3, 3, 3, 3], f=[2, 3, 3, 3, 3], s=1, d=1, p=SAME_UPPER", + "operator": "Conv", + "attributes": [ + { "name": "kernel_shape", "data": [3, 3, 3], "type": "ints" }, + { "name": "auto_pad", "data": "SAME_UPPER", "type": "string" }, + { "name": "strides", "data": [1, 1, 1], "type": "ints" }, + { "name": "dilations", "data": [1, 1, 1], "type": "ints" } + ], + "cases": [ + { + "name": "T[0]", + "inputs": [ + { + "data": [ + 0.10000000149011612, 5.5, 7.400000095367432, 9.699999809265137, 9.5, 10.0, 2.5, 5.400000095367432, + 1.600000023841858, 6.300000190734863, 1.7000000476837158, 8.899999618530273, 2.0999999046325684, + 6.800000190734863, 0.8999999761581421, 3.0999999046325684, 1.399999976158142, 1.100000023841858, 9.5, 5.5, + 0.800000011920929, 5.400000095367432, 9.699999809265137, 8.300000190734863, 4.800000190734863, 4.0, + 8.399999618530273, 7.300000190734863, 9.199999809265137, 4.0, 4.300000190734863, 4.099999904632568, 8.5, + 8.800000190734863, 3.5999999046325684, 4.900000095367432, 6.400000095367432, 8.199999809265137, + 5.099999904632568, 7.400000095367432, 6.300000190734863, 4.400000095367432, 0.10000000149011612, + 8.899999618530273, 8.300000190734863, 0.6000000238418579, 0.10000000149011612, 3.0999999046325684, 9.0, + 1.7000000476837158, 9.699999809265137, 4.699999809265137, 1.5, 6.900000095367432, 0.10000000149011612, + 0.699999988079071, 8.199999809265137, 4.599999904632568, 1.600000023841858, 3.700000047683716, + 1.600000023841858, 4.199999809265137, 1.2000000476837158, 0.10000000149011612, 9.0, 9.399999618530273, + 9.199999809265137, 7.5, 6.699999809265137, 1.2000000476837158, 6.699999809265137, 6.5, 0.5, + 3.5999999046325684, 3.4000000953674316, 4.599999904632568, 8.800000190734863, 1.100000023841858, 2.5, + 6.599999904632568, 8.0 + ], + "dims": [1, 3, 3, 3, 3], + "type": "float32" + }, + { + "data": [ + 7.400000095367432, 5.900000095367432, 2.5999999046325684, 5.300000190734863, 7.599999904632568, + 5.300000190734863, 9.100000381469727, 7.900000095367432, 4.900000095367432, 7.5, 6.900000095367432, 4.5, + 3.299999952316284, 5.0, 2.299999952316284, 9.899999618530273, 1.100000023841858, 9.0, 7.199999809265137, + 1.7999999523162842, 3.0, 4.599999904632568, 7.099999904632568, 0.5, 8.0, 7.599999904632568, + 9.699999809265137, 0.30000001192092896, 6.099999904632568, 4.099999904632568, 0.699999988079071, + 5.199999809265137, 5.199999809265137, 5.900000095367432, 2.0999999046325684, 6.300000190734863, + 8.600000381469727, 0.8999999761581421, 3.9000000953674316, 3.799999952316284, 3.799999952316284, + 6.300000190734863, 2.700000047683716, 6.599999904632568, 9.5, 0.0, 2.0, 0.4000000059604645, + 3.700000047683716, 2.700000047683716, 2.200000047683716, 3.700000047683716, 8.5, 9.899999618530273, + 8.399999618530273, 6.5, 9.5, 0.10000000149011612, 6.699999809265137, 6.599999904632568, 4.300000190734863, + 4.599999904632568, 3.5999999046325684, 4.400000095367432, 8.0, 5.5, 2.9000000953674316, 8.300000190734863, + 3.700000047683716, 7.099999904632568, 7.5, 8.300000190734863, 1.899999976158142, 7.800000190734863, 3.0, + 0.4000000059604645, 2.5, 7.199999809265137, 2.9000000953674316, 3.299999952316284, 8.399999618530273, + 3.799999952316284, 5.699999809265137, 3.0, 6.199999809265137, 0.699999988079071, 7.5, 3.0999999046325684, + 1.399999976158142, 1.600000023841858, 6.199999809265137, 9.800000190734863, 6.5, 7.0, 5.900000095367432, + 8.600000381469727, 1.600000023841858, 4.599999904632568, 4.0, 0.6000000238418579, 8.0, 9.0, + 3.799999952316284, 0.4000000059604645, 9.300000190734863, 7.099999904632568, 8.100000381469727, + 0.10000000149011612, 8.100000381469727, 4.599999904632568, 6.900000095367432, 0.10000000149011612, + 4.699999809265137, 0.10000000149011612, 8.899999618530273, 3.4000000953674316, 0.800000011920929, + 1.399999976158142, 6.5, 7.699999809265137, 2.700000047683716, 4.0, 7.800000190734863, 6.699999809265137, + 1.5, 5.400000095367432, 5.0, 7.800000190734863, 4.800000190734863, 5.199999809265137, 8.300000190734863, + 1.0, 9.899999618530273, 9.5, 0.5, 3.0999999046325684, 9.300000190734863, 8.600000381469727, + 7.599999904632568, 7.699999809265137, 9.800000190734863, 0.8999999761581421, 9.600000381469727, + 9.699999809265137, 2.799999952316284, 4.0, 4.699999809265137, 3.0999999046325684, 7.0, 1.100000023841858, + 0.8999999761581421, 8.300000190734863, 1.0, 6.300000190734863, 0.20000000298023224, 5.599999904632568, + 7.099999904632568, 3.5, 9.899999618530273, 7.5, 4.900000095367432, 1.7999999523162842 + ], + "dims": [2, 3, 3, 3, 3], + "type": "float32" + }, + { + "data": [9.699999809265137, 2.4000000953674316], + "dims": [2], + "type": "float32" + } + ], + "outputs": [ + { + "data": [ + 769.7499389648438, 1072.329833984375, 704.4599609375, 805.1400146484375, 1299.5399169921875, + 939.5000610351562, 524.260009765625, 753.0099487304688, 524.1699829101562, 1181.39990234375, + 1647.14990234375, 1139.5899658203125, 1325.56982421875, 2184.85986328125, 1523.3699951171875, + 857.0199584960938, 1273.72998046875, 911.9600219726562, 733.8999633789062, 1060.2799072265625, + 678.4299926757812, 1001.8198852539062, 1517.159912109375, 961.1799926757812, 658.3500366210938, + 1098.43994140625, 683.5499877929688, 622.530029296875, 1064.630126953125, 759.1500244140625, + 958.6400756835938, 1466.6199951171875, 1096.9700927734375, 689.260009765625, 1000.1900024414062, + 654.489990234375, 777.5901489257812, 1269.4998779296875, 1003.8999633789062, 1433.219970703125, 1880.25, + 1488.080078125, 1090.3900146484375, 1417.3499755859375, 952.8499755859375, 591.81005859375, + 1007.2999267578125, 536.7200317382812, 969.969970703125, 1501.6400146484375, 1038.1500244140625, + 716.570068359375, 1121.3199462890625, 762.1400146484375 + ], + "dims": [1, 2, 3, 3, 3], + "type": "float32" + } + ] + } + ] + }, + { + "name": "conv3d with bias, x=[1, 2, 4, 4, 4], f=[3, 2, 1, 1, 1], s=1, d=1, auto_pad=NOTSET, pads=[2, 2, 2, 2, 2, 2]", + "operator": "Conv", + "attributes": [ + { "name": "kernel_shape", "data": [1, 1, 1], "type": "ints" }, + { "name": "auto_pad", "data": "NOTSET", "type": "string" }, + { "name": "strides", "data": [1, 1, 1], "type": "ints" }, + { "name": "pads", "data": [2, 2, 2, 2, 2, 2], "type": "ints" }, + { "name": "dilations", "data": [1, 1, 1], "type": "ints" } + ], + "cases": [ + { + "name": "T[0]", + "inputs": [ + { + "data": [ + 6.0, 0.20000000298023224, 3.0, 5.800000190734863, 1.7999999523162842, 5.699999809265137, + 4.699999809265137, 1.2000000476837158, 6.099999904632568, 1.600000023841858, 1.7000000476837158, + 3.5999999046325684, 0.800000011920929, 4.599999904632568, 5.300000190734863, 3.5999999046325684, + 4.800000190734863, 2.0999999046325684, 7.199999809265137, 4.5, 0.20000000298023224, 1.2999999523162842, + 1.5, 4.199999809265137, 5.699999809265137, 6.800000190734863, 3.0, 9.5, 9.199999809265137, + 6.099999904632568, 0.30000001192092896, 3.0999999046325684, 1.899999976158142, 8.300000190734863, 0.5, + 1.100000023841858, 2.9000000953674316, 0.5, 8.699999809265137, 7.099999904632568, 5.699999809265137, 2.0, + 8.899999618530273, 0.8999999761581421, 5.699999809265137, 8.100000381469727, 8.300000190734863, 3.5, 0.0, + 9.899999618530273, 2.200000047683716, 9.5, 6.0, 1.7000000476837158, 7.800000190734863, 2.0999999046325684, + 4.800000190734863, 5.699999809265137, 8.100000381469727, 1.5, 5.699999809265137, 8.0, 3.0, 6.5, 2.0, + 7.599999904632568, 6.300000190734863, 2.9000000953674316, 8.100000381469727, 3.0, 8.800000190734863, + 7.300000190734863, 7.300000190734863, 0.30000001192092896, 0.800000011920929, 7.199999809265137, + 6.300000190734863, 8.5, 5.900000095367432, 3.5999999046325684, 2.700000047683716, 9.899999618530273, + 9.800000190734863, 1.399999976158142, 0.20000000298023224, 0.699999988079071, 3.9000000953674316, + 1.100000023841858, 9.899999618530273, 4.5, 8.300000190734863, 6.400000095367432, 9.199999809265137, + 6.800000190734863, 6.5, 0.0, 2.299999952316284, 7.199999809265137, 6.900000095367432, 8.899999618530273, + 1.899999976158142, 2.0999999046325684, 8.100000381469727, 8.5, 6.199999809265137, 3.0, 5.099999904632568, + 8.300000190734863, 10.0, 9.899999618530273, 2.200000047683716, 5.599999904632568, 8.699999809265137, 7.5, + 8.800000190734863, 0.6000000238418579, 4.400000095367432, 0.8999999761581421, 1.100000023841858, + 5.099999904632568, 1.2999999523162842, 6.0, 7.0, 0.30000001192092896, 5.5, 5.199999809265137, + 4.400000095367432, 6.099999904632568 + ], + "dims": [1, 2, 4, 4, 4], + "type": "float32" + }, + { + "data": [1.100000023841858, 7.699999809265137, 1.0, 0.5, 4.5, 0.20000000298023224], + "dims": [3, 2, 1, 1, 1], + "type": "float32" + }, + { + "data": [2.4000000953674316, 3.0, 4.0], + "dims": [3], + "type": "float32" + } + ], + "outputs": [ + { + "data": [ + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 24.399999618530273, 61.13999938964844, 54.21000289916992, 31.110000610351562, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 66.75, 31.76999855041504, + 75.33000183105469, 59.93000030517578, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 65.31999969482422, 6.470000267028809, 10.430000305175781, 61.79999923706055, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 51.790000915527344, + 72.90999603271484, 53.65999984741211, 34.07999801635742, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 28.469999313354492, + 80.93999481201172, 85.77999877929688, 18.1299991607666, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 4.159999847412109, 9.219999313354492, 34.08000183105469, + 15.489999771118164, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 84.89999389648438, 44.53000259399414, 69.61000061035156, 62.130001068115234, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 83.36000061035156, 61.470001220703125, + 52.779998779296875, 5.810000419616699, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 22.19999885559082, 66.97000122070312, + 56.08000183105469, 72.13999938964844, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 20.219999313354492, 19.119998931884766, 74.34000396728516, 75.65999603271484, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 56.40999984741211, + 27.69999885559082, 51.459999084472656, 67.30000305175781, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 85.66999816894531, 87.54000091552734, 28.469999313354492, + 49.369998931884766, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 69.38999938964844, 71.04000091552734, 72.58000183105469, + 17.469999313354492, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 42.880001068115234, 11.200000762939453, 19.44999885559082, 43.97999954223633, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 17.690000534057617, 54.869998931884766, + 65.20999908447266, 6.360000133514404, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 51.02000045776367, 51.23999786376953, 39.58000183105469, 56.52000045776367, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, 2.4000000953674316, + 2.4000000953674316, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + 3.0, 3.0, 3.0, 10.0, 7.0, 9.149999618530273, 10.25, 3.0, 3.0, 3.0, 3.0, 8.850000381469727, + 10.199999809265137, 12.100000381469727, 7.850000381469727, 3.0, 3.0, 3.0, 3.0, 12.75, 4.75, + 5.100000381469727, 10.199999809265137, 3.0, 3.0, 3.0, 3.0, 6.949999809265137, 11.850000381469727, 11.25, + 8.399999618530273, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + 9.149999618530273, 10.049999237060547, 15.100000381469727, 8.199999809265137, 3.0, 3.0, 3.0, 3.0, + 3.299999952316284, 4.650000095367432, 6.449999809265137, 7.75, 3.0, 3.0, 3.0, 3.0, 13.649999618530273, + 12.050000190734863, 10.149999618530273, 15.699999809265137, 3.0, 3.0, 3.0, 3.0, 16.799999237060547, 12.5, + 6.550000190734863, 6.099999904632568, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + 3.0, 3.0, 6.050000190734863, 14.899999618530273, 6.949999809265137, 8.549999237060547, 3.0, 3.0, 3.0, 3.0, + 6.850000381469727, 4.550000190734863, 15.75, 14.350000381469727, 3.0, 3.0, 3.0, 3.0, 11.799999237060547, + 6.5, 14.449999809265137, 8.050000190734863, 3.0, 3.0, 3.0, 3.0, 13.699999809265137, 16.049999237060547, + 12.40000057220459, 9.300000190734863, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + 3.0, 3.0, 7.349999904632568, 16.649999618530273, 9.600000381469727, 12.800000190734863, 3.0, 3.0, 3.0, + 3.0, 11.199999809265137, 5.150000095367432, 11.350000381469727, 7.649999618530273, 3.0, 3.0, 3.0, 3.0, + 8.450000762939453, 11.699999809265137, 14.600000381469727, 4.650000095367432, 3.0, 3.0, 3.0, 3.0, + 11.449999809265137, 13.600000381469727, 8.199999809265137, 12.550000190734863, 3.0, 3.0, 3.0, 3.0, 3.0, + 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, + 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, + 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, + 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, + 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, + 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, + 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, + 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, + 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 31.399999618530273, + 6.420000076293945, 18.760000228881836, 30.68000030517578, 4.0, 4.0, 4.0, 4.0, 13.719999313354492, 30.25, + 26.90999984741211, 10.860000610351562, 4.0, 4.0, 4.0, 4.0, 32.90999984741211, 11.260000228881836, + 11.809999465942383, 21.639999389648438, 4.0, 4.0, 4.0, 4.0, 8.860000610351562, 26.399999618530273, + 29.030000686645508, 20.919998168945312, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, + 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, + 4.0, 4.0, 26.14000129699707, 15.429999351501465, 38.3599967956543, 24.530000686645508, 4.0, 4.0, 4.0, 4.0, + 4.940000057220459, 9.989999771118164, 11.530000686645508, 23.119998931884766, 4.0, 4.0, 4.0, 4.0, + 31.6299991607666, 35.5, 19.15999984741211, 48.029998779296875, 4.0, 4.0, 4.0, 4.0, 47.23999786376953, + 32.80999755859375, 6.650000095367432, 17.950000762939453, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, + 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, + 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 13.010000228881836, 42.790000915527344, 7.630000114440918, + 10.729999542236328, 4.0, 4.0, 4.0, 4.0, 17.43000030517578, 6.670000076293945, 44.769996643066406, + 37.64999771118164, 4.0, 4.0, 4.0, 4.0, 30.889999389648438, 13.600000381469727, 45.06999969482422, + 9.709999084472656, 4.0, 4.0, 4.0, 4.0, 31.649999618530273, 42.43000030517578, 41.790000915527344, + 20.8700008392334, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, + 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, + 5.739999771118164, 50.04999923706055, 15.660000801086426, 46.869998931884766, 4.0, 4.0, 4.0, 4.0, + 31.8799991607666, 11.829999923706055, 39.320003509521484, 14.470000267028809, 4.0, 4.0, 4.0, 4.0, + 25.860000610351562, 30.850000381469727, 41.85000228881836, 10.809999465942383, 4.0, 4.0, 4.0, 4.0, 30.75, + 41.040000915527344, 18.380001068115234, 34.470001220703125, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, + 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, + 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, + 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, + 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, + 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, + 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, + 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0 + ], + "dims": [1, 3, 8, 8, 8], + "type": "float32" + } + ] + } + ] + } +] diff --git a/js/web/test/suite-test-list.jsonc b/js/web/test/suite-test-list.jsonc index cfb43f01a8..4a3a23bfe9 100644 --- a/js/web/test/suite-test-list.jsonc +++ b/js/web/test/suite-test-list.jsonc @@ -1347,6 +1347,7 @@ "concat_zero-sized.jsonc", "cast.jsonc", "conv.jsonc", + "conv3dncdhw.jsonc", "cos.jsonc", "div.jsonc", "div_int32.jsonc",