Xenova's picture
Xenova HF Staff
sync 91d990483a17
2f706e2 verified
Raw
History Blame
24.4 kB
{
"fixtureArrays": {
"ort_l1_axis1_rank3_input_input": [5.93932154, 7.4367043, 6.42487038, 5.90394865, 4.81289319, 6.81304702, 4.9382849, 9.02595701, 9.67296484, 4.45097367, 8.12552534, 5.76005428, 6.11240105, 9.33036974, 1.63932452, 1.7841637, 1.18196558, 8.49357861, 8.00341076, 8.83010933, 9.80756508, 8.19242708, 5.15331426, 8.02476259]
},
"cases": [
{
"name": "p2_last_axis_f32",
"attrs": { "axis": -1, "p": 2 },
"inputs": {
"input": {
"dtype": "float32",
"shape": [2, 3],
"data": { "kind": "values", "values": [3.0, 4.0, 0.0, 1.0, 2.0, 2.0] }
}
},
"outputs": { "output": { "dtype": "float32", "shape": [2, 3] } },
"tolerance": 0.000001
},
{
"name": "p1_axis0_f32",
"attrs": { "axis": 0, "p": 1 },
"inputs": {
"input": {
"dtype": "float32",
"shape": [2, 3],
"data": { "kind": "values", "values": [1.0, -2.0, 3.0, 4.0, 5.0, -6.0] }
}
},
"outputs": { "output": { "dtype": "float32", "shape": [2, 3] } },
"tolerance": 0.000001
},
{
"name": "p1_tiny_nonzero_norm_not_clamped",
"attrs": { "axis": 1, "p": 1 },
"inputs": {
"input": {
"dtype": "float32",
"shape": [2, 2],
"data": { "kind": "values", "values": [1e-20, 0.0, -1e-20, 0.0] }
}
},
"outputs": { "output": { "dtype": "float32", "shape": [2, 2], "tolerance": 0.000001 } }
},
{
"name": "p2_tiny_square_subnormal_norm_gpu_gap",
"skipGpu": {
"category": "permanent",
"reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: WebGPU/Metal flushes subnormals to zero in f32; bit-exact subnormal preservation is unattainable on GPU."
},
"provenance": {
"source": "onnxruntime/test/providers/cpu/nn/lp_norm_op_test.cc",
"test": "LpNormalizationTest.L2NormalizationWithZeroNorm",
"notes": "The inputs are nonzero and normal, but their squares are subnormal; the L2 norm must not be treated as zero."
},
"attrs": { "axis": 1, "p": 2 },
"inputs": {
"input": {
"dtype": "float32",
"shape": [2, 2],
"data": { "kind": "values", "values": [1e-20, 1e-20, -1e-20, 0.0] }
}
},
"outputs": { "output": { "dtype": "float32", "shape": [2, 2], "tolerance": 0.000001 } }
},
{
"name": "p2_tiny_square_subnormal_norm_axis0_gpu_gap",
"skipGpu": {
"category": "permanent",
"reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: WebGPU/Metal flushes subnormals to zero in f32; bit-exact subnormal preservation is unattainable on GPU."
},
"provenance": {
"source": "onnxruntime/test/providers/cpu/nn/lp_norm_op_test.cc",
"test": "LpNormalizationTest.L2NormalizationWithZeroNorm",
"notes": "Along axis 0, normal inputs whose squared L2 sums are finite subnormals must still produce nonzero normalized values."
},
"attrs": { "axis": 0, "p": 2 },
"inputs": {
"input": {
"dtype": "float32",
"shape": [2, 2],
"data": { "kind": "values", "values": [1e-20, -1e-20, 1e-20, 0.0] }
}
},
"outputs": { "output": { "dtype": "float32", "shape": [2, 2], "tolerance": 0.000001 } }
},
{
"name": "p2_tiny_square_subnormal_norm_vec4_gpu_gap",
"skipGpu": {
"category": "permanent",
"reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: WebGPU/Metal flushes subnormals to zero in f32; bit-exact subnormal preservation is unattainable on GPU."
},
"provenance": {
"source": "onnxruntime/test/providers/cpu/nn/lp_norm_op_test.cc",
"test": "LpNormalizationTest.L2NormalizationWithZeroNorm",
"notes": "On the vec4 last-axis path, a tiny nonzero L2 norm must preserve the vector's direction."
},
"attrs": { "axis": -1, "p": 2 },
"inputs": {
"input": {
"dtype": "float32",
"shape": [1, 4],
"data": { "kind": "values", "values": [1e-20, 1e-20, 0.0, -1e-20] }
}
},
"outputs": { "output": { "dtype": "float32", "shape": [1, 4], "tolerance": 0.000001 } }
},
{
"name": "p1_subnormal_norm_ratio_gpu_gap",
"skipGpu": {
"category": "permanent",
"reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: WebGPU/Metal flushes subnormals to zero in f32; bit-exact subnormal preservation is unattainable on GPU."
},
"provenance": {
"source": "onnxruntime/test/providers/cpu/nn/lp_norm_op_test.cc",
"test": "LpNormalizationTest.L1NormalizationWithZeroNorm",
"notes": "Finite subnormal inputs can still form a nonzero L1 norm; normalization should return ratios, not the zero-norm branch."
},
"attrs": { "axis": 1, "p": 1 },
"inputs": {
"input": {
"dtype": "float32",
"shape": [2, 2],
"data": { "kind": "values", "values": [1e-40, 1e-40, -1e-40, 0.0] }
}
},
"outputs": {
"output": {
"dtype": "float32",
"shape": [2, 2],
"tolerance": 0.000001,
"data": { "kind": "values", "values": [0.5, 0.5, -1.0, 0.0] }
}
}
},
{
"name": "p1_subnormal_norm_ratio_axis0_gpu_gap",
"skipGpu": {
"category": "permanent",
"reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: WebGPU/Metal flushes subnormals to zero in f32; bit-exact subnormal preservation is unattainable on GPU."
},
"provenance": {
"source": "onnxruntime/test/providers/cpu/nn/lp_norm_op_test.cc",
"test": "LpNormalizationTest.L1NormalizationWithZeroNorm",
"notes": "Along axis 0, the strided two-pass p=1 path must not collapse finite subnormal L1 norms to zero."
},
"attrs": { "axis": 0, "p": 1 },
"inputs": {
"input": {
"dtype": "float32",
"shape": [2, 2],
"data": { "kind": "values", "values": [1e-40, -1e-40, 1e-40, 0.0] }
}
},
"outputs": {
"output": {
"dtype": "float32",
"shape": [2, 2],
"tolerance": 0.000001,
"data": { "kind": "values", "values": [0.5, -1.0, 0.5, 0.0] }
}
}
},
{
"name": "p1_subnormal_norm_ratio_vec4_gpu_gap",
"skipGpu": {
"category": "permanent",
"reason": "Portable WGSL floating-point semantics do not guarantee preservation of the subnormal values required by this fixture. Backend evidence: WebGPU/Metal flushes subnormals to zero in f32; bit-exact subnormal preservation is unattainable on GPU."
},
"provenance": {
"source": "onnxruntime/test/providers/cpu/nn/lp_norm_op_test.cc",
"test": "LpNormalizationTest.L1NormalizationWithZeroNorm",
"notes": "On the vec4 last-axis path, finite subnormal L1 totals must produce stable signed ratios."
},
"attrs": { "axis": -1, "p": 1 },
"inputs": {
"input": {
"dtype": "float32",
"shape": [1, 4],
"data": { "kind": "values", "values": [1e-40, 1e-40, -1e-40, 0.0] }
}
},
"outputs": {
"output": {
"dtype": "float32",
"shape": [1, 4],
"tolerance": 0.000001,
"data": { "kind": "values", "values": [0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0] }
}
}
},
{
"name": "p2_f16",
"attrs": { "axis": 1, "p": 2 },
"inputs": {
"input": {
"dtype": "float16",
"shape": [2, 3],
"data": { "kind": "values", "values": [3.0, 4.0, 0.0, 1.0, 2.0, 2.0] }
}
},
"outputs": { "output": { "dtype": "float16", "shape": [2, 3] } },
"tolerance": 0.002
},
{
"name": "ort_f16_p2_last_axis_large_values_float_accumulation",
"provenance": {
"source": "onnxruntime/test/providers/cpu/nn/lp_norm_op_test.cc",
"test": "LpNormalizationTest.L2Normalization_FP16",
"notes": "Large float16 values require float32 accumulation for the p=2 norm."
},
"attrs": { "axis": -1, "p": 2 },
"inputs": { "input": { "dtype": "float16", "shape": [2, 128], "data": { "kind": "constant", "value": 100.0 } } },
"outputs": { "output": { "dtype": "float16", "shape": [2, 128] } },
"tolerance": 0.002
},
{
"name": "ort_f16_p1_last_axis_large_values_float_accumulation",
"provenance": {
"source": "onnxruntime/test/providers/cpu/nn/lp_norm_op_test.cc",
"test": "LpNormalizationTest.L1Normalization_FP16",
"notes": "Large float16 values require float32 accumulation for the p=1 norm."
},
"attrs": { "axis": -1, "p": 1 },
"inputs": { "input": { "dtype": "float16", "shape": [2, 128], "data": { "kind": "constant", "value": 200.0 } } },
"outputs": { "output": { "dtype": "float16", "shape": [2, 128], "tolerance": 0.00002, "relTolerance": 0.002 } }
},
{
"name": "f16_p1_last_axis_constant200_norm_scale_lock",
"provenance": {
"notes": "Each 128-element row contains 200, so its L1 norm is 25,600 and every normalized value is exactly 2^-7 in float16. A 1e-6 tolerance makes an incorrect divisor observable."
},
"attrs": { "axis": -1, "p": 1 },
"inputs": { "input": { "dtype": "float16", "shape": [2, 128], "data": { "kind": "constant", "value": 200.0 } } },
"outputs": { "output": { "dtype": "float16", "shape": [2, 128], "tolerance": 0.000001 } }
},
{
"name": "ort_l1_axis1_rank3",
"attrs": { "axis": 1, "p": 1 },
"provenance": {
"source": "onnxruntime/test/providers/cpu/nn/lp_norm_op_test.cc",
"test": "LpNormalizationTest.L1Normalization"
},
"inputs": {
"input": {
"dtype": "float32",
"shape": [2, 3, 4],
"data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_l1_axis1_rank3_input_input" } }
}
},
"outputs": { "output": { "dtype": "float32", "shape": [2, 3, 4], "tolerance": 0.000001 } }
},
{
"name": "ort_l2_axis1_rank3",
"attrs": { "axis": 1, "p": 2 },
"provenance": {
"source": "onnxruntime/test/providers/cpu/nn/lp_norm_op_test.cc",
"test": "LpNormalizationTest.L2Normalization"
},
"inputs": {
"input": {
"dtype": "float32",
"shape": [2, 3, 4],
"data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_l1_axis1_rank3_input_input" } }
}
},
"outputs": { "output": { "dtype": "float32", "shape": [2, 3, 4], "tolerance": 0.000001 } }
},
{
"name": "ort_default_axis_p2_rank1",
"provenance": {
"source": "onnxruntime/test/providers/cpu/nn/lp_norm_op_test.cc",
"test": "LpNormalizationTest.LpNormalizationDefaultAxisAndP"
},
"inputs": {
"input": {
"dtype": "float32",
"shape": [16],
"data": {
"kind": "values",
"values": [0.0, 0.5, 2.0, 2.0, 1.0, 0.5, 2.0, 2.5, 1.0, 1.5, 3.0, 3.0, 1.5, 2.0, 3.5, 3.5]
}
}
},
"outputs": { "output": { "dtype": "float32", "shape": [16], "tolerance": 0.000001 } }
},
{
"name": "ort_l1_default_axis_zero_norm",
"attrs": { "p": 1 },
"provenance": {
"source": "onnxruntime/test/providers/cpu/nn/lp_norm_op_test.cc",
"test": "LpNormalizationTest.L1NormalizationWithZeroNorm"
},
"inputs": {
"input": { "dtype": "float32", "shape": [2, 2], "data": { "kind": "values", "values": [2.0, 2.0, 0.0, 0.0] } }
},
"outputs": { "output": { "dtype": "float32", "shape": [2, 2], "tolerance": 0.000001 } }
},
{
"name": "ort_l2_default_axis_zero_norm",
"provenance": {
"source": "onnxruntime/test/providers/cpu/nn/lp_norm_op_test.cc",
"test": "LpNormalizationTest.L2NormalizationWithZeroNorm"
},
"inputs": {
"input": { "dtype": "float32", "shape": [2, 2], "data": { "kind": "values", "values": [1.0, 0.0, 0.0, 0.0] } }
},
"outputs": { "output": { "dtype": "float32", "shape": [2, 2], "tolerance": 0.000001 } }
},
{
"name": "ort_l1_valid_negative_axis_rank3",
"attrs": { "axis": -2, "p": 1 },
"provenance": {
"source": "onnxruntime/test/providers/cpu/nn/lp_norm_op_test.cc",
"test": "LpNormalizationTest.L1NormalizationWithValidNegativeAxis"
},
"inputs": {
"input": {
"dtype": "float32",
"shape": [2, 3, 4],
"data": { "kind": "values", "values": { "$ref": "#/fixtureArrays/ort_l1_axis1_rank3_input_input" } }
}
},
"outputs": { "output": { "dtype": "float32", "shape": [2, 3, 4], "tolerance": 0.000001 } }
},
{
"name": "ort_l2_last_axis_rank2",
"attrs": { "axis": -1, "p": 2 },
"provenance": {
"source": "onnxruntime/test/providers/cpu/nn/lp_norm_op_test.cc",
"test": "LpNormalizationTest.L2Normalization_LastAxis"
},
"inputs": {
"input": {
"dtype": "float32",
"shape": [2, 4],
"data": { "kind": "values", "values": [3.0, 4.0, 0.0, 0.0, 1.0, 2.0, 2.0, 0.0] }
}
},
"outputs": { "output": { "dtype": "float32", "shape": [2, 4], "tolerance": 0.000001 } }
},
{
"name": "ort_l2_axis0_rank2",
"attrs": { "axis": 0, "p": 2 },
"provenance": {
"source": "onnxruntime/test/providers/cpu/nn/lp_norm_op_test.cc",
"test": "LpNormalizationTest.L2Normalization_Axis0"
},
"inputs": {
"input": { "dtype": "float32", "shape": [2, 2], "data": { "kind": "values", "values": [3.0, 1.0, 4.0, 2.0] } }
},
"outputs": { "output": { "dtype": "float32", "shape": [2, 2], "tolerance": 0.000001 } }
},
{
"name": "onnx_backend_l1normalization_axis_0",
"provenance": {
"source": "cmake/external/onnx/onnx/backend/test/data/node/test_l1normalization_axis_0",
"test": "test_l1normalization_axis_0"
},
"attrs": { "axis": 0, "p": 1 },
"inputs": { "input": { "dtype": "float32", "shape": [2], "data": { "kind": "values", "values": [3.0, 4.0] } } },
"outputs": { "output": { "dtype": "float32", "shape": [2], "tolerance": 0.000001 } }
},
{
"name": "onnx_backend_l1normalization_axis_1",
"provenance": {
"source": "cmake/external/onnx/onnx/backend/test/data/node/test_l1normalization_axis_1",
"test": "test_l1normalization_axis_1"
},
"attrs": { "axis": 1, "p": 1 },
"inputs": {
"input": { "dtype": "float32", "shape": [2, 2], "data": { "kind": "values", "values": [3.0, 4.0, 6.0, 8.0] } }
},
"outputs": { "output": { "dtype": "float32", "shape": [2, 2], "tolerance": 0.000001 } }
},
{
"name": "onnx_backend_l1normalization_axis_last",
"provenance": {
"source": "cmake/external/onnx/onnx/backend/test/data/node/test_l1normalization_axis_last",
"test": "test_l1normalization_axis_last"
},
"attrs": { "axis": -1, "p": 1 },
"inputs": {
"input": {
"dtype": "float32",
"shape": [2, 2, 3],
"data": { "kind": "values", "values": [1.0, 2.0, 2.0, 3.0, 4.0, 0.0, 0.0, 5.0, 5.0, 6.0, 8.0, 0.0] }
}
},
"outputs": { "output": { "dtype": "float32", "shape": [2, 2, 3], "tolerance": 0.000001 } }
},
{
"name": "onnx_backend_l2normalization_axis_0",
"provenance": {
"source": "cmake/external/onnx/onnx/backend/test/data/node/test_l2normalization_axis_0",
"test": "test_l2normalization_axis_0"
},
"attrs": { "axis": 0, "p": 2 },
"inputs": {
"input": {
"dtype": "float32",
"shape": [2, 2, 3],
"data": { "kind": "values", "values": [1.0, 2.0, 2.0, 3.0, 4.0, 0.0, 0.0, 5.0, 5.0, 6.0, 8.0, 0.0] }
}
},
"outputs": { "output": { "dtype": "float32", "shape": [2, 2, 3], "tolerance": 0.000001 } }
},
{
"name": "onnx_backend_l2normalization_axis_1",
"provenance": {
"source": "cmake/external/onnx/onnx/backend/test/data/node/test_l2normalization_axis_1",
"test": "test_l2normalization_axis_1"
},
"attrs": { "axis": 1, "p": 2 },
"inputs": {
"input": { "dtype": "float32", "shape": [2, 2], "data": { "kind": "values", "values": [3.0, 4.0, 6.0, 8.0] } }
},
"outputs": { "output": { "dtype": "float32", "shape": [2, 2], "tolerance": 0.000001 } }
},
{
"name": "onnx_backend_lpnormalization_default",
"provenance": {
"source": "cmake/external/onnx/onnx/backend/test/data/node/test_lpnormalization_default",
"test": "test_lpnormalization_default"
},
"inputs": {
"input": {
"dtype": "float32",
"shape": [2, 2, 3],
"data": { "kind": "values", "values": [1.0, 2.0, 2.0, 3.0, 4.0, 0.0, 0.0, 5.0, 5.0, 6.0, 8.0, 0.0] }
}
},
"outputs": { "output": { "dtype": "float32", "shape": [2, 2, 3], "tolerance": 0.000001 } }
},
{
"name": "empty_input_zero_dim",
"attrs": { "axis": -1, "p": 2 },
"inputs": { "input": { "dtype": "float32", "shape": [0, 3], "data": { "kind": "values", "values": [] } } },
"outputs": { "output": { "dtype": "float32", "shape": [0, 3], "tolerance": 0 } }
},
{
"name": "p2_axis0_large_strided_splitk",
"attrs": { "axis": 0, "p": 2 },
"inputs": {
"input": { "dtype": "float32", "shape": [512, 256], "data": { "kind": "linspace", "start": -1.0, "end": 1.0 } }
},
"outputs": { "output": { "dtype": "float32", "shape": [512, 256] } },
"tolerance": 0.0001
},
{
"name": "p1_axis0_large_strided_splitk",
"attrs": { "axis": 0, "p": 1 },
"inputs": {
"input": { "dtype": "float32", "shape": [512, 256], "data": { "kind": "linspace", "start": -2.0, "end": 3.0 } }
},
"outputs": { "output": { "dtype": "float32", "shape": [512, 256] } },
"tolerance": 0.0001
},
{
"name": "f16_p2_axis0_splitk_decode",
"provenance": {
"notes": "Shape [512,256] uses a split reduction along axis 0 for the p=2 norm. Float16-resolution tolerances expose an omitted final square root or a reciprocal square root applied separately to partial sums."
},
"attrs": { "axis": 0, "p": 2 },
"inputs": {
"input": { "dtype": "float16", "shape": [512, 256], "data": { "kind": "linspace", "start": -1.0, "end": 1.0 } }
},
"outputs": { "output": { "dtype": "float16", "shape": [512, 256], "tolerance": 0.0002, "relTolerance": 0.002 } }
},
{
"name": "f16_p1_rank3_axis0_splitk_scalardiv",
"provenance": {
"notes": "Shape [512,86,3] uses a split L1 reduction along axis 0 followed by scalar division. The normalized outputs peak near 4.5e-3, so float16-resolution tolerances make partial-sum, combine, and divisor errors observable."
},
"attrs": { "axis": 0, "p": 1 },
"inputs": {
"input": {
"dtype": "float16",
"shape": [512, 86, 3],
"data": { "kind": "linspace", "start": -2.0, "end": 3.0 }
}
},
"outputs": {
"output": { "dtype": "float16", "shape": [512, 86, 3], "tolerance": 0.00002, "relTolerance": 0.002 }
}
},
{
"name": "f16_p2_last_axis_hidden2048",
"provenance": {
"notes": "A 2,048-wide row exercises vec4 last-axis normalization with tolerance scaled to the approximately 0.0383 output magnitude, making uniform norm-scale errors observable."
},
"attrs": { "axis": -1, "p": 2 },
"inputs": {
"input": { "dtype": "float16", "shape": [256, 2048], "data": { "kind": "linspace", "start": -1.0, "end": 1.0 } }
},
"outputs": { "output": { "dtype": "float16", "shape": [256, 2048], "tolerance": 0.0001, "relTolerance": 0.002 } }
},
{
"name": "f32_p1_rank4_axis1_fallback",
"attrs": { "axis": 1, "p": 1 },
"inputs": {
"input": {
"dtype": "float32",
"shape": [2, 4, 8, 16],
"data": { "kind": "linspace", "start": -1.0, "end": 1.0 }
}
},
"outputs": { "output": { "dtype": "float32", "shape": [2, 4, 8, 16], "tolerance": 0.0001 } }
},
{
"name": "f16_p2_rank3_axis1_splitk",
"attrs": { "axis": 1, "p": 2 },
"inputs": {
"input": {
"dtype": "float16",
"shape": [8, 1024, 768],
"data": { "kind": "linspace", "start": -0.5, "end": 0.5 }
}
},
"outputs": {
"output": { "dtype": "float16", "shape": [8, 1024, 768], "tolerance": 0.0001, "relTolerance": 0.002 }
},
"provenance": {
"notes": "A rank-3 p=2 norm over 1,024 elements of axis 1 runs split partials and a combine. Float16-resolution tolerances scaled to the roughly 0.05 outputs expose an omitted square root or a rescaled divisor."
}
},
{
"name": "f16_vec4_last_axis_zero_norm_guard",
"attrs": { "axis": -1, "p": 2 },
"inputs": {
"input": {
"dtype": "float16",
"shape": [2, 4],
"data": { "kind": "values", "values": [0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 4.0, 0.0] }
}
},
"outputs": {
"output": {
"dtype": "float16",
"shape": [2, 4],
"tolerance": 0.002,
"data": { "kind": "values", "values": [0.0, 0.0, 0.0, 0.0, 0.6, 0.0, 0.8, 0.0] }
}
}
},
{
"name": "splitk_vec4_divide_indexing_rowNorms",
"attrs": { "axis": 0, "p": 2 },
"inputs": {
"input": { "dtype": "float32", "shape": [512, 512], "data": { "kind": "linspace", "start": -1.0, "end": 1.0 } }
},
"outputs": { "output": { "dtype": "float32", "shape": [512, 512], "tolerance": 0.0001 } }
},
{
"name": "empty_last_dim_zero_norm_dim",
"attrs": { "axis": -1, "p": 2 },
"inputs": { "input": { "dtype": "float32", "shape": [2, 0], "data": { "kind": "values", "values": [] } } },
"outputs": { "output": { "dtype": "float32", "shape": [2, 0], "tolerance": 0 } }
},
{
"name": "empty_nonlast_axis_splitk_path",
"attrs": { "axis": 1, "p": 2 },
"inputs": { "input": { "dtype": "float32", "shape": [0, 3, 4], "data": { "kind": "values", "values": [] } } },
"outputs": { "output": { "dtype": "float32", "shape": [0, 3, 4], "tolerance": 0 } }
},
{
"name": "last_axis_2d_dispatch_fold_boundary_row",
"attrs": { "axis": -1, "p": 2 },
"inputs": {
"input": { "dtype": "float32", "shape": [65537, 4], "data": { "kind": "linspace", "start": -1.0, "end": 1.0 } }
},
"outputs": { "output": { "dtype": "float32", "shape": [65537, 4], "tolerance": 0.0001 } }
},
{
"name": "rank7_last_axis",
"attrs": { "axis": -1, "p": 2 },
"inputs": {
"input": {
"dtype": "float32",
"shape": [2, 1, 2, 1, 2, 1, 3],
"data": { "kind": "fillFloat32", "sinStep": 0.17, "cosStep": 0.31, "scale": 2.0 }
}
},
"outputs": { "output": { "dtype": "float32", "shape": [2, 1, 2, 1, 2, 1, 3], "tolerance": 0.000001 } }
},
{
"name": "rank8_last_axis",
"attrs": { "axis": -1, "p": 2 },
"inputs": {
"input": {
"dtype": "float32",
"shape": [2, 1, 2, 1, 2, 1, 2, 3],
"data": { "kind": "fillFloat32", "sinStep": 0.13, "cosStep": 0.21 }
}
},
"outputs": { "output": { "dtype": "float32", "shape": [2, 1, 2, 1, 2, 1, 2, 3], "tolerance": 0.000001 } }
}
]
}