diff --git a/validation/operations/README.md b/validation/operations/README.md index cee977c..dfc0585 100644 --- a/validation/operations/README.md +++ b/validation/operations/README.md @@ -43,7 +43,7 @@ and writes the same rows to `validation_results.csv`. ## Complete inventory -The suite contains 168 models. Tensor shapes, attributes, and constants are +The suite contains 177 models. Tensor shapes, attributes, and constants are defined in `gen_tests.py` and in the checked-in ONNX models. ### Add (5) @@ -64,12 +64,13 @@ defined in `gen_tests.py` and in the checked-in ONNX models. | `negative_axis` | Concatenates tensors using a negative axis. | | `three_inputs_channel_axis` | Concatenates three runtime NCHW tensors along the channel axis. | -### Conv (34) +### Conv (42) | Case | Description | |---|---| | `batch_2` | Batched Conv with SAME_UPPER padding and bias. | | `batch_4_pointwise` | Pointwise Conv with batch size four. | +| `input_224_7x7_stride2` | 224x224 RGB Conv with 64 output channels, a 7x7 kernel, stride two, and bias. | | `depthwise_1024_channels` | Depthwise pointwise Conv with 1024 groups. | | `depthwise_grouped` | Depthwise-style grouped Conv with one input channel per group. | | `dilated_3x3` | Conv with a dilated 3x3 kernel. | @@ -88,14 +89,21 @@ defined in `gen_tests.py` and in the checked-in ONNX models. | `non_square_kernel_1x3` | Conv with a non-square 1x3 kernel. | | `non_square_kernel_3x1` | Conv with a non-square 3x1 kernel. | | `non_uniform_stride` | Conv with different height and width strides. | +| `output_channel_grouping_minimal` | Minimal 64-to-256 pointwise Conv for output-channel grouping. | | `pointwise_1x1` | Basic pointwise channel-mixing Conv. | | `pointwise_tiled_chain` | Relu and chained pointwise Convs with a tiled intermediate. | | `real_asymmetric_padding` | Conv with asymmetric explicit padding. | | `relu_conv_store` | Conv, Relu, and a second Conv to validate an intermediate stored result. | | `same_lower_3x3` | 3x3 Conv with SAME_LOWER padding. | | `same_padding_3x3` | 3x3 Conv with SAME_UPPER padding. | -| `simple` | Hand-authored basic 2x2 Conv. | +| `kernel_2x2` | Hand-authored Conv with a 2x2 kernel. | | `stride_2` | 3x3 Conv with stride two. | +| `strategy_depthwise_16` | 16-channel depthwise 3x3 Conv for depthwise lowering. | +| `strategy_input_k_tiled` | 32-channel 3x3 Conv sized to exercise input-K tiling. | +| `strategy_output_channel_tiled` | 8-to-192 3x3 Conv sized to exercise output-channel tiling. | +| `strategy_streamed_packed` | 3-to-16 3x3 Conv on 128x128 input for streamed packed lowering. | +| `strategy_streamed_patch` | 3-to-16 3x3 Conv on 64x64 input for streamed patch lowering. | +| `strategy_tiled_2d` | 32-to-192 3x3 Conv sized to exercise 2D tiling. | | `with_bias_3x3` | Multi-channel 3x3 Conv with bias. | | `with_constant` | Hand-authored SAME_UPPER Conv with constant weight and bias. | | `without_kernel_shape_attr` | Conv whose kernel shape is inferred from its weight tensor. | @@ -135,30 +143,30 @@ defined in `gen_tests.py` and in the checked-in ONNX models. | `dynamic_beta` | Uses runtime operands and bias with non-default beta scaling. | | `dynamic_bias` | Uses runtime matrix operands and runtime bias. | | `dynamic_bias_alpha_beta` | Combines runtime operands and bias with alpha and beta scaling. | -| `dynamic_transB` | Transposes a runtime right-hand matrix. | +| `dynamic_transpose_b` | Transposes a runtime right-hand matrix. | | `huge_1024` | Uses 1024-wide inner and output dimensions. | | `large` | Exercises larger rectangular matrices. | | `large_k_small_n` | Uses a large reduction dimension and narrow output. | | `non_square` | Uses different reduction and output widths. | | `scalar_bias` | Broadcasts a scalar bias to the full output. | -| `simple` | Basic Gemm with square weights. | +| `square_weights` | Basic Gemm with square weights. | | `small` | Tiny Gemm for fast focused validation. | | `small_k_large_n` | Uses a modest reduction dimension and wide output. | -| `transA` | Transposes the left-hand matrix. | -| `transA_transB` | Transposes both matrix operands. | -| `transB` | Transposes the right-hand weight matrix. | -| `transB_with_bias` | Combines a transposed weight matrix with bias. | +| `transpose_a` | Transposes the left-hand matrix. | +| `transpose_a_and_b` | Transposes both matrix operands. | +| `transpose_b` | Transposes the right-hand weight matrix. | +| `transpose_b_with_bias` | Combines a transposed weight matrix with bias. | | `with_bias` | Basic matrix product with vector bias. | ### Gemv (5) | Case | Description | |---|---| -| `constant` | Vector-matrix product with all inputs constant. | -| `simple` | Basic single-row vector-matrix product. | -| `with_heterogeneous_constant` | Adds a non-uniform constant bias pattern. | -| `with_homogeneous_constant` | Adds a constant bias matching the output shape. | -| `with_scalar_constant` | Adds a scalar broadcast bias. | +| `all_constant` | Vector-matrix product with all inputs constant. | +| `constant_weight` | Basic single-row vector-matrix product with constant weights. | +| `non_uniform_bias` | Adds a non-uniform constant bias pattern. | +| `uniform_bias` | Adds a uniform constant bias pattern. | +| `scalar_bias` | Adds a scalar broadcast bias. | ### MatMul (12) @@ -177,11 +185,12 @@ defined in `gen_tests.py` and in the checked-in ONNX models. | `vector_matrix` | Vector-matrix multiplication producing a 1D output. | | `yolo_attention` | YOLO11n rank-4 dynamic MatMul-scale-transpose-MatMul attention chain. | -### Mul (5) +### Mul (6) | Case | Description | |---|---| | `after_conv` | Conv followed by per-channel scaling. | +| `after_conv_scalar_constant` | Conv followed by Mul with a scalar constant. | | `basic` | Elementwise Mul on two inputs with identical shapes. | | `channel_broadcast_1024` | Mul with NCHW per-channel broadcasting over 1024 channels. | | `leading_dimension_broadcast` | Mul with trailing-dimension broadcasting. | @@ -254,7 +263,7 @@ defined in `gen_tests.py` and in the checked-in ONNX models. | `height_only` | Nearest-neighbor resize of only the height dimension. | | `nearest_2x` | Nearest-neighbor upsampling by a factor of two. | | `nearest_downsample` | Nearest-neighbor downsampling. | -| `non_uniform` | Nearest-neighbor resize with different spatial scales. | +| `non_uniform_scales` | Nearest-neighbor resize with different spatial scales. | | `width_only` | Nearest-neighbor resize of only the width dimension. | | `with_sizes` | Resize using explicit output sizes instead of scales. | diff --git a/validation/operations/conv/conv_1x3x224x224_w64x3x7x7_b64/conv_1x3x224x224_w64x3x7x7_b64.onnx b/validation/operations/conv/input_224_7x7_stride2/conv_input_224_7x7_stride2.onnx similarity index 100% rename from validation/operations/conv/conv_1x3x224x224_w64x3x7x7_b64/conv_1x3x224x224_w64x3x7x7_b64.onnx rename to validation/operations/conv/input_224_7x7_stride2/conv_input_224_7x7_stride2.onnx diff --git a/validation/operations/conv/simple/conv_simple.onnx b/validation/operations/conv/kernel_2x2/conv_kernel_2x2.onnx similarity index 100% rename from validation/operations/conv/simple/conv_simple.onnx rename to validation/operations/conv/kernel_2x2/conv_kernel_2x2.onnx diff --git a/validation/operations/conv/output_channel_grouping_minimal/c64x256.onnx b/validation/operations/conv/output_channel_grouping_minimal/conv_output_channel_grouping_minimal.onnx similarity index 100% rename from validation/operations/conv/output_channel_grouping_minimal/c64x256.onnx rename to validation/operations/conv/output_channel_grouping_minimal/conv_output_channel_grouping_minimal.onnx diff --git a/validation/operations/gemm/dynamic_transB/gemm_dynamic_transB.onnx b/validation/operations/gemm/dynamic_transpose_b/gemm_dynamic_transpose_b.onnx similarity index 64% rename from validation/operations/gemm/dynamic_transB/gemm_dynamic_transB.onnx rename to validation/operations/gemm/dynamic_transpose_b/gemm_dynamic_transpose_b.onnx index 8e9eb94..5b241c2 100644 Binary files a/validation/operations/gemm/dynamic_transB/gemm_dynamic_transB.onnx and b/validation/operations/gemm/dynamic_transpose_b/gemm_dynamic_transpose_b.onnx differ diff --git a/validation/operations/gemm/simple/gemm_simple.onnx b/validation/operations/gemm/square_weights/gemm_square_weights.onnx similarity index 99% rename from validation/operations/gemm/simple/gemm_simple.onnx rename to validation/operations/gemm/square_weights/gemm_square_weights.onnx index 237810f..cae8c0c 100644 Binary files a/validation/operations/gemm/simple/gemm_simple.onnx and b/validation/operations/gemm/square_weights/gemm_square_weights.onnx differ diff --git a/validation/operations/gemm/transA/gemm_transA.onnx b/validation/operations/gemm/transA/gemm_transA.onnx deleted file mode 100644 index fc36591..0000000 Binary files a/validation/operations/gemm/transA/gemm_transA.onnx and /dev/null differ diff --git a/validation/operations/gemm/transA_transB/gemm_transA_transB.onnx b/validation/operations/gemm/transA_transB/gemm_transA_transB.onnx deleted file mode 100644 index 9ee8835..0000000 Binary files a/validation/operations/gemm/transA_transB/gemm_transA_transB.onnx and /dev/null differ diff --git a/validation/operations/gemm/transpose_a/gemm_transpose_a.onnx b/validation/operations/gemm/transpose_a/gemm_transpose_a.onnx new file mode 100644 index 0000000..9e341b5 Binary files /dev/null and b/validation/operations/gemm/transpose_a/gemm_transpose_a.onnx differ diff --git a/validation/operations/gemm/transpose_a_and_b/gemm_transpose_a_and_b.onnx b/validation/operations/gemm/transpose_a_and_b/gemm_transpose_a_and_b.onnx new file mode 100644 index 0000000..80e49b5 Binary files /dev/null and b/validation/operations/gemm/transpose_a_and_b/gemm_transpose_a_and_b.onnx differ diff --git a/validation/operations/gemm/transB/gemm_transB.onnx b/validation/operations/gemm/transpose_b/gemm_transpose_b.onnx similarity index 98% rename from validation/operations/gemm/transB/gemm_transB.onnx rename to validation/operations/gemm/transpose_b/gemm_transpose_b.onnx index 2df2d83..3c46f4a 100644 Binary files a/validation/operations/gemm/transB/gemm_transB.onnx and b/validation/operations/gemm/transpose_b/gemm_transpose_b.onnx differ diff --git a/validation/operations/gemm/transB_with_bias/gemm_transB_with_bias.onnx b/validation/operations/gemm/transpose_b_with_bias/gemm_transpose_b_with_bias.onnx similarity index 98% rename from validation/operations/gemm/transB_with_bias/gemm_transB_with_bias.onnx rename to validation/operations/gemm/transpose_b_with_bias/gemm_transpose_b_with_bias.onnx index 696ef58..ec7c9d2 100644 Binary files a/validation/operations/gemm/transB_with_bias/gemm_transB_with_bias.onnx and b/validation/operations/gemm/transpose_b_with_bias/gemm_transpose_b_with_bias.onnx differ diff --git a/validation/operations/gemv/constant/gemv_constant.onnx b/validation/operations/gemv/all_constant/gemv_all_constant.onnx similarity index 100% rename from validation/operations/gemv/constant/gemv_constant.onnx rename to validation/operations/gemv/all_constant/gemv_all_constant.onnx diff --git a/validation/operations/gemv/simple/gemv_simple.onnx b/validation/operations/gemv/constant_weight/gemv_constant_weight.onnx similarity index 100% rename from validation/operations/gemv/simple/gemv_simple.onnx rename to validation/operations/gemv/constant_weight/gemv_constant_weight.onnx diff --git a/validation/operations/gemv/with_heterogeneous_constant/gemv_with_heterogeneous_constant.onnx b/validation/operations/gemv/non_uniform_bias/gemv_non_uniform_bias.onnx similarity index 100% rename from validation/operations/gemv/with_heterogeneous_constant/gemv_with_heterogeneous_constant.onnx rename to validation/operations/gemv/non_uniform_bias/gemv_non_uniform_bias.onnx diff --git a/validation/operations/gemv/with_scalar_constant/gemv_with_scalar_constant.onnx b/validation/operations/gemv/scalar_bias/gemv_scalar_bias.onnx similarity index 100% rename from validation/operations/gemv/with_scalar_constant/gemv_with_scalar_constant.onnx rename to validation/operations/gemv/scalar_bias/gemv_scalar_bias.onnx diff --git a/validation/operations/gemv/with_homogeneous_constant/gemv_with_homogeneous_constant.onnx b/validation/operations/gemv/uniform_bias/gemv_uniform_bias.onnx similarity index 100% rename from validation/operations/gemv/with_homogeneous_constant/gemv_with_homogeneous_constant.onnx rename to validation/operations/gemv/uniform_bias/gemv_uniform_bias.onnx diff --git a/validation/operations/resize/non_uniform/resize_non_uniform.onnx b/validation/operations/resize/non_uniform_scales/resize_non_uniform_scales.onnx similarity index 58% rename from validation/operations/resize/non_uniform/resize_non_uniform.onnx rename to validation/operations/resize/non_uniform_scales/resize_non_uniform_scales.onnx index 9003cee..630efae 100644 Binary files a/validation/operations/resize/non_uniform/resize_non_uniform.onnx and b/validation/operations/resize/non_uniform_scales/resize_non_uniform_scales.onnx differ