From 360f2b5e283395d742ff77c884ab720561fbc0dc Mon Sep 17 00:00:00 2001 From: Olivier Wulveryck Date: Wed, 24 Apr 2019 17:29:03 +0200 Subject: [PATCH] feat: new operators Matmul and Reshape (#33) * wip: initial structure of the convolution operator * fix: use the init method of the operator * wip: wip on the convolution operator * chore: delete swap file * wip: evaluate attributes * feat: first implementation of the convolution operator * feat: add matmul operator * feat: new operator Reshape --- backend/x/gorgonnx/ONNX_COVERAGE.md | 567 ++++++++++++++-------------- backend/x/gorgonnx/matmul.go | 34 ++ backend/x/gorgonnx/reshape.go | 40 ++ 3 files changed, 357 insertions(+), 284 deletions(-) create mode 100644 backend/x/gorgonnx/matmul.go create mode 100644 backend/x/gorgonnx/reshape.go diff --git a/backend/x/gorgonnx/ONNX_COVERAGE.md b/backend/x/gorgonnx/ONNX_COVERAGE.md index 33db6af8..ac229002 100644 --- a/backend/x/gorgonnx/ONNX_COVERAGE.md +++ b/backend/x/gorgonnx/ONNX_COVERAGE.md @@ -1,327 +1,326 @@ -Covering 12.4% of the onnx integration tests +Covering 14.0% of the onnx integration tests |.| OpType | Test | Tested | Skipped | Failed | |-|-------------|----------------------|--------|---------|--------| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Sqrt|TestSqrtExample|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Reshape|TestReshapeReorderedDims|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Floor|TestFloor|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Neg|TestNeg|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Conv|TestConvWithStridesPadding|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Conv|TestBasicConvWithoutPadding|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Sigmoid|TestSigmoid|true|false|false| |![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Conv|TestConvWithStridesNoPadding|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Softplus|TestSoftplusExample|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Conv|TestBasicConvWithPadding|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Reshape|TestReshapeReducedDims|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Relu|TestRelu|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Sqrt|TestSqrt|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Add|TestAdd|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Div|TestDivExample|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Log|TestLogExample|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Sign|TestSign|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|MatMul|TestMatmul2d|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Tanh|TestTanhExample|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Reshape|TestReshapeExtendedDims|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Cos|TestCosExample|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Sub|TestSubExample|true|false|false| |![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Neg|TestNegExample|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Add|TestAddBcast|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Sin|TestSin|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Conv|TestBasicConvWithoutPadding|true|false|false| |![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Softplus|TestSoftplus|true|false|false| |![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Sigmoid|TestSigmoidExample|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Sin|TestSinExample|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Mul|TestMul|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Conv|TestBasicConvWithPadding|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Sin|TestSin|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Mul|TestMulExample|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Div|TestDivBcast|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Abs|TestAbs|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Cos|TestCos|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Add|TestAddBcast|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Softplus|TestSoftplusExample|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Ceil|TestCeilExample|true|false|false| |![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Sub|TestSub|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Sqrt|TestSqrtExample|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Add|TestAdd|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Log|TestLog|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Sign|TestSign|true|false|false| |![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Sub|TestSubBcast|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Div|TestDivBcast|true|false|false| |![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Exp|TestExp|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Log|TestLog|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Reshape|TestReshapeNegativeDim|true|false|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Mul|TestMulBcast|true|false|false| |![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Div|TestDiv|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Mul|TestMul|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Log|TestLogExample|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Conv|TestConvWithStridesPadding|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Cos|TestCosExample|true|false|false| |![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Ceil|TestCeil|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Floor|TestFloorExample|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Sqrt|TestSqrt|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Abs|TestAbs|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Sub|TestSubExample|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Relu|TestRelu|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Ceil|TestCeilExample|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Floor|TestFloor|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Div|TestDivExample|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Neg|TestNeg|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Mul|TestMulExample|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Mul|TestMulBcast|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Tanh|TestTanhExample|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Sigmoid|TestSigmoid|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Cos|TestCos|true|false|false| -|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Sin|TestSinExample|true|false|false| |![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Exp|TestExpExample|true|false|false| |![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Tanh|TestTanh|true|false|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Scan|TestScan9Sum|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Transpose|TestTransposeDefault|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Asin|TestAsinExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Softmax|TestSoftmaxLargeNumber|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool3dDefault|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Hardmax|TestHardmaxExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Resize|TestResizeUpsampleLinear|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool2dSameUpper|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Atan|TestAtanExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Hardmax|TestHardmaxDefaultAxis|true|true|false| +|![#c5f015](https://placehold.it/15/c5f015/000000?text=+)|Floor|TestFloorExample|true|false|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|TfIdfVectorizer|TestTfidfvectorizerTfOnlybigramsSkip5|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMean|TestReduceMeanKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|InstanceNormalization|TestInstancenormEpsilon|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LogSoftmax|TestLogsoftmaxExample1|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|BatchNormalization|TestBatchnormEpsilon|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Shape|TestShapeExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|GlobalAveragePool|TestGlobalaveragepoolPrecomputed|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Gather|TestGather0|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL2|TestReduceL2DefaultAxesKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool2dDilations|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL1|TestReduceL1DefaultAxesKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMin|TestArgminDefaultAxisExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL1|TestReduceL1DoNotKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|GlobalMaxPool|TestGlobalmaxpoolPrecomputed|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Transpose|TestTransposeAllPermutations2|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Concat|TestConcat1dAxis0|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceLogSum|TestReduceLogSumDefault|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMean|TestReduceMeanKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|HardSigmoid|TestHardsigmoid|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Max|TestMaxTwoInputs|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|EyeLike|TestEyelikePopulateOffMainDiagonal|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Concat|TestConcat3dAxis1|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Tile|TestTilePrecomputed|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Conv|TestConvWithStridesAndAsymmetricPadding|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Softmax|TestSoftmaxDefaultAxis|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Cast|TestCastDOUBLEToFLOAT|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMax|TestReduceMaxDoNotKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMax|TestReduceMaxDefaultAxesKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool2dStrides|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConvTranspose|TestConvtransposeDilations|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Cosh|TestCoshExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool3dDefault|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL1|TestReduceL1KeepDimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpoolWithArgmax2dPrecomputedPads|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool1dDefault|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Sinh|TestSinhExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|DepthToSpace|TestDepthtospace|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LogSoftmax|TestLogsoftmaxLargeNumber|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Clip|TestClipDefaultMin|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Split|TestSplitVariableParts2d|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MatMul|TestMatmul3d|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Shrink|TestShrinkHard|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Resize|TestResizeDownsampleNearest|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Acos|TestAcosExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Flatten|TestFlattenAxis2|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMax|TestArgmaxNoKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSumSquare|TestReduceSumSquareKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LogSoftmax|TestLogsoftmaxAxis2|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpoolWithArgmax2dPrecomputedStrides|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Dropout|TestDropoutDefault|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LRN|TestLrnDefault|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Sum|TestSumExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|GlobalAveragePool|TestGlobalaveragepoolPrecomputed|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Max|TestMaxOneInput|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Clip|TestClipInbounds|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Clip|TestClipOutbounds|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Reshape|TestReshapeReducedDims|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|BatchNormalization|TestBatchnormExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Sum|TestSumTwoInputs|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Tan|TestTanExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Flatten|TestFlattenAxis0|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Transpose|TestTransposeAllPermutations5|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Asinh|TestAsinh|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|GlobalMaxPool|TestGlobalmaxpool|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Clip|TestClipDefaultMax|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Mean|TestMeanTwoInputs|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Min|TestMinOneInput|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMax|TestReduceMaxKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConvTranspose|TestConvtransposeWithKernel|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceLogSumExp|TestReduceLogSumExpKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool2dDefault|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Clip|TestClipDefaultMin|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Concat|TestConcat2dAxis0|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Cast|TestCastFLOATToDOUBLE|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConvTranspose|TestConvtranspose3d|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSum|TestReduceSumKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSumSquare|TestReduceSumSquareDoNotKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ThresholdedRelu|TestThresholdedreluDefault|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Resize|TestResizeDownsampleLinear|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Acosh|TestAcoshExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpoolWithArgmax2dPrecomputedPads|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|PRelu|TestPreluBroadcast|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Slice|TestSliceNegSteps|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Clip|TestClipDefaultInbounds|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Flatten|TestFlattenAxis3|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMin|TestArgminDefaultAxisRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Transpose|TestTransposeAllPermutations5|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Concat|TestConcat3dAxis0|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MeanVarianceNormalization|TestMvn|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Shrink|TestShrinkSoft|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Cast|TestCastDOUBLEToFLOAT|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceProd|TestReduceProdKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Hardmax|TestHardmaxAxis1|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMax|TestReduceMaxDefaultAxesKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMin|TestArgminKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Flatten|TestFlattenDefaultAxis|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool2dCeil|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Identity|TestIdentity|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LeakyRelu|TestLeakyreluExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSum|TestReduceSumDoNotKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|PRelu|TestPreluExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Split|TestSplitEqualParts2d|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSum|TestReduceSumDefaultAxesKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool2dStrides|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|TfIdfVectorizer|TestTfidfvectorizerTfUniandbigramsSkip5|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Clip|TestClip|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL1|TestReduceL1DoNotKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceProd|TestReduceProdKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Tile|TestTile|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceLogSum|TestReduceLogSumDescAxes|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Reciprocal|TestReciprocalExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LogSoftmax|TestLogsoftmaxDefaultAxis|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceLogSumExp|TestReduceLogSumExpDoNotKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool2dSameLower|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Max|TestMaxTwoInputs|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Split|TestSplitEqualParts1d|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMin|TestReduceMinDefaultAxesKeepdimsRandom|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Pad|TestEdgePad|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConvTranspose|TestConvtranspose1d|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool2dPrecomputedPads|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LogSoftmax|TestLogsoftmaxAxis0|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMin|TestReduceMinKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL1|TestReduceL1DefaultAxesKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Sum|TestSumOneInput|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMin|TestArgminDefaultAxisExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Acosh|TestAcosh|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Clip|TestClipSplitbounds|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LeakyRelu|TestLeakyreluDefault|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConvTranspose|TestConvtranspose3d|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Scatter|TestScatterWithAxis|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Tan|TestTan|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Scan|TestScan9Sum|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Softsign|TestSoftsignExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMax|TestArgmaxKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL1|TestReduceL1DefaultAxesKeepdimsExample|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool2dPads|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Slice|TestSliceDefaultAxes|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL2|TestReduceL2DefaultAxesKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|HardSigmoid|TestHardsigmoidDefault|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Clip|TestClipDefaultMax|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Clip|TestClipOutbounds|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSumSquare|TestReduceSumSquareKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LRN|TestLrn|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Reciprocal|TestReciprocalExample|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Pow|TestPowExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Asinh|TestAsinhExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL2|TestReduceL2KeepDimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|DepthToSpace|TestDepthtospaceExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Atan|TestAtanExample|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Selu|TestSeluDefault|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Pad|TestConstantPad|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MatMul|TestMatmul4d|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Flatten|TestFlattenAxis2|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MatMul|TestMatmul2d|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceLogSumExp|TestReduceLogSumExpDefaultAxesKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMean|TestReduceMeanDefaultAxesKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceLogSum|TestReduceLogSumAscAxes|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|TfIdfVectorizer|TestTfidfvectorizerTfBatchOnlybigramsSkip5|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMin|TestArgminNoKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Resize|TestResizeUpsampleLinear|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Resize|TestResizeUpsampleNearest|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSum|TestReduceSumDoNotKeepdimsRandom|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|TfIdfVectorizer|TestTfidfvectorizerTfBatchUniandbigramsSkip5|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMin|TestArgminNoKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Max|TestMaxExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Reshape|TestReshapeNegativeDim|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Concat|TestConcat2dAxis1|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Cosh|TestCosh|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Min|TestMinExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Pad|TestReflectPad|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Hardmax|TestHardmaxOneHot|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Asinh|TestAsinh|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSumSquare|TestReduceSumSquareDefaultAxesKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool2dPads|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceLogSumExp|TestReduceLogSumExpKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Tile|TestTilePrecomputed|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL2|TestReduceL2DefaultAxesKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Softmax|TestSoftmaxExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool1dDefault|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Softmax|TestSoftmaxDefaultAxis|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceProd|TestReduceProdDoNotKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Softmax|TestSoftmaxAxis1|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Expand|TestExpandDimUnchanged|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Clip|TestClipInbounds|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Hardmax|TestHardmaxAxis2|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Squeeze|TestSqueeze|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceLogSum|TestReduceLogSumAscAxes|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL1|TestReduceL1DoNotKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Shrink|TestShrinkSoft|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Flatten|TestFlattenAxis0|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LRN|TestLrnDefault|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ThresholdedRelu|TestThresholdedreluDefault|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool2dPrecomputedPadsCountIncludePad|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool2dDefault|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMin|TestArgminKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LogSoftmax|TestLogsoftmaxAxis1|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMax|TestReduceMaxDefaultAxesKeepdimExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Upsample|TestUpsampleNearest|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConvTranspose|TestConvtransposeOutputShape|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMean|TestReduceMeanDoNotKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Slice|TestSliceNegSteps|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|DepthToSpace|TestDepthtospace|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMin|TestReduceMinDoNotKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Shrink|TestShrinkHard|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool1dDefault|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Gemm|TestGemmNobroadcast|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMax|TestArgmaxDefaultAxisRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMean|TestReduceMeanDoNotKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ThresholdedRelu|TestThresholdedrelu|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Slice|TestSliceDefaultSteps|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Pow|TestPow|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Sinh|TestSinhExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool2dPrecomputedStrides|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LeakyRelu|TestLeakyrelu|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LogSoftmax|TestLogsoftmaxExample1|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool2dPrecomputedSameUpper|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSumSquare|TestReduceSumSquareKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool3dDefault|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Atan|TestAtan|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MatMul|TestMatmul3d|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMean|TestReduceMeanKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool2dPrecomputedPads|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Concat|TestConcat3dAxis2|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Split|TestSplitVariablePartsDefaultAxis|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceLogSum|TestReduceLogSum|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Shape|TestShape|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Sum|TestSumExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceLogSumExp|TestReduceLogSumExpDoNotKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConvTranspose|TestConvtranspose1d|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceLogSumExp|TestReduceLogSumExpKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Clip|TestClip|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Expand|TestExpandDimChanged|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL1|TestReduceL1DefaultAxesKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMax|TestArgmaxKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Mean|TestMeanOneInput|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LeakyRelu|TestLeakyreluDefault|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Sinh|TestSinh|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSum|TestReduceSumKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSumSquare|TestReduceSumSquareDoNotKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Concat|TestConcat3dAxis0|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Elu|TestElu|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ThresholdedRelu|TestThresholdedreluExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSumSquare|TestReduceSumSquareDefaultAxesKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Clip|TestClipExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMean|TestReduceMeanDefaultAxesKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|InstanceNormalization|TestInstancenormEpsilon|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMax|TestArgmaxKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|InstanceNormalization|TestInstancenormExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Transpose|TestTransposeAllPermutations4|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConvTranspose|TestConvtransposeOutputShape|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConstantOfShape|TestConstantofshapeIntZeros|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Softmax|TestSoftmaxExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Transpose|TestTransposeAllPermutations0|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMin|TestReduceMinDoNotKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool2dPrecomputedStrides|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceProd|TestReduceProdDefaultAxesKeepdimsExample|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL2|TestReduceL2DoNotKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMax|TestArgmaxDefaultAxisExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|BatchNormalization|TestBatchnormEpsilon|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Gather|TestGather0|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Dropout|TestDropoutDefault|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMin|TestArgminKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool3dDefault|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool2dStrides|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LeakyRelu|TestLeakyreluExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConvTranspose|TestConvtransposeWithKernel|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Asin|TestAsin|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|EyeLike|TestEyelikeWithoutDtype|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Split|TestSplitVariablePartsDefaultAxis|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Min|TestMinExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Concat|TestConcat1dAxis0|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMin|TestArgminNoKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConstantOfShape|TestConstantofshapeFloatOnes|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Softmax|TestSoftmaxAxis1|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMean|TestReduceMeanDefaultAxesKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMax|TestReduceMaxKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMin|TestArgminKeepdimsRandom|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Flatten|TestFlattenAxis1|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Reshape|TestReshapeExtendedDims|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMin|TestReduceMinDefaultAxesKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL1|TestReduceL1KeepDimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool2dSameLower|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Clip|TestClipSplitbounds|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|TfIdfVectorizer|TestTfidfvectorizerTfBatchOnlybigramsSkip0|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceProd|TestReduceProdDefaultAxesKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Constant|TestConstant|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Selu|TestSeluExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMin|TestArgminNoKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Erf|TestErf|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool2dSameLower|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|DepthToSpace|TestDepthtospaceExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMin|TestReduceMinDoNotKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool2dSameUpper|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Hardmax|TestHardmaxAxis0|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSumSquare|TestReduceSumSquareDoNotKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ThresholdedRelu|TestThresholdedreluExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSum|TestReduceSumDoNotKeepdimsExample|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Softmax|TestSoftmaxAxis2|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Tile|TestTile|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Cast|TestCastFLOATToDOUBLE|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMax|TestReduceMaxDoNotKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LogSoftmax|TestLogsoftmaxDefaultAxis|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Acos|TestAcos|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|HardSigmoid|TestHardsigmoid|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Min|TestMinOneInput|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMin|TestReduceMinDoNotKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMax|TestArgmaxNoKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LogSoftmax|TestLogsoftmaxAxis1|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Sum|TestSumTwoInputs|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|TfIdfVectorizer|TestTfidfvectorizerTfBatchOnlybigramsSkip0|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceLogSum|TestReduceLogSum|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConvTranspose|TestConvtransposePads|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Pad|TestReflectPad|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Hardmax|TestHardmaxOneHot|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|HardSigmoid|TestHardsigmoidExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMax|TestReduceMaxKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpoolWithArgmax2dPrecomputedStrides|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMax|TestArgmaxKeepdimsExample|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxUnpool|TestMaxunpoolExportWithoutOutputShape|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Tan|TestTan|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceProd|TestReduceProdDefaultAxesKeepdimsExample|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Elu|TestEluDefault|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConvTranspose|TestConvtransposePad|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Scatter|TestScatterWithoutAxis|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ThresholdedRelu|TestThresholdedrelu|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceLogSumExp|TestReduceLogSumExpDefaultAxesKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSum|TestReduceSumDoNotKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Mean|TestMeanExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Softmax|TestSoftmaxAxis0|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Acos|TestAcos|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Resize|TestResizeDownsampleNearest|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConstantOfShape|TestConstantofshapeFloatOnes|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Sum|TestSumOneInput|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LogSoftmax|TestLogsoftmaxLargeNumber|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool2dStrides|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConvTranspose|TestConvtransposeDilations|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Flatten|TestFlattenAxis3|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Reciprocal|TestReciprocal|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool2dCeil|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|GlobalMaxPool|TestGlobalmaxpoolPrecomputed|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LogSoftmax|TestLogsoftmaxAxis0|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Concat|TestConcat2dAxis0|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Resize|TestResizeDownsampleLinear|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Pad|TestConstantPad|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool2dPrecomputedSameUpper|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Transpose|TestTransposeDefault|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool2dCeil|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxUnpool|TestMaxunpoolExportWithOutputShape|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL2|TestReduceL2KeepDimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMax|TestReduceMaxDoNotKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Slice|TestSlice|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMax|TestReduceMaxKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConvTranspose|TestConvtranspose|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSum|TestReduceSumDefaultAxesKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|EyeLike|TestEyelikeWithDtype|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|HardSigmoid|TestHardsigmoidExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMean|TestReduceMeanDoNotKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Scatter|TestScatterWithAxis|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Atanh|TestAtanh|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Gemm|TestGemmBroadcast|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Slice|TestSliceDefaultSteps|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL2|TestReduceL2DoNotKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConstantOfShape|TestConstantofshapeIntZeros|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|TfIdfVectorizer|TestTfidfvectorizerTfOnlyBigramsSkip0|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceLogSumExp|TestReduceLogSumExpDoNotKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Gemm|TestGemmNobroadcast|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool2dCeil|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMax|TestReduceMaxDoNotKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool2dPrecomputedSameUpper|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LRN|TestLrn|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Split|TestSplitEqualPartsDefaultAxis|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Cosh|TestCoshExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Shape|TestShapeExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Split|TestSplitVariableParts1d|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Conv|TestConvWithStridesAndAsymmetricPadding|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool2dPrecomputedPadsCountIncludePad|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Split|TestSplitEqualParts1d|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Transpose|TestTransposeAllPermutations0|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool2dPrecomputedStrides|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool2dSameUpper|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceProd|TestReduceProdKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSum|TestReduceSumDefaultAxesKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSumSquare|TestReduceSumSquareDefaultAxesKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Asin|TestAsinExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMin|TestReduceMinKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Mean|TestMeanOneInput|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Cosh|TestCosh|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|EyeLike|TestEyelikeWithoutDtype|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Selu|TestSelu|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Dropout|TestDropoutRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL1|TestReduceL1KeepDimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Selu|TestSeluExample|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Resize|TestResizeNearest|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMax|TestArgmaxDefaultAxisRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMin|TestArgminDefaultAxisRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|HardSigmoid|TestHardsigmoidDefault|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Concat|TestConcat2dAxis1|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Transpose|TestTransposeAllPermutations3|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Transpose|TestTransposeAllPermutations1|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Unsqueeze|TestUnsqueeze|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Atanh|TestAtanhExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|TfIdfVectorizer|TestTfidfvectorizerTfOnlybigramsSkip5|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool2dPrecomputedStrides|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMin|TestReduceMinKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Clip|TestClipDefaultInbounds|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Dropout|TestDropoutRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConvTranspose|TestConvtransposeKernelShape|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMin|TestReduceMinKeepdimsRandom|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConvTranspose|TestConvtransposePads|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceLogSumExp|TestReduceLogSumExpDoNotKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Softmax|TestSoftmaxAxis0|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Mean|TestMeanTwoInputs|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Shape|TestShape|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Pow|TestPowBcastArray|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceProd|TestReduceProdKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Scatter|TestScatterWithoutAxis|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Hardmax|TestHardmaxExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Elu|TestElu|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool2dPrecomputedSameUpper|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConvTranspose|TestConvtranspose|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Split|TestSplitEqualParts2d|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|EyeLike|TestEyelikePopulateOffMainDiagonal|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Flatten|TestFlattenDefaultAxis|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Gather|TestGather1|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Softsign|TestSoftsignExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Hardmax|TestHardmaxAxis0|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool2dPrecomputedPads|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool2dPadsCountIncludePad|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMin|TestReduceMinDefaultAxesKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Asinh|TestAsinhExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LogSoftmax|TestLogsoftmaxAxis2|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|GlobalAveragePool|TestGlobalaveragepool|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Selu|TestSelu|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Reshape|TestReshapeReorderedDims|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|TfIdfVectorizer|TestTfidfvectorizerTfOnlybigramsLevelempty|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Resize|TestResizeUpsampleNearest|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceProd|TestReduceProdDefaultAxesKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool2dSameLower|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Acosh|TestAcoshExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MatMul|TestMatmul4d|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Constant|TestConstant|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Max|TestMaxOneInput|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceLogSumExp|TestReduceLogSumExpDefaultAxesKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL1|TestReduceL1DoNotKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool2dPrecomputedPads|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool1dDefault|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMean|TestReduceMeanDoNotKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSum|TestReduceSumDefaultAxesKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Atan|TestAtan|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceProd|TestReduceProdDoNotKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL2|TestReduceL2DoNotKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConvTranspose|TestConvtransposePad|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMean|TestReduceMeanDefaultAxesKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSum|TestReduceSumKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMin|TestReduceMinDefaultAxesKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Gemm|TestGemmBroadcast|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|TfIdfVectorizer|TestTfidfvectorizerTfUniandbigramsSkip5|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Softmax|TestSoftmaxLargeNumber|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Split|TestSplitEqualPartsDefaultAxis|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool2dSameUpper|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMean|TestReduceMeanKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|AveragePool|TestAveragepool2dPads|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ConvTranspose|TestConvtransposeKernelShape|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|TfIdfVectorizer|TestTfidfvectorizerTfBatchOnlybigramsSkip5|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Mean|TestMeanExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSum|TestReduceSumKeepdimsRandom|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Min|TestMinTwoInputs|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Acos|TestAcosExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Hardmax|TestHardmaxAxis2|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Elu|TestEluExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL1|TestReduceL1KeepDimsExample|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceProd|TestReduceProdDoNotKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Expand|TestExpandDimUnchanged|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Transpose|TestTransposeAllPermutations2|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Concat|TestConcat3dAxis2|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Upsample|TestUpsampleNearest|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|EyeLike|TestEyelikeWithDtype|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceLogSum|TestReduceLogSumDefault|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSumSquare|TestReduceSumSquareDefaultAxesKeepdimsRandom|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSumSquare|TestReduceSumSquareKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Atanh|TestAtanhExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Split|TestSplitVariableParts1d|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool2dDilations|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceSumSquare|TestReduceSumSquareDoNotKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|PRelu|TestPreluBroadcast|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|TfIdfVectorizer|TestTfidfvectorizerTfOnlybigramsLevelempty|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|PRelu|TestPreluExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|BatchNormalization|TestBatchnormExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Transpose|TestTransposeAllPermutations1|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Max|TestMaxExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Hardmax|TestHardmaxDefaultAxis|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceLogSumExp|TestReduceLogSumExpDefaultAxesKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceLogSumExp|TestReduceLogSumExpKeepdimsExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Hardmax|TestHardmaxAxis1|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceMax|TestReduceMaxDefaultAxesKeepdimExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|LeakyRelu|TestLeakyrelu|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Concat|TestConcat3dAxis1|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|InstanceNormalization|TestInstancenormExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Reciprocal|TestReciprocal|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Transpose|TestTransposeAllPermutations4|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Sinh|TestSinh|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceLogSum|TestReduceLogSumDescAxes|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Identity|TestIdentity|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Slice|TestSliceDefaultAxes|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|TfIdfVectorizer|TestTfidfvectorizerTfOnlyBigramsSkip0|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Tan|TestTanExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Unsqueeze|TestUnsqueeze|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMax|TestArgmaxDefaultAxisExample|true|true|false| |![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Softsign|TestSoftsign|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Acosh|TestAcosh|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Split|TestSplitVariableParts2d|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxUnpool|TestMaxunpoolExportWithOutputShape|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Pow|TestPowBcastArray|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ArgMax|TestArgmaxNoKeepdimsExample|true|true|false| -|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|ReduceL2|TestReduceL2KeepDimsExample|true|true|false| - +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Erf|TestErf|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Clip|TestClipExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|MaxPool|TestMaxpool2dDefault|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Elu|TestEluExample|true|true|false| +|![#ffa500](https://placehold.it/15/FFA500/000000?text=+)|Slice|TestSlice|true|true|false| \ No newline at end of file diff --git a/backend/x/gorgonnx/matmul.go b/backend/x/gorgonnx/matmul.go new file mode 100644 index 00000000..fb526104 --- /dev/null +++ b/backend/x/gorgonnx/matmul.go @@ -0,0 +1,34 @@ +package gorgonnx + +import ( + "github.com/owulveryck/onnx-go" + "gorgonia.org/gorgonia" +) + +type matMul struct{} + +func init() { + register("MatMul", &matMul{}) +} + +func (a *matMul) apply(g *Graph, n *Node) error { + children := getOrderedChildren(g.g, n) + err := checkCondition(children, 2) + if err != nil { + return err + } + if len(children[0].gorgoniaNode.Shape()) > 2 || len(children[1].gorgoniaNode.Shape()) > 2 { + return &onnx.ErrNotImplemented{ + Operator: "Matmul", + Message: "dimension too high", + } + } + + n.gorgoniaNode, err = gorgonia.Mul(children[0].gorgoniaNode, children[1].gorgoniaNode) + + return err +} + +func (a *matMul) init(o onnx.Operation) error { + return nil +} diff --git a/backend/x/gorgonnx/reshape.go b/backend/x/gorgonnx/reshape.go new file mode 100644 index 00000000..a5be2b29 --- /dev/null +++ b/backend/x/gorgonnx/reshape.go @@ -0,0 +1,40 @@ +package gorgonnx + +import ( + "fmt" + + "github.com/owulveryck/onnx-go" + "gorgonia.org/gorgonia" + "gorgonia.org/tensor" +) + +type reshape struct{} + +func init() { + register("Reshape", &reshape{}) +} + +func (a *reshape) apply(g *Graph, n *Node) error { + children := getOrderedChildren(g.g, n) + err := checkCondition(children, 2) + if err != nil { + return err + } + + var toShape tensor.Shape + if to, ok := children[1].gorgoniaNode.Value().Data().([]int64); ok { + toShape = make([]int, len(to)) + for i := 0; i < len(to); i++ { + toShape[i] = int(to[i]) + } + } else { + return fmt.Errorf("Cannot reshape, bad output shape %#v", children[1].gorgoniaNode.Value().Data()) + } + n.gorgoniaNode, err = gorgonia.Reshape(children[0].gorgoniaNode, toShape) + + return err +} + +func (a *reshape) init(o onnx.Operation) error { + return nil +}