mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-16 21:00:14 +00:00
### Description fix test runner with optional input/output. This change fixes the OP test runner (.jsonc format test) with optional input(s) and/or output(s). this fix reveals a problem of dealing with optional outputs: > Take SkipSimplifiedLayerNorm as example: > > if in the ONNX model, the node's outputs are: [ 'output_0', '' ] instead of [ 'output_0' ], the current implementation will fail. The difference is, in the first case, context.outputCount == 2, and then the typescript implementation will try to create a tensor for output[1]. It will eventually call to C++ function (OpKernelContext::Output), and the output.DataRaw() will be nullptr. WebGPU backend will fail because it cannot deal with a TensorView with data == 0. > This problem may need to be fixed or workaround in separated PR. This PR does not fix this problem. Failed test cases are modified to work - please note this PR does not break those test cases as they never work.
48 lines
1.3 KiB
Text
48 lines
1.3 KiB
Text
[
|
|
{
|
|
"name": "SimplifiedLayerNormalization",
|
|
"operator": "SimplifiedLayerNormalization",
|
|
"opset": { "domain": "", "version": 16 },
|
|
"attributes": [
|
|
{
|
|
"name": "epsilon",
|
|
"data": 1e-5,
|
|
"type": "float"
|
|
}
|
|
],
|
|
"inputShapeDefinitions": "rankOnly",
|
|
"cases": [
|
|
{
|
|
"name": "default",
|
|
"inputs": [
|
|
{
|
|
"data": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
|
|
"dims": [1, 2, 8],
|
|
"type": "float32"
|
|
},
|
|
{
|
|
"data": [2, 2, 2, 2, 2, 2, 2, 2],
|
|
"dims": [8],
|
|
"type": "float32"
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"data": [
|
|
0.39605894684791565, 0.7921178936958313, 1.1881768703460693, 1.5842357873916626, 1.9802948236465454,
|
|
2.3763537406921387, 2.7724127769470215, 3.168471574783325, 1.4164010286331177, 1.5737788677215576,
|
|
1.731156826019287, 1.888534665107727, 2.045912504196167, 2.2032904624938965, 2.360668420791626,
|
|
2.5180463790893555
|
|
],
|
|
"dims": [1, 2, 8],
|
|
"type": "float32"
|
|
}
|
|
// {
|
|
// "data": null,
|
|
// "type": "float32"
|
|
// }
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|