From 656f36d0be95b4d90f2d0edabe80b8b7cca1ebb3 Mon Sep 17 00:00:00 2001 From: ilgeco Date: Fri, 5 Jun 2026 19:15:02 +0200 Subject: [PATCH] Fix Slice Operation --- .../Bufferization/BufferizationUtils.cpp | 14 +-- .../Bufferization/PimBufferizationPass.cpp | 52 +++++++++-- .../Verification/VerificationPass.cpp | 15 ++++ .../add/after_gemm/add_after_gemm.onnx | Bin 8594 -> 8594 bytes .../operations/add/basic/add_basic.onnx | Bin 100 -> 100 bytes .../add/broadcast_row/add_broadcast_row.onnx | Bin 130 -> 130 bytes .../add_channel_broadcast_1024.onnx | Bin 145 -> 145 bytes .../add_leading_dimension_broadcast.onnx | Bin 136 -> 136 bytes .../channel_axis/concat_channel_axis.onnx | Bin 151 -> 151 bytes .../negative_axis/concat_negative_axis.onnx | Bin 149 -> 149 bytes .../concat_three_inputs_channel_axis.onnx | Bin 196 -> 196 bytes .../operations/conv/batch_2/conv_batch_2.onnx | Bin 251 -> 251 bytes .../conv_batch_4_pointwise.onnx | Bin 32962 -> 32962 bytes .../conv_depthwise_1024_channels.onnx | Bin 4309 -> 4309 bytes .../conv_depthwise_grouped.onnx | Bin 309 -> 309 bytes .../conv/dilated_3x3/conv_dilated_3x3.onnx | Bin 237 -> 237 bytes .../operations/conv/dynamic/conv_dynamic.onnx | Bin 189 -> 189 bytes .../conv_explicit_padding.onnx | Bin 218 -> 218 bytes .../conv_grouped_many_groups.onnx | Bin 65747 -> 65747 bytes .../conv_grouped_two_groups.onnx | Bin 264 -> 264 bytes .../conv_huge_pointwise_1024.onnx | Bin 4194505 -> 4194505 bytes .../conv_huge_pointwise_1024_dynamic.onnx | Bin 213 -> 213 bytes .../conv/kernel_3x3/conv_kernel_3x3.onnx | Bin 209 -> 209 bytes .../conv_kernel_equals_input_spatial.onnx | Bin 4903 -> 4903 bytes .../conv_large_input_channels_1x1.onnx | Bin 262345 -> 262345 bytes .../conv_large_output_channels_1x1.onnx | Bin 262346 -> 262346 bytes .../large_spatial/conv_large_spatial.onnx | Bin 219 -> 219 bytes .../multi_channel/conv_multi_channel.onnx | Bin 617 -> 617 bytes .../conv_non_square_kernel_1x3.onnx | Bin 337 -> 337 bytes .../conv_non_square_kernel_3x1.onnx | Bin 337 -> 337 bytes .../conv_non_uniform_stride.onnx | Bin 622 -> 622 bytes .../conv/pointwise_1x1/conv_1x1.onnx | Bin 303 -> 303 bytes .../conv_real_asymmetric_padding.onnx | Bin 241 -> 241 bytes .../same_lower_3x3/conv_same_lower_3x3.onnx | Bin 228 -> 228 bytes .../conv_same_padding_3x3.onnx | Bin 222 -> 222 bytes .../conv/stride_2/conv_stride_2.onnx | Bin 213 -> 213 bytes .../with_bias_3x3/conv_with_bias_3x3.onnx | Bin 423 -> 423 bytes .../conv_without_kernel_shape_attr.onnx | Bin 208 -> 208 bytes .../div/after_gemm/div_after_gemm.onnx | Bin 8594 -> 8594 bytes .../operations/div/basic/div_basic.onnx | Bin 223 -> 223 bytes .../div_channel_broadcast_1024.onnx | Bin 4231 -> 4231 bytes .../div_leading_dimension_broadcast.onnx | Bin 136 -> 136 bytes .../div_runtime_scalar_rhs.onnx | Bin 125 -> 125 bytes .../scalar_constant/div_scalar_constant.onnx | Bin 104 -> 104 bytes .../3d_input_axis1/gather_3d_input_axis1.onnx | Bin 155 -> 155 bytes .../gather_axis0_matrix_indices.onnx | Bin 175 -> 175 bytes .../operations/gather/axis1/gather_axis1.onnx | Bin 137 -> 137 bytes .../negative_axis/gather_negative_axis.onnx | Bin 163 -> 163 bytes .../gather_negative_indices.onnx | Bin 149 -> 149 bytes .../gemm/alpha_beta/gemm_alpha_beta.onnx | Bin 16794 -> 16794 bytes .../gemm_bias_rank2_broadcast.onnx | Bin 344 -> 344 bytes .../operations/gemm/dynamic/gemm_dynamic.onnx | Bin 104 -> 104 bytes .../dynamic_alpha/gemm_dynamic_alpha.onnx | Bin 127 -> 127 bytes .../gemm/dynamic_beta/gemm_dynamic_beta.onnx | Bin 146 -> 146 bytes .../gemm/dynamic_bias/gemm_dynamic_bias.onnx | Bin 129 -> 129 bytes .../gemm_dynamic_bias_alpha_beta.onnx | Bin 174 -> 174 bytes .../dynamic_transB/gemm_dynamic_transB.onnx | Bin 126 -> 126 bytes .../gemm/huge_1024/gemm_huge_1024.onnx | Bin 4194415 -> 4194415 bytes .../operations/gemm/large/gemm_large.onnx | Bin 131176 -> 131176 bytes .../large_k_small_n/gemm_large_k_small_n.onnx | Bin 262256 -> 262256 bytes .../gemm/non_square/gemm_non_square.onnx | Bin 32875 -> 32875 bytes .../gemm/scalar_bias/gemm_scalar_bias.onnx | Bin 311 -> 311 bytes .../operations/gemm/simple/gemm_simple.onnx | Bin 69801 -> 69801 bytes .../operations/gemm/small/gemm_small.onnx | Bin 225 -> 225 bytes .../small_k_large_n/gemm_small_k_large_n.onnx | Bin 262256 -> 262256 bytes .../operations/gemm/transA/gemm_transA.onnx | Bin 305 -> 305 bytes .../transA_transB/gemm_transA_transB.onnx | Bin 327 -> 327 bytes .../operations/gemm/transB/gemm_transB.onnx | Bin 32886 -> 32886 bytes .../gemm_transB_with_bias.onnx | Bin 33168 -> 33168 bytes .../gemm/with_bias/gemm_with_bias.onnx | Bin 66173 -> 66173 bytes validation/operations/gen_tests.py | 83 ++++++++++++++++++ .../operations/matmul/basic/matmul_basic.onnx | Bin 147 -> 147 bytes .../matmul/batched_3d/matmul_batched_3d.onnx | Bin 210 -> 210 bytes .../matmul_batched_3d_dynamic.onnx | Bin 131 -> 131 bytes .../matmul_batched_left_constant.onnx | Bin 173 -> 173 bytes .../matmul_batched_lhs_broadcast.onnx | Bin 217 -> 217 bytes .../matmul_batched_rhs_broadcast.onnx | Bin 171 -> 171 bytes .../matmul/dynamic/matmul_dynamic.onnx | Bin 108 -> 108 bytes .../matmul/huge_1024/matmul_huge_1024.onnx | Bin 4194419 -> 4194419 bytes .../left_constant/matmul_left_constant.onnx | Bin 130 -> 130 bytes .../matrix_vector/matmul_matrix_vector.onnx | Bin 4201 -> 4201 bytes .../vector_matrix/matmul_vector_matrix.onnx | Bin 262250 -> 262250 bytes .../mul/after_conv/mul_after_conv.onnx | Bin 460 -> 460 bytes .../operations/mul/basic/mul_basic.onnx | Bin 100 -> 100 bytes .../mul_channel_broadcast_1024.onnx | Bin 145 -> 145 bytes .../mul_leading_dimension_broadcast.onnx | Bin 136 -> 136 bytes .../scalar_constant/mul_scalar_constant.onnx | Bin 104 -> 104 bytes .../pool/avg_basic/avgpool_basic.onnx | Bin 165 -> 165 bytes .../pool/avg_ceil_mode/avgpool_ceil_mode.onnx | Bin 187 -> 187 bytes .../avgpool_explicit_padding.onnx | Bin 202 -> 202 bytes .../avg_include_pad/avgpool_include_pad.onnx | Bin 197 -> 197 bytes .../avgpool_large_channels.onnx | Bin 176 -> 176 bytes .../avgpool_non_uniform_stride.onnx | Bin 178 -> 178 bytes .../avgpool_real_asymmetric_padding.onnx | Bin 209 -> 209 bytes .../max_after_conv/maxpool_after_conv.onnx | Bin 694 -> 694 bytes .../pool/max_basic/maxpool_basic.onnx | Bin 161 -> 161 bytes .../pool/max_ceil_mode/maxpool_ceil_mode.onnx | Bin 183 -> 183 bytes ...pool_global_style_kernel_equals_input.onnx | Bin 188 -> 188 bytes .../maxpool_non_square_kernel.onnx | Bin 173 -> 173 bytes .../maxpool_real_asymmetric_padding.onnx | Bin 179 -> 179 bytes .../max_same_upper/maxpool_same_upper.onnx | Bin 174 -> 174 bytes .../maxpool_stride2_multichannel.onnx | Bin 176 -> 176 bytes .../4d_spatial/reduce_mean_4d_spatial.onnx | Bin 144 -> 144 bytes .../reduce_mean_4d_spatial_keepdims_0.onnx | Bin 147 -> 147 bytes .../after_conv/reduce_mean_after_conv.onnx | Bin 478 -> 478 bytes .../reduce_mean_all_axes_keepdims_0.onnx | Bin 134 -> 134 bytes .../reduce_mean_all_axes_keepdims_1.onnx | Bin 147 -> 147 bytes .../reduce_mean/basic/reduce_mean_basic.onnx | Bin 120 -> 120 bytes .../reduce_mean_channel_axis_nchw.onnx | Bin 150 -> 150 bytes .../keepdims_0/reduce_mean_keepdims_0.onnx | Bin 121 -> 121 bytes .../reduce_mean_large_dimension_1024.onnx | Bin 136 -> 136 bytes .../reduce_mean_negative_axis.onnx | Bin 146 -> 146 bytes validation/operations/relu/4d/relu_4d.onnx | Bin 91 -> 91 bytes .../relu/after_conv/relu_after_conv.onnx | Bin 434 -> 434 bytes .../relu/after_gemm/relu_after_gemm.onnx | Bin 8452 -> 8452 bytes .../operations/relu/basic/relu_basic.onnx | Bin 78 -> 78 bytes .../reshape_4d_to_2d_flatten.onnx | Bin 142 -> 142 bytes .../reshape_infer_dim_minus_one.onnx | Bin 141 -> 141 bytes .../reshape/same_rank/reshape_same_rank.onnx | Bin 126 -> 126 bytes .../reshape_zero_copies_input_dim.onnx | Bin 143 -> 143 bytes .../height_only/resize_height_only.onnx | Bin 258 -> 258 bytes .../resize/nearest_2x/resize_nearest_2x.onnx | Bin 257 -> 257 bytes .../resize_nearest_downsample.onnx | Bin 265 -> 265 bytes .../non_uniform/resize_non_uniform.onnx | Bin 266 -> 266 bytes .../resize/width_only/resize_width_only.onnx | Bin 257 -> 257 bytes .../resize/with_sizes/resize_with_sizes.onnx | Bin 273 -> 273 bytes .../operations/sigmoid/4d/sigmoid_4d.onnx | Bin 97 -> 97 bytes .../after_gemm/sigmoid_after_gemm.onnx | Bin 8458 -> 8458 bytes .../sigmoid/basic/sigmoid_basic.onnx | Bin 84 -> 84 bytes .../slice/2d_basic/slice_2d_basic.onnx | Bin 234 -> 234 bytes .../slice/after_conv/slice_after_conv.onnx | Bin 742 -> 742 bytes .../default_axes/slice_default_axes.onnx | Bin 188 -> 188 bytes .../slice_large_channel_1024.onnx | Bin 200 -> 200 bytes .../slice_nchw_spatial_crop.onnx | Bin 221 -> 221 bytes .../negative_axis/slice_negative_axis.onnx | Bin 185 -> 185 bytes .../slice_negative_indices.onnx | Bin 180 -> 180 bytes .../slice_nonzero_channel_offset_add.onnx | Bin 0 -> 307 bytes .../slice_nonzero_channel_offset_mul.onnx | Bin 0 -> 307 bytes .../slice_nonzero_channel_offset_sub.onnx | Bin 0 -> 307 bytes .../operations/slice/step2/slice_step2.onnx | Bin 207 -> 207 bytes .../slice_yolo_like_decode_tail.onnx | Bin 0 -> 375 bytes .../3d_last_axis/softmax_3d_last_axis.onnx | Bin 112 -> 112 bytes .../softmax/basic/softmax_basic.onnx | Bin 97 -> 97 bytes .../channel_axis/softmax_channel_axis.onnx | Bin 120 -> 120 bytes .../softmax_large_dimension_1024.onnx | Bin 114 -> 114 bytes .../negative_axis/softmax_negative_axis.onnx | Bin 122 -> 122 bytes .../operations/split/basic/split_basic.onnx | Bin 160 -> 160 bytes .../split_equal_three_way.onnx | Bin 158 -> 158 bytes .../negative_axis/split_negative_axis.onnx | Bin 189 -> 189 bytes .../split_uneven_channel_axis_4d.onnx | Bin 201 -> 201 bytes .../sub/after_gemm/sub_after_gemm.onnx | Bin 8594 -> 8594 bytes .../operations/sub/basic/sub_basic.onnx | Bin 100 -> 100 bytes .../sub/broadcast_row/sub_broadcast_row.onnx | Bin 130 -> 130 bytes .../sub_channel_broadcast_1024.onnx | Bin 4231 -> 4231 bytes .../sub_constant_lhs_broadcast.onnx | Bin 140 -> 140 bytes .../sub_leading_dimension_broadcast.onnx | Bin 136 -> 136 bytes 156 files changed, 149 insertions(+), 15 deletions(-) create mode 100644 validation/operations/slice/nonzero_channel_offset_add/slice_nonzero_channel_offset_add.onnx create mode 100644 validation/operations/slice/nonzero_channel_offset_mul/slice_nonzero_channel_offset_mul.onnx create mode 100644 validation/operations/slice/nonzero_channel_offset_sub/slice_nonzero_channel_offset_sub.onnx create mode 100644 validation/operations/slice/yolo_like_decode_tail/slice_yolo_like_decode_tail.onnx diff --git a/src/PIM/Dialect/Pim/Transforms/Bufferization/BufferizationUtils.cpp b/src/PIM/Dialect/Pim/Transforms/Bufferization/BufferizationUtils.cpp index b553766..1a2aee3 100644 --- a/src/PIM/Dialect/Pim/Transforms/Bufferization/BufferizationUtils.cpp +++ b/src/PIM/Dialect/Pim/Transforms/Bufferization/BufferizationUtils.cpp @@ -13,10 +13,14 @@ using namespace bufferization; namespace onnx_mlir::pim { +static bool isCompactDeviceLocalExecutableMemRef(Value memrefValue) { + auto resolved = resolveContiguousAddress(memrefValue); + return succeeded(resolved) && resolved->byteOffset == 0 + && isa(resolved->base.getDefiningOp()); +} + FailureOr materializeContiguousInputMemRef(Value memrefValue, Location loc, RewriterBase& rewriter) { - bool isContiguous = - succeeded(resolveContiguousAddress(memrefValue)) || succeeded(compileContiguousAddressExpr(memrefValue)); - if (isContiguous && isDeviceLocalPimAddress(memrefValue)) + if (isCompactDeviceLocalExecutableMemRef(memrefValue)) return memrefValue; auto shapedType = cast(memrefValue.getType()); @@ -44,9 +48,7 @@ FailureOr materializeContiguousInputMemRef(Value memrefValue, Location lo } Value allocateContiguousResultMemRefLike(Value memrefValue, Location loc, RewriterBase& rewriter) { - bool isContiguous = - succeeded(resolveContiguousAddress(memrefValue)) || succeeded(compileContiguousAddressExpr(memrefValue)); - if (isContiguous && isDeviceLocalPimAddress(memrefValue)) + if (isCompactDeviceLocalExecutableMemRef(memrefValue)) return memrefValue; auto shapedType = cast(memrefValue.getType()); diff --git a/src/PIM/Dialect/Pim/Transforms/Bufferization/PimBufferizationPass.cpp b/src/PIM/Dialect/Pim/Transforms/Bufferization/PimBufferizationPass.cpp index bb8e35b..aff6463 100644 --- a/src/PIM/Dialect/Pim/Transforms/Bufferization/PimBufferizationPass.cpp +++ b/src/PIM/Dialect/Pim/Transforms/Bufferization/PimBufferizationPass.cpp @@ -29,6 +29,13 @@ namespace onnx_mlir { namespace { +static bool isCompactExecutableRuntimeMemRef(Value value) { + if (!isa(value.getType())) + return false; + auto resolved = resolveContiguousAddress(value); + return succeeded(resolved) && resolved->byteOffset == 0 && isa(resolved->base.getDefiningOp()); +} + struct MemRefCopyWorkItem { memref::CopyOp copyOp; StaticValueKnowledge knowledge; @@ -271,10 +278,10 @@ LogicalResult PimBufferizationPass::verifyContiguousRuntimeOperands(ModuleOp mod auto verifyOperand = [&](Value operand, unsigned operandIndex) { if (!isa(operand.getType())) return; - if (succeeded(resolveContiguousAddress(operand)) || succeeded(compileContiguousAddressExpr(operand))) + if (isCompactExecutableRuntimeMemRef(operand)) return; op->emitOpError() << "operand #" << operandIndex - << " is not backed by contiguous addressable storage after PIM bufferization"; + << " must be a compact device-local memref after PIM bufferization"; hasFailure = true; }; @@ -283,8 +290,16 @@ LogicalResult PimBufferizationPass::verifyContiguousRuntimeOperands(ModuleOp mod memCopyOp.emitOpError("must use base memref operands plus explicit byte offsets after bufferization"); hasFailure = true; } - verifyOperand(memCopyOp.getTarget(), 0); - verifyOperand(memCopyOp.getSource(), 1); + if (failed(resolveContiguousAddress(memCopyOp.getTarget())) + && failed(compileContiguousAddressExpr(memCopyOp.getTarget()))) { + memCopyOp.emitOpError("target is not backed by contiguous addressable storage after PIM bufferization"); + hasFailure = true; + } + if (failed(resolveContiguousAddress(memCopyOp.getSource())) + && failed(compileContiguousAddressExpr(memCopyOp.getSource()))) { + memCopyOp.emitOpError("source is not backed by contiguous addressable storage after PIM bufferization"); + hasFailure = true; + } return; } if (auto loadOp = dyn_cast(op)) { @@ -292,8 +307,17 @@ LogicalResult PimBufferizationPass::verifyContiguousRuntimeOperands(ModuleOp mod loadOp.emitOpError("must use base memref operands plus explicit byte offsets after bufferization"); hasFailure = true; } - verifyOperand(loadOp.getDeviceTarget(), 2); - verifyOperand(loadOp.getHostSource(), 3); + if (failed(resolveContiguousAddress(loadOp.getDeviceTarget())) + && failed(compileContiguousAddressExpr(loadOp.getDeviceTarget()))) { + loadOp.emitOpError( + "device target is not backed by contiguous addressable storage after PIM bufferization"); + hasFailure = true; + } + if (failed(resolveContiguousAddress(loadOp.getHostSource())) + && failed(compileContiguousAddressExpr(loadOp.getHostSource()))) { + loadOp.emitOpError("host source is not backed by contiguous addressable storage after PIM bufferization"); + hasFailure = true; + } return; } if (auto storeOp = dyn_cast(op)) { @@ -301,8 +325,17 @@ LogicalResult PimBufferizationPass::verifyContiguousRuntimeOperands(ModuleOp mod storeOp.emitOpError("must use base memref operands plus explicit byte offsets after bufferization"); hasFailure = true; } - verifyOperand(storeOp.getHostTarget(), 2); - verifyOperand(storeOp.getDeviceSource(), 3); + if (failed(resolveContiguousAddress(storeOp.getHostTarget())) + && failed(compileContiguousAddressExpr(storeOp.getHostTarget()))) { + storeOp.emitOpError("host target is not backed by contiguous addressable storage after PIM bufferization"); + hasFailure = true; + } + if (failed(resolveContiguousAddress(storeOp.getDeviceSource())) + && failed(compileContiguousAddressExpr(storeOp.getDeviceSource()))) { + storeOp.emitOpError( + "device source is not backed by contiguous addressable storage after PIM bufferization"); + hasFailure = true; + } return; } if (auto sendOp = dyn_cast(op)) { @@ -340,7 +373,8 @@ LogicalResult PimBufferizationPass::verifyContiguousRuntimeOperands(ModuleOp mod }); if (hasFailure) { - moduleOp.emitError("PIM bufferization must fully normalize executable runtime operand contiguity before codegen"); + moduleOp.emitError("PIM bufferization must fully normalize executable runtime operands to compact " + "device-local memrefs before codegen"); return failure(); } return success(); diff --git a/src/PIM/Dialect/Pim/Transforms/Verification/VerificationPass.cpp b/src/PIM/Dialect/Pim/Transforms/Verification/VerificationPass.cpp index eb07f1c..b3d670e 100644 --- a/src/PIM/Dialect/Pim/Transforms/Verification/VerificationPass.cpp +++ b/src/PIM/Dialect/Pim/Transforms/Verification/VerificationPass.cpp @@ -46,6 +46,13 @@ static bool isCodegenAddressableValue(Value value) { || isa(compiledAddress->base.getDefiningOp()); } +static bool isCompactExecutableRuntimeMemRef(Value value, const StaticValueKnowledge& knowledge) { + if (!isa(value.getType())) + return false; + auto resolved = resolveContiguousAddress(value, knowledge); + return succeeded(resolved) && resolved->byteOffset == 0 && isa(resolved->base.getDefiningOp()); +} + static bool isConstantGlobalView(Value value) { while (true) { Operation* defOp = value.getDefiningOp(); @@ -336,6 +343,14 @@ private: }); hasFailure = true; } + if (!isCompactExecutableRuntimeMemRef(operand, knowledge)) { + diagnostics.report(&op, [&](Operation* illegalOp) { + illegalOp->emitOpError() << "operand #" << operandIndex + << " must be a compact device-local memref; subviews and offset views are " + "not legal for executable PIM ops"; + }); + hasFailure = true; + } } if (auto storeOp = dyn_cast(op)) { diff --git a/validation/operations/add/after_gemm/add_after_gemm.onnx b/validation/operations/add/after_gemm/add_after_gemm.onnx index f88f43d5dcfa9d244c94a2ed536efa2d9de0d9d8..8202d1197612292b11a159a76ea4d79cae13c83f 100644 GIT binary patch delta 11 ScmbQ_Jjt1fgJUDp1VsQ8ngbyK delta 11 ScmbQ_Jjt1fgLfm-1VsQ8vjZjo diff --git a/validation/operations/add/basic/add_basic.onnx b/validation/operations/add/basic/add_basic.onnx index c7699c130a30cb13cf816ab2a73cfc7c250fecf5..4b5c1071b05ae952dea16e78b95aa5ff62df6f65 100644 GIT binary patch delta 8 PcmYdEVdCJJ$dm*C2vGsh delta 8 PcmYdEVdCJO$dm*C2xS4) diff --git a/validation/operations/add/broadcast_row/add_broadcast_row.onnx b/validation/operations/add/broadcast_row/add_broadcast_row.onnx index abdfccb476800e73d3a670dd5d6cf46346b8e252..853016af8ee8ce2ca3d2269f885a57078b0bfa96 100644 GIT binary patch delta 10 RcmZo-Y+_{M;F!qN000Zg0xSRk delta 10 RcmZo-Y+_{M;GM|S000Z!0x|kW#;F!qN1^^5@0zLo$ delta 10 RcmeBR>|kW#;GM|S1^^6C0z&`* diff --git a/validation/operations/concat/channel_axis/concat_channel_axis.onnx b/validation/operations/concat/channel_axis/concat_channel_axis.onnx index 134da550279936b87e36dae3fb30034ec01d693a..340e6f7d588904132b4c169f4cb35f2b70c6b65a 100644 GIT binary patch delta 10 RcmbQvIGvG+gJUAoQ~(WF0&4&O delta 10 RcmbQvIGvG+gLfj+Q~(WZ0&oBT diff --git a/validation/operations/concat/negative_axis/concat_negative_axis.onnx b/validation/operations/concat/negative_axis/concat_negative_axis.onnx index f2ceaa09ac8569d026b133f970b62f8209023ef7..724ae14f5b10047a05956f82f186256e2bf4d11f 100644 GIT binary patch delta 10 RcmbQrIF*r!gJUAoWB?5^0%ZUI delta 10 RcmbQrIF*r!gLfj+WB?6D0%`yN diff --git a/validation/operations/concat/three_inputs_channel_axis/concat_three_inputs_channel_axis.onnx b/validation/operations/concat/three_inputs_channel_axis/concat_three_inputs_channel_axis.onnx index 517810141d264478f4468c1a961cf8ff0e16816c..2ac1bcdcf7d6ccc4f23be70253f02e67ee22dd06 100644 GIT binary patch delta 10 RcmX@Yc!ZIOgJUAoApj7s0`dR= delta 10 RcmX@Yc!ZIOgLfj+Apj7=0`~v_ diff --git a/validation/operations/conv/batch_2/conv_batch_2.onnx b/validation/operations/conv/batch_2/conv_batch_2.onnx index 8fa369c53ffe2425b0b3f2c1dd70a83113fc6598..fc9fb02733c3a75959acdb52b125434e0b3a7d62 100644 GIT binary patch delta 10 Rcmey(_?wZ5gJUAoPXH9e1D5~* delta 10 Rcmey(_?wZ5gLfj+PXH9y1DpT= diff --git a/validation/operations/conv/batch_4_pointwise/conv_batch_4_pointwise.onnx b/validation/operations/conv/batch_4_pointwise/conv_batch_4_pointwise.onnx index 52feeec2ffa3aed4d048aaf620fecfd10f5673a4..78cad13c00bb786a110fa755ff7f10ec5462e9af 100644 GIT binary patch delta 13 UcmX@q$aJWYiHU<_Bh!Hf03l`skN^Mx delta 13 UcmX@q$aJWYiHU=EBh!Hf03m+_l>h($ diff --git a/validation/operations/conv/depthwise_1024_channels/conv_depthwise_1024_channels.onnx b/validation/operations/conv/depthwise_1024_channels/conv_depthwise_1024_channels.onnx index fe2b99e78a9c23eb77064ee222437d28ba11feee..ef5522845755b01fcbaaa5d14947bacee601195f 100644 GIT binary patch delta 11 ScmcbrcvX>!gJUDpWdQ&e=L3}h delta 11 ScmcbrcvX>!gLfm-WdQ&f00Wu; diff --git a/validation/operations/conv/depthwise_grouped/conv_depthwise_grouped.onnx b/validation/operations/conv/depthwise_grouped/conv_depthwise_grouped.onnx index 84da8118ea4fd3bb31b3a6fbec2679c7dc7b33a5..f92d7d549c51eb33e2d7653ee606fe70d1595689 100644 GIT binary patch delta 11 ScmdnWw3Ug8gJUC;F(UvG>H=s0 delta 11 ScmdnWw3Ug8gLfm7F(UvH0|IRT diff --git a/validation/operations/conv/dilated_3x3/conv_dilated_3x3.onnx b/validation/operations/conv/dilated_3x3/conv_dilated_3x3.onnx index 7602a5a4819ec52166be7cd42d95639d8f087f91..3b8b953fe32eb9bff11d73f051076a5088269b61 100644 GIT binary patch delta 10 RcmaFM_?D50gJUAoYXB3v18o2R delta 10 RcmaFM_?D50gLfj+YXB3@19AWW diff --git a/validation/operations/conv/dynamic/conv_dynamic.onnx b/validation/operations/conv/dynamic/conv_dynamic.onnx index c21dcf329f8cb2c8d71a332cd79d88167bff28de..2f634952cb0d3cea9831fa3f75f3e5c6c418138d 100644 GIT binary patch delta 10 RcmdnXxR;TMgJUAoZU7J}0^I-r delta 10 RcmdnXxR;TMgLfj+ZU7KI0^$Gw diff --git a/validation/operations/conv/explicit_padding/conv_explicit_padding.onnx b/validation/operations/conv/explicit_padding/conv_explicit_padding.onnx index 15813f708fab487c9966c1d119b241d7908a6daa..fc6288615cadbe64eb2d107a62052ba8999a70d4 100644 GIT binary patch delta 10 Rcmcb`c#DyVgJUAo4FD2R12g~t delta 10 Rcmcb`c#DyVgLfj+4FD2l133Ty diff --git a/validation/operations/conv/grouped_many_groups/conv_grouped_many_groups.onnx b/validation/operations/conv/grouped_many_groups/conv_grouped_many_groups.onnx index 53e138f88e2ee204b7888915ad17eb47acb4a0d7..d4b26e8b6c605a670697602b84d7f1e9b83b2d18 100644 GIT binary patch delta 15 WcmccI$a1-ng^7csk!dOu<3#`}3R@8x;MmB-#s~lo3<2Q) delta 11 ScmeBR>R@8x;N8f?#s~loB?0CD diff --git a/validation/operations/conv/huge_pointwise_1024/conv_huge_pointwise_1024.onnx b/validation/operations/conv/huge_pointwise_1024/conv_huge_pointwise_1024.onnx index 517d3c8975fee3dad32eb28111f93a1544167f60..867e74cdc5d02df548be64e7dba9f435a4e2c431 100644 GIT binary patch delta 206 zcmWN>M^XX-006;aNJ|h$58?R006<^K*>pR&XPg0h>E4b<4T|=hpynUd%s?|KM_e@k$^l8N=RPhRl*XH zsKg{L2}w#y(vp#^yh%>-QjnsQq%0MwN=@q0kfyYxEgk7fPx>;DcNxk^#xjwq%w#SL fS;~j3WGx%n%1-ujkWV?vmz?BVe&koqH~#(~USuxn diff --git a/validation/operations/conv/huge_pointwise_1024_dynamic/conv_huge_pointwise_1024_dynamic.onnx b/validation/operations/conv/huge_pointwise_1024_dynamic/conv_huge_pointwise_1024_dynamic.onnx index f5ce95d0ba869070054eba356248cdaba839286c..7f4163cdb38741f864247ed0fcf5bb911782fc8a 100644 GIT binary patch delta 10 Rcmcc0c$JZfgJUAoWdITK10?_e delta 10 Rcmcc0c$JZfgLfj+WdITe11bOj diff --git a/validation/operations/conv/kernel_3x3/conv_kernel_3x3.onnx b/validation/operations/conv/kernel_3x3/conv_kernel_3x3.onnx index 701fc947dec0ef1cfc5eb08d2727e3c407f52431..c76ed00b8c7245c9dd7e2f67a7433e54d0e342c8 100644 GIT binary patch delta 10 Rcmcb}c#)BbgJUAoc>ocn0~r7S delta 10 Rcmcb}c#)BbgLfj+c>oc*10DbX diff --git a/validation/operations/conv/kernel_equals_input_spatial/conv_kernel_equals_input_spatial.onnx b/validation/operations/conv/kernel_equals_input_spatial/conv_kernel_equals_input_spatial.onnx index ecad81ae7dfb7a4f6c97f0700885553fc088ec84..113d0cd7b1b87b2d5df5d1dd8ab67901618ab463 100644 GIT binary patch delta 11 ScmZ3kwp@*ggJUC;sxSZ(Py(0$ delta 11 ScmZ3kwp@*ggLfm7sxSZ(X#$-9 diff --git a/validation/operations/conv/large_input_channels_1x1/conv_large_input_channels_1x1.onnx b/validation/operations/conv/large_input_channels_1x1/conv_large_input_channels_1x1.onnx index 858b451146a72ce9eca264823725277006a51d24..4cca5263adfa0be73da3f2e669247167e2bf1a39 100644 GIT binary patch delta 24 ecmX@vC~&e-fQf^nk*Sr5v6Tr(GEZeqx`gJUAodjJ#$19<=d delta 10 Rcmey!_>qx`gLfj+djJ#~1AYJi diff --git a/validation/operations/conv/same_lower_3x3/conv_same_lower_3x3.onnx b/validation/operations/conv/same_lower_3x3/conv_same_lower_3x3.onnx index 9044d8d2bec1349e3acacc3573d792499a155683..5af31a0ea9011cca04e4d9608ad1c8cdabcfc279 100644 GIT binary patch delta 10 RcmaFD_=J&(gJUAoBLEW*15yA0 delta 10 RcmaFD_=J&(gLfj+BLEX416Ke5 diff --git a/validation/operations/conv/same_padding_3x3/conv_same_padding_3x3.onnx b/validation/operations/conv/same_padding_3x3/conv_same_padding_3x3.onnx index 3a017fce27bab14830d11cb8aa03a6cd36afefd2..0797ab7a57b444f2c475e20db141e21d4a9a6457 100644 GIT binary patch delta 10 Rcmcb|c#n~ZgJUAo9RL!Y13&-( delta 10 Rcmcb|c#n~ZgLfj+9RL!s14RG; diff --git a/validation/operations/conv/stride_2/conv_stride_2.onnx b/validation/operations/conv/stride_2/conv_stride_2.onnx index 913596686d4fd910866fb03ec72bcf18e7bde9ff..56c7e62be1a3afe0f40fbbbcbd42cbd8c9bd4c57 100644 GIT binary patch delta 10 Rcmcc0c$JZfgJUAoWdITK10?_e delta 10 Rcmcc0c$JZfgLfj+WdITe11bOj diff --git a/validation/operations/conv/with_bias_3x3/conv_with_bias_3x3.onnx b/validation/operations/conv/with_bias_3x3/conv_with_bias_3x3.onnx index d4f81e4af0f46f38ab5f47d02a165da62585ed63..97095380f460556aa60f5de11acbf8238d4bcbd8 100644 GIT binary patch delta 11 ScmZ3^yquYdgJUDpQbqs~$O6Cs delta 11 ScmZ3^yquYdgLfm-Qbqs~;R3|~ diff --git a/validation/operations/conv/without_kernel_shape_attr/conv_without_kernel_shape_attr.onnx b/validation/operations/conv/without_kernel_shape_attr/conv_without_kernel_shape_attr.onnx index b784f99efbffa06abd2271ba24eb0389349742cd..b72f9779f4a249d3457dee1e80afd1ba142a200d 100644 GIT binary patch delta 10 Rcmcb>c!80LgJUAoIRFup0~P=P delta 10 Rcmcb>c!80LgLfj+IRFu-0~-JU diff --git a/validation/operations/div/after_gemm/div_after_gemm.onnx b/validation/operations/div/after_gemm/div_after_gemm.onnx index ae8770d6bd8452d54317f4b4f10adc214e92f59e..aea8f35a94b3e7e8c5e1f895c538b767c36e4443 100644 GIT binary patch delta 11 ScmbQ_Jjt1fgJUDp1VsQ8ngbyK delta 11 ScmbQ_Jjt1fgLfm-1VsQ8vjZjo diff --git a/validation/operations/div/basic/div_basic.onnx b/validation/operations/div/basic/div_basic.onnx index d2dd4f57265e0aa5b64358e636abba360470e51a..6f3954f4917e7904ed03ac8ffa628825980fde34 100644 GIT binary patch delta 10 Rcmcc5c%PApgJUAoT>uiW1494+ delta 10 Rcmcc5c%PApgLfj+T>uiq14sY> diff --git a/validation/operations/div/channel_broadcast_1024/div_channel_broadcast_1024.onnx b/validation/operations/div/channel_broadcast_1024/div_channel_broadcast_1024.onnx index 06640974bb9812e31ce7a455cdb2e9610f73ceea..6fc75ed0c2c48c05186c0d29deccbffde21472e5 100644 GIT binary patch delta 11 ScmZoyY*%FB;MmC2DgXcxGXkps delta 11 ScmZoyY*%FB;N8g7DgXcxOaia~ diff --git a/validation/operations/div/leading_dimension_broadcast/div_leading_dimension_broadcast.onnx b/validation/operations/div/leading_dimension_broadcast/div_leading_dimension_broadcast.onnx index 68ce49bff57dbd98bb1bfe81a5fc2ba30f402991..50a36f4644578caec6b730c50dde03725e68295c 100644 GIT binary patch delta 10 RcmeBR>|kW#;F!qN1^^5@0zLo$ delta 10 RcmeBR>|kW#;GM|S1^^6C0z&`* diff --git a/validation/operations/div/runtime_scalar_rhs/div_runtime_scalar_rhs.onnx b/validation/operations/div/runtime_scalar_rhs/div_runtime_scalar_rhs.onnx index 5885133f4bab022a7a83b8a7b711e4310e87f34a..e18f39937b59aafe3ebc06c0909426a4eb8a3141 100644 GIT binary patch delta 8 Pcmb=eW#ZtN$W#pg3E=`8 delta 8 Pcmb=eW#ZtS$W#pg3H1UX diff --git a/validation/operations/div/scalar_constant/div_scalar_constant.onnx b/validation/operations/div/scalar_constant/div_scalar_constant.onnx index b61f5870ec25c819659b01f726f0d490f6c6560e..01190f03329a889c6da7503e23e4adcf659ffc8a 100644 GIT binary patch delta 8 Pcmd1EVB+AI$dm>E2$2EY delta 8 Pcmd1EVB+AN$dm>E2&Dnx diff --git a/validation/operations/gather/3d_input_axis1/gather_3d_input_axis1.onnx b/validation/operations/gather/3d_input_axis1/gather_3d_input_axis1.onnx index d46b548f780b1b25cebc0d8375d74fc5038482b4..6935f61026a0924499b15458cce77566963e0eb7 100644 GIT binary patch delta 10 RcmbQuIGd4)gJUAoOaKj}0(Sra delta 10 RcmbQuIGd4)gLfj+OaKkI0(<}f diff --git a/validation/operations/gather/axis0_matrix_indices/gather_axis0_matrix_indices.onnx b/validation/operations/gather/axis0_matrix_indices/gather_axis0_matrix_indices.onnx index 4119bada8b5155cf7be20206f4cc929bc4527922..2ff2843445089cad16f9cf50ffcba93f22ddb81a 100644 GIT binary patch delta 10 RcmZ3_xSo-TgJUAoS^y6q0||u(;F!qN4gd^J0zm)( delta 10 RcmeBV>||u(;GM|S4gd^d0!9D; diff --git a/validation/operations/gather/negative_axis/gather_negative_axis.onnx b/validation/operations/gather/negative_axis/gather_negative_axis.onnx index b9a3cc8ab22611a7b3ab44ede0bb19d026ce3847..b759257b2502ddfed85ce093ae114903f402519a 100644 GIT binary patch delta 10 RcmZ3?xR{ZNgJUAoLI4gt0*?Ry delta 10 RcmZ3?xR{ZNgLfj+LI4g>0+av% diff --git a/validation/operations/gather/negative_indices/gather_negative_indices.onnx b/validation/operations/gather/negative_indices/gather_negative_indices.onnx index ea7403c2f1189ff4b0261b498746e27ab3cf3a65..f0e07ca1dd39c3d8dca37b15ea0058e55348f711 100644 GIT binary patch delta 10 RcmbQrIF*r!gJUAoWB?5^0%ZUI delta 10 RcmbQrIF*r!gLfj+WB?6D0%`yN diff --git a/validation/operations/gemm/alpha_beta/gemm_alpha_beta.onnx b/validation/operations/gemm/alpha_beta/gemm_alpha_beta.onnx index 12482762764437a6e2e461f4715c00cec0203546..fdb191006640c2fb69d7e0d659a2be94b33ed1f8 100644 GIT binary patch delta 13 UcmbQ$%s8u=k%@z2Bhw5=03B8X+W-In delta 13 UcmbQ$%s8u=k%@zMBhw5=03B}w-~a#s diff --git a/validation/operations/gemm/bias_rank2_broadcast/gemm_bias_rank2_broadcast.onnx b/validation/operations/gemm/bias_rank2_broadcast/gemm_bias_rank2_broadcast.onnx index 596be4354ee15cb442ef32384719941bcc5e5bfd..637323b3fe723f09c2ef5ce92acb3423d8bc906e 100644 GIT binary patch delta 11 Scmcb?bc2bBgJUC87$X1_>;lmM delta 11 Scmcb?bc2bBgLflS7$X1`1p?Lp diff --git a/validation/operations/gemm/dynamic/gemm_dynamic.onnx b/validation/operations/gemm/dynamic/gemm_dynamic.onnx index f23e103ab5c3370be7f507dbd7f04b1c1447f7ce..917113d8e898ceb29eff98b33c1785da2da47320 100644 GIT binary patch delta 8 Pcmd1EVB+AI$dm>E2$2EY delta 8 Pcmd1EVB+AN$dm>E2&Dnx diff --git a/validation/operations/gemm/dynamic_alpha/gemm_dynamic_alpha.onnx b/validation/operations/gemm/dynamic_alpha/gemm_dynamic_alpha.onnx index 2fdccb3888593516dfff4d41c62d8a16b2e69068..4decf30990bfa77b84a072cdf612ba1859a92133 100644 GIT binary patch delta 8 Pcmb=gXX4A0$cz9 delta 10 RcmbQlIEj&ogLfj+1ON>U0$~6E diff --git a/validation/operations/gemm/dynamic_bias/gemm_dynamic_bias.onnx b/validation/operations/gemm/dynamic_bias/gemm_dynamic_bias.onnx index 5ffd977fa1df4e840c2ff4c69c856467f11ae40a..69d3a3a3c493bf928cf63caca4217e3e87f8c00e 100644 GIT binary patch delta 10 RcmZoyDgJUAo8UPOs0yDgLfj+8UPO=0<{1D diff --git a/validation/operations/gemm/dynamic_transB/gemm_dynamic_transB.onnx b/validation/operations/gemm/dynamic_transB/gemm_dynamic_transB.onnx index 8e9eb94a185dce7b78834e50d988ddb58bfe5cd4..82109e1f25a10dc42057832ee46c2d1bda6512bc 100644 GIT binary patch delta 8 Pcmb=cW8&bL$W#LW3Go6R delta 8 Pcmb=cW8&bQ$W#LW3Izfq diff --git a/validation/operations/gemm/huge_1024/gemm_huge_1024.onnx b/validation/operations/gemm/huge_1024/gemm_huge_1024.onnx index 6e6031d698b08816df3f2225bd1abfa1deac17c5..d46409c414fbcf8cb4a6a59b50aa7e5bd2640470 100644 GIT binary patch delta 206 zcmWN>$5jFW06@XVCoMrh0SS^-GLn-D*pNM}hhGA9(t;djZehsnjv)9$B62?}F^Nk; zk`hQt(vp#^JV;LRQjkY^lA@HPEYDJrs??+|FVc{vw4^N^=}J#t)l~uj06@{hBcvrnx|I-AI;32P9pK}Qz?`fAANSrb7w%6)Q&%J)&w~<@utelV zq7sw1BqS**Nz1EbBr7?|%bOJBU5ZkYvQ(rhHK|KOn$nWCbfhaE@+m#(%Rq+mB_kQj hxBSSjOk^rEnae_!vXZrIWGjENlf4||D5o3$=LeYtF4_P9 diff --git a/validation/operations/gemm/large/gemm_large.onnx b/validation/operations/gemm/large/gemm_large.onnx index d44a8db153ab846f4139d7afa74c16a4186f82e3..1b11e87254f1d5ac8ac648ea8559e14fd5fbdec9 100644 GIT binary patch delta 18 ZcmaFS!11DigNcKqk*Sr5aVis28UQ*o1pNR2 delta 18 ZcmaFS!11DigNcK;k*Sr5aVis28UQ+F1p)v7 diff --git a/validation/operations/gemm/large_k_small_n/gemm_large_k_small_n.onnx b/validation/operations/gemm/large_k_small_n/gemm_large_k_small_n.onnx index da27754d53223fca82d01c413c1bfa5901126a19..05f395bc8fbe963f24c44de9054d625f3b9dc45a 100644 GIT binary patch delta 24 ecmey+An>66S!jsO4v diff --git a/validation/operations/gemm/scalar_bias/gemm_scalar_bias.onnx b/validation/operations/gemm/scalar_bias/gemm_scalar_bias.onnx index 8114542b9818f8f6440a08af25721d369cb275e0..9c3045344a4c376dae07322ca8b92d3115a8dc38 100644 GIT binary patch delta 11 Scmdnaw4I5GgJUC;DI)+976NVn delta 11 Scmdnaw4I5GgLfm7DI)+9F9LG_ diff --git a/validation/operations/gemm/simple/gemm_simple.onnx b/validation/operations/gemm/simple/gemm_simple.onnx index 237810fa95ef695addbc3a0774bba55349fdb6a5..7eb9d786ca37343e2fc94764a9bacf94249c3b87 100644 GIT binary patch delta 16 XcmZ3vkY(jU7A6jkMy9PyjLQW8Ewu!p delta 16 XcmZ3vkY(jU7A6kfMy9PyjLQW8E!_mB diff --git a/validation/operations/gemm/small/gemm_small.onnx b/validation/operations/gemm/small/gemm_small.onnx index 49a7f9178e74bd5cb38875b0d47045dc34d58a0f..8ea5da3dc06b386dd2b81bbceb7ca54855b1ff3d 100644 GIT binary patch delta 10 RcmaFJ_>hr_gJUAoeE<^H14#e? delta 10 RcmaFJ_>hr_gLfj+eE<^b15N+{ diff --git a/validation/operations/gemm/small_k_large_n/gemm_small_k_large_n.onnx b/validation/operations/gemm/small_k_large_n/gemm_small_k_large_n.onnx index d101ff58f80384017c695fe7251fcbb6d9fb5afa..8baaa0de5db1dda1b57f4b668d0d6b441cb5ecb4 100644 GIT binary patch delta 24 ecmey+An>666r diff --git a/validation/operations/gemm/transB/gemm_transB.onnx b/validation/operations/gemm/transB/gemm_transB.onnx index 2df2d834c0db6d98fbda8c405d69452b8b170693..2a5ea815c0bb2863dd0a57297f11cd4169b368a2 100644 GIT binary patch delta 13 Ucmey?!1S$wiHU<_BU4EO03~GvssI20 delta 13 Ucmey?!1S$wiHU=EBU4EO0406|uK)l5 diff --git a/validation/operations/gemm/transB_with_bias/gemm_transB_with_bias.onnx b/validation/operations/gemm/transB_with_bias/gemm_transB_with_bias.onnx index 696ef58ca4d4ca790d20944f5816a5e05999c9ec..a4602fbcda52ac32ea11bd4a729e073533c44a79 100644 GIT binary patch delta 13 UcmbQx%rv2yiHU<_BU4`^035Fa{{R30 delta 13 UcmbQx%rv2yiHU=EBU4`^0365!1ONa4 diff --git a/validation/operations/gemm/with_bias/gemm_with_bias.onnx b/validation/operations/gemm/with_bias/gemm_with_bias.onnx index b1b4bb288248eb5a1b3528aaf3966009e35ae047..f3ee094983baef74ac5c5113c94c1c7336ba439c 100644 GIT binary patch delta 16 Xcmey{!t%F;g^7csk!dRvV>J^1GsFbd delta 16 Xcmey{!t%F;g^7c=k!dRvV>J^1GwcM~ diff --git a/validation/operations/gen_tests.py b/validation/operations/gen_tests.py index ad107b3..3e7e077 100644 --- a/validation/operations/gen_tests.py +++ b/validation/operations/gen_tests.py @@ -1452,6 +1452,85 @@ def slice_large_channel_1024(): save_model(model, "slice/large_channel_1024", "slice_large_channel_1024.onnx") +def slice_nonzero_channel_offset_add(): + """Add two channel slices where one operand starts at a non-zero channel offset.""" + X = helper.make_tensor_value_info("X", TensorProto.FLOAT, [1, 4, 16]) + Y = helper.make_tensor_value_info("Y", TensorProto.FLOAT, [1, 2, 16]) + starts0 = make_int64_initializer("starts0", [0]) + ends0 = make_int64_initializer("ends0", [2]) + starts1 = make_int64_initializer("starts1", [2]) + ends1 = make_int64_initializer("ends1", [4]) + axes = make_int64_initializer("axes", [1]) + slice0 = helper.make_node("Slice", ["X", "starts0", "ends0", "axes"], ["S0"]) + slice1 = helper.make_node("Slice", ["X", "starts1", "ends1", "axes"], ["S1"]) + add = helper.make_node("Add", ["S0", "S1"], ["Y"]) + graph = helper.make_graph( + [slice0, slice1, add], "slice_nonzero_channel_offset_add", [X], [Y], + initializer=[starts0, ends0, starts1, ends1, axes]) + model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)]) + save_model(model, "slice/nonzero_channel_offset_add", "slice_nonzero_channel_offset_add.onnx") + + +def slice_nonzero_channel_offset_sub(): + """Sub two channel slices where one operand starts at a non-zero channel offset.""" + X = helper.make_tensor_value_info("X", TensorProto.FLOAT, [1, 4, 16]) + Y = helper.make_tensor_value_info("Y", TensorProto.FLOAT, [1, 2, 16]) + starts0 = make_int64_initializer("starts0", [0]) + ends0 = make_int64_initializer("ends0", [2]) + starts1 = make_int64_initializer("starts1", [2]) + ends1 = make_int64_initializer("ends1", [4]) + axes = make_int64_initializer("axes", [1]) + slice0 = helper.make_node("Slice", ["X", "starts0", "ends0", "axes"], ["S0"]) + slice1 = helper.make_node("Slice", ["X", "starts1", "ends1", "axes"], ["S1"]) + sub = helper.make_node("Sub", ["S0", "S1"], ["Y"]) + graph = helper.make_graph( + [slice0, slice1, sub], "slice_nonzero_channel_offset_sub", [X], [Y], + initializer=[starts0, ends0, starts1, ends1, axes]) + model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)]) + save_model(model, "slice/nonzero_channel_offset_sub", "slice_nonzero_channel_offset_sub.onnx") + + +def slice_nonzero_channel_offset_mul(): + """Mul two channel slices where one operand starts at a non-zero channel offset.""" + X = helper.make_tensor_value_info("X", TensorProto.FLOAT, [1, 4, 16]) + Y = helper.make_tensor_value_info("Y", TensorProto.FLOAT, [1, 2, 16]) + starts0 = make_int64_initializer("starts0", [0]) + ends0 = make_int64_initializer("ends0", [2]) + starts1 = make_int64_initializer("starts1", [2]) + ends1 = make_int64_initializer("ends1", [4]) + axes = make_int64_initializer("axes", [1]) + slice0 = helper.make_node("Slice", ["X", "starts0", "ends0", "axes"], ["S0"]) + slice1 = helper.make_node("Slice", ["X", "starts1", "ends1", "axes"], ["S1"]) + mul = helper.make_node("Mul", ["S0", "S1"], ["Y"]) + graph = helper.make_graph( + [slice0, slice1, mul], "slice_nonzero_channel_offset_mul", [X], [Y], + initializer=[starts0, ends0, starts1, ends1, axes]) + model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)]) + save_model(model, "slice/nonzero_channel_offset_mul", "slice_nonzero_channel_offset_mul.onnx") + + +def slice_yolo_like_decode_tail(): + """YOLO-like decode tail using two channel slices with a non-zero-offset slice feeding Sub/Add/Sub/Concat.""" + X = helper.make_tensor_value_info("X", TensorProto.FLOAT, [1, 4, 16]) + Y = helper.make_tensor_value_info("Y", TensorProto.FLOAT, [1, 4, 16]) + starts0 = make_int64_initializer("starts0", [0]) + ends0 = make_int64_initializer("ends0", [2]) + starts1 = make_int64_initializer("starts1", [2]) + ends1 = make_int64_initializer("ends1", [4]) + axes = make_int64_initializer("axes", [1]) + slice0 = helper.make_node("Slice", ["X", "starts0", "ends0", "axes"], ["S0"]) + slice1 = helper.make_node("Slice", ["X", "starts1", "ends1", "axes"], ["S1"]) + sub0 = helper.make_node("Sub", ["S1", "S0"], ["D0"]) + add0 = helper.make_node("Add", ["S0", "S1"], ["A0"]) + sub1 = helper.make_node("Sub", ["A0", "D0"], ["D1"]) + concat = helper.make_node("Concat", ["D0", "D1"], ["Y"], axis=1) + graph = helper.make_graph( + [slice0, slice1, sub0, add0, sub1, concat], "slice_yolo_like_decode_tail", [X], [Y], + initializer=[starts0, ends0, starts1, ends1, axes]) + model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 13)]) + save_model(model, "slice/yolo_like_decode_tail", "slice_yolo_like_decode_tail.onnx") + + # --------------------------------------------------------------------------- # Gather tests # --------------------------------------------------------------------------- @@ -2001,6 +2080,10 @@ if __name__ == "__main__": slice_nchw_spatial_crop() slice_after_conv() slice_large_channel_1024() + slice_nonzero_channel_offset_add() + slice_nonzero_channel_offset_sub() + slice_nonzero_channel_offset_mul() + slice_yolo_like_decode_tail() print("\nGenerating Softmax tests:") softmax_basic() diff --git a/validation/operations/matmul/basic/matmul_basic.onnx b/validation/operations/matmul/basic/matmul_basic.onnx index 4d0b920c2f0647b9d2fc218c8cf5fbf280bd9544..c131c173ce0c24d4af950cb2ecb344a001b1308e 100644 GIT binary patch delta 10 RcmbQtIGK@&gJUAoL;wv80$%_C delta 10 RcmbQtIGK@&gLfj+L;wvS0%QOH diff --git a/validation/operations/matmul/batched_3d/matmul_batched_3d.onnx b/validation/operations/matmul/batched_3d/matmul_batched_3d.onnx index d58cd3bc1204ef278423516acd3a253d95b92736..13f3dc6f8b4adbc39e1cce3c75b1a262f2caec9f 100644 GIT binary patch delta 10 Rcmcb_c!`mTgJUAo1ppDb0~`PV delta 10 Rcmcb_c!`mTgLfj+1ppDv10eta diff --git a/validation/operations/matmul/batched_3d_dynamic/matmul_batched_3d_dynamic.onnx b/validation/operations/matmul/batched_3d_dynamic/matmul_batched_3d_dynamic.onnx index c8037ed4d7a15eae75fd11f90a2765d72b67db39..61040cd3003c3a2cd2ef752ef04fefe473509a96 100644 GIT binary patch delta 10 RcmZo>Y-VKQ;F!qN2mlM*0xtjn delta 10 RcmZo>Y-VKQ;GM|S2mlN40yF>s diff --git a/validation/operations/matmul/batched_left_constant/matmul_batched_left_constant.onnx b/validation/operations/matmul/batched_left_constant/matmul_batched_left_constant.onnx index 91921f76a6d4a68fa9b0d261398252ad77a94162..37bb88626f8c001262b6dc37b95def596dd09a48 100644 GIT binary patch delta 10 RcmZ3>xR#NLgJUAoY5)%U0<8c5 delta 10 RcmZ3>xR#NLgLfj+Y5)%o0$5jFW06@XVCoMrh0SS^-GLn-D*peNrhhGAf(tsRhZehsnjv)9$B62?}F^Nk; zk`hQt(vp#^JV;LRQjkY^lA@HPEYDJrs??+|FVc{vw4^N^=}J#t)l~uj06@{hBcvrnx|I-AI;32Q4dCOAz@#hyANSrb7w%6)Q&%J)&w~<@utelV zq7sw1BqS**Nz1EbBr7?|%bOJBU5ZkYvQ(rhHK|KOn$nWCbfhaE@+m#(%Rq+mB_kQj hxBSSjOk^rEnae_!vXZrIWGjENlf4||D5o3$=Ler?F6ICL diff --git a/validation/operations/matmul/left_constant/matmul_left_constant.onnx b/validation/operations/matmul/left_constant/matmul_left_constant.onnx index 7f727e5406f499b2f97c03b9a045334a94080339..0cf483a135a65ac8139d0eb7a6e4c238b9517af0 100644 GIT binary patch delta 10 RcmZo-Y+_{M;F!qN000Zg0xSRk delta 10 RcmZo-Y+_{M;GM|S000Z!0xX|fQf^nk*Sr5v6Tr(GEZe<$p8Rc;RYxG delta 24 ecmaFWAn>X|fQf^*k*Sr5v6Tr(GEZe<$p8RdF$OIF diff --git a/validation/operations/mul/after_conv/mul_after_conv.onnx b/validation/operations/mul/after_conv/mul_after_conv.onnx index 8c88597e2dcb03a90df29d74d6c44eeb48510a9e..57cde8e0c45b13101f6c4e5c0ab6e25fa7c5b28e 100644 GIT binary patch delta 11 ScmX@Ze1@5cgJUDpDMkPk_5&{f delta 11 ScmX@Ze1@5cgLfm-DMkPl4+As+ diff --git a/validation/operations/mul/basic/mul_basic.onnx b/validation/operations/mul/basic/mul_basic.onnx index 589c035b3c308d5a927a7a0bba0d9610add9cd26..cb2f167121975729be315e572c9d3fbc3c1ab237 100644 GIT binary patch delta 8 PcmYdEVdCJJ$dm*C2vGsh delta 8 PcmYdEVdCJO$dm*C2xS4) diff --git a/validation/operations/mul/channel_broadcast_1024/mul_channel_broadcast_1024.onnx b/validation/operations/mul/channel_broadcast_1024/mul_channel_broadcast_1024.onnx index e9712055c90a9762077cefb7a6750fe46a87fefa..8454cf04918fe5e8516f7d06adbd6de0c56637b8 100644 GIT binary patch delta 10 RcmbQpIFXTwgJU97KL8Bo0$Bh6 delta 10 RcmbQpIFXTwgLfiRKL8B+0$u|kW#;F!qN1^^5@0zLo$ delta 10 RcmeBR>|kW#;GM|S1^^6C0z&`* diff --git a/validation/operations/mul/scalar_constant/mul_scalar_constant.onnx b/validation/operations/mul/scalar_constant/mul_scalar_constant.onnx index 600cf8b755dc9f5a7a149830d23f89aeebe267af..f19ba6b3240faee3badd734b62671910331c4c4d 100644 GIT binary patch delta 8 Pcmd1EVB+AI$dm>E2$2EY delta 8 Pcmd1EVB+AN$dm>E2&Dnx diff --git a/validation/operations/pool/avg_basic/avgpool_basic.onnx b/validation/operations/pool/avg_basic/avgpool_basic.onnx index 69a1b8a9928b2695c36ed10fe5ad285ea44f421f..2f0330522fd48464a58411d6acce202599bfad65 100644 GIT binary patch delta 10 RcmZ3=xRjBJgJUAoVgL?e0+j#& delta 10 RcmZ3=xRjBJgLfj+VgL?y0-68- diff --git a/validation/operations/pool/avg_ceil_mode/avgpool_ceil_mode.onnx b/validation/operations/pool/avg_ceil_mode/avgpool_ceil_mode.onnx index 723e8ec0f6e4d46fc793b2b3e862c228390f5fe8..1219ea51fc0080afe1b0ae452ce0498646f3f896 100644 GIT binary patch delta 10 RcmdnZxSNrQgJUAoP5=-D0@nZl delta 10 RcmdnZxSNrQgLfj+P5=-X0^9%q diff --git a/validation/operations/pool/avg_explicit_padding/avgpool_explicit_padding.onnx b/validation/operations/pool/avg_explicit_padding/avgpool_explicit_padding.onnx index edc1f1fc1173715e9c5d6cc5b16d2ecbdd527f4e..4cd2f83aa972e43db39b2303f9937e1d2797f023 100644 GIT binary patch delta 10 RcmX@bc#4sUgJUAo2>=lx0|Wp7 delta 10 RcmX@bc#4sUgLfj+2>=l_0|@{C diff --git a/validation/operations/pool/avg_include_pad/avgpool_include_pad.onnx b/validation/operations/pool/avg_include_pad/avgpool_include_pad.onnx index 1a1a72698508bed917b17349602931b88a8173c9..7a6ec6d08335b398c816128603c26cc151648220 100644 GIT binary patch delta 10 RcmX@gc$ATegJUAoVE_=q0`&j@ delta 10 RcmX@gc$ATegLfj+VE_=;0{Q>| diff --git a/validation/operations/pool/avg_large_channels/avgpool_large_channels.onnx b/validation/operations/pool/avg_large_channels/avgpool_large_channels.onnx index 254c3c6285a83ec251d2e18aa92873c505a163f0..acf9bb6b791f97a466dd04242207495ec0272d35 100644 GIT binary patch delta 10 RcmdnMxPg(0gJUAoIsgwd0=57E delta 10 RcmdnMxPg(0gLfj+Isgwx0=obJ diff --git a/validation/operations/pool/avg_non_uniform_stride/avgpool_non_uniform_stride.onnx b/validation/operations/pool/avg_non_uniform_stride/avgpool_non_uniform_stride.onnx index e3c0116c4c9e83c3b40b57251f9c64f7d38c3e09..3eabba6aa67e92e6c43c71232a62438b7e81bbb3 100644 GIT binary patch delta 10 RcmdnQxQUU8gJUAo1^^FP0=xhK delta 10 RcmdnQxQUU8gLfj+1^^Fj0>J

ocn0~r7S delta 10 Rcmcb}c#)BbgLfj+c>oc*10DbX diff --git a/validation/operations/pool/max_after_conv/maxpool_after_conv.onnx b/validation/operations/pool/max_after_conv/maxpool_after_conv.onnx index da540622ee0f5af17a9a9529cf90e6196f7edff8..34a796f16b127f8c02642f6039bceb88795dc5aa 100644 GIT binary patch delta 11 ScmdnSx{Z~IgJUDp7A61_Hv;ki delta 11 ScmdnSx{Z~IgLfm-7A61_Py+V= diff --git a/validation/operations/pool/max_basic/maxpool_basic.onnx b/validation/operations/pool/max_basic/maxpool_basic.onnx index cd248ba6e012ef2df068b0a746b70e76e5a3b3ab..8c891b08576f98cd97462f42a93cd9cc1e9abc85 100644 GIT binary patch delta 10 RcmZ3;xR8;FgJUAod;ks>0*L?s delta 10 RcmZ3;xR8;FgLfj+d;ktA0*(Lx diff --git a/validation/operations/pool/max_ceil_mode/maxpool_ceil_mode.onnx b/validation/operations/pool/max_ceil_mode/maxpool_ceil_mode.onnx index fc4b590ed0154ee17e869c0c3417d20d2037e74b..e477d69328bc1e3ef768d27a908a5f3f430ddbe6 100644 GIT binary patch delta 10 RcmdnaxSf%SgJUAoRsavU0?PmZ delta 10 RcmdnaxSf%SgLfj+Rsavo0?+^e diff --git a/validation/operations/pool/max_global_style_kernel_equals_input/maxpool_global_style_kernel_equals_input.onnx b/validation/operations/pool/max_global_style_kernel_equals_input/maxpool_global_style_kernel_equals_input.onnx index 1d839619fa085c8e2a74d8fbd526d08ea578e6d8..77be0f67705c790d95153ee1d00868d151f3fb1a 100644 GIT binary patch delta 10 RcmdnPxQCI6gJUAoE&vc00@?ro delta 10 RcmdnPxQCI6gLfj+E&vcK0^a}t diff --git a/validation/operations/pool/max_non_square_kernel/maxpool_non_square_kernel.onnx b/validation/operations/pool/max_non_square_kernel/maxpool_non_square_kernel.onnx index 4feb046d362de8324bfce76a515e23af732e744e..c82f31b81a66cf5d457c3d9b47fdc9dc614a8a88 100644 GIT binary patch delta 10 RcmZ3>xR#NLgJUAoY5)%U0<8c5 delta 10 RcmZ3>xR#NLgLfj+Y5)%o01zN delta 10 RcmdnYxS5fOgLfj+MgR|h0>l6S diff --git a/validation/operations/pool/max_same_upper/maxpool_same_upper.onnx b/validation/operations/pool/max_same_upper/maxpool_same_upper.onnx index 37c081978f8681c7c0ebc9e2ab242556f2225a22..e350bee88e335ad7e7a8080c83e88cbf2cb2d630 100644 GIT binary patch delta 10 RcmZ3-xQ>yDgJUAo8UPOs0yDgLfj+8UPO=0<{1D diff --git a/validation/operations/pool/max_stride2_multichannel/maxpool_stride2_multichannel.onnx b/validation/operations/pool/max_stride2_multichannel/maxpool_stride2_multichannel.onnx index 77745c3e4ca239f30cfc5426fec5a0be3b57aee7..b627a3a64382d010e54f8f9d93aa7164b59820e9 100644 GIT binary patch delta 10 RcmdnMxPg(0gJUAoIsgwd0=57E delta 10 RcmdnMxPg(0gLfj+Isgwx0=obJ diff --git a/validation/operations/reduce_mean/4d_spatial/reduce_mean_4d_spatial.onnx b/validation/operations/reduce_mean/4d_spatial/reduce_mean_4d_spatial.onnx index 4658251bcc8075d41ab127d581daabae3fed6223..e496fefccdaf7b7f33b2e7760ea98ee43fbc803b 100644 GIT binary patch delta 10 RcmbQhIDwIggJU979{>!~0#*P3 delta 10 RcmbQhIDwIggLfiR9{>#J0$Tt8 diff --git a/validation/operations/reduce_mean/4d_spatial_keepdims_0/reduce_mean_4d_spatial_keepdims_0.onnx b/validation/operations/reduce_mean/4d_spatial_keepdims_0/reduce_mean_4d_spatial_keepdims_0.onnx index c642f07492e40a8a77557fa24eec2c7be00c28c9..8a8ffeee5fc3270c17667cc439f3dd7a0e1c7aa5 100644 GIT binary patch delta 10 RcmbQtIGK@&gJUAoL;wv80$%_C delta 10 RcmbQtIGK@&gLfj+L;wvS0%QOH diff --git a/validation/operations/reduce_mean/after_conv/reduce_mean_after_conv.onnx b/validation/operations/reduce_mean/after_conv/reduce_mean_after_conv.onnx index deac445368a2ab44a9e3612f2ac45013f2060579..c20be96bfb764da251e6ede05dbcce3ede39ecf2 100644 GIT binary patch delta 11 Scmcb|e2|kW#;F!qN1^^5@0zLo$ delta 10 RcmeBR>|kW#;GM|S1^^6C0z&`* diff --git a/validation/operations/reduce_mean/negative_axis/reduce_mean_negative_axis.onnx b/validation/operations/reduce_mean/negative_axis/reduce_mean_negative_axis.onnx index 839e320c60148cfc69229978ba0ad89b5ac80c79..ac237a4d9d56b9ebb74b648cb0c886873cd258f2 100644 GIT binary patch delta 10 RcmbQlIEj&ogJUAo1ON>A0$cz9 delta 10 RcmbQlIEj&ogLfj+1ON>U0$~6E diff --git a/validation/operations/relu/4d/relu_4d.onnx b/validation/operations/relu/4d/relu_4d.onnx index 3d62ef7bb385607ad49bb67000cf74f3a1e308e3..207f02c2bcb5999b908aec0c6173528941436c00 100644 GIT binary patch delta 8 Pcma!!X5!$O$P@_x2f+cg delta 8 Pcma!!X5!$T$P@_x2h{<( diff --git a/validation/operations/relu/after_conv/relu_after_conv.onnx b/validation/operations/relu/after_conv/relu_after_conv.onnx index d2cb581926919a32ccec06d156bb1ff8e0cd96c0..5d4d48166ba2a26b7505a401164269d266aa3a9b 100644 GIT binary patch delta 11 ScmdnQyos5KgJUDp21Wo9x&q+< delta 11 ScmdnQyos5KgLfm-21Wo9(*ouI diff --git a/validation/operations/relu/after_gemm/relu_after_gemm.onnx b/validation/operations/relu/after_gemm/relu_after_gemm.onnx index 0c8091544b8acdf66632ad5461ad18630eb009be..187e679ac563cdd2015e0b6e4d5011c2151fd244 100644 GIT binary patch delta 11 ScmZp1YH?!X;MmB-qzC{KR04GX delta 11 ScmZp1YH?!X;N8f?qzC{KZ321# diff --git a/validation/operations/relu/basic/relu_basic.onnx b/validation/operations/relu/basic/relu_basic.onnx index 119f330c4917001e28343dc514e920b9b046ed1e..6c28335ebff40bb0bcb9d49254f7256454bf3219 100644 GIT binary patch delta 8 PcmebCW8&bL$m9b62Jr!o delta 8 PcmebCW8&bQ$m9b62L%C> diff --git a/validation/operations/reshape/4d_to_2d_flatten/reshape_4d_to_2d_flatten.onnx b/validation/operations/reshape/4d_to_2d_flatten/reshape_4d_to_2d_flatten.onnx index 41b9c7addeb46708f64070249bf1f774bc294b85..25a997f025fc83fa9ba578a0c62ae0fc2a0b7c72 100644 GIT binary patch delta 10 RcmeBU>||}6!);F!qN4FC+90!;t_ delta 10 RcmeBW>}6!);GM|S4FC+T0#X0~ diff --git a/validation/operations/reshape/same_rank/reshape_same_rank.onnx b/validation/operations/reshape/same_rank/reshape_same_rank.onnx index 7942128efe1b704fa0d51f71dcd0e63170995efe..c21243c8fc31b986781fd0cfb1cba46003deebab 100644 GIT binary patch delta 8 Pcmb=cW8&bL$W#LW3Go6R delta 8 Pcmb=cW8&bQ$W#LW3Izfq diff --git a/validation/operations/reshape/zero_copies_input_dim/reshape_zero_copies_input_dim.onnx b/validation/operations/reshape/zero_copies_input_dim/reshape_zero_copies_input_dim.onnx index 45e09ddbf787d1097b3b21a9f558bfc72d6573d3..3066125212b50808ab97ccd1ea4c1c7b5416c11d 100644 GIT binary patch delta 10 RcmeBY>}O=+;F!qN3jhqj0#g70 delta 10 RcmeBY>}O=+;GM|S3jhq%0$2b5 diff --git a/validation/operations/resize/height_only/resize_height_only.onnx b/validation/operations/resize/height_only/resize_height_only.onnx index 53bad984be33c1f0a4e11939cbfb0b09a1a6c6fe..aeff0ee970f89f6e65cc11d21fe5a52d4f990aac 100644 GIT binary patch delta 10 RcmZo-YGPvI;8@7S2mlL;0lxqM delta 10 RcmZo-YGPvI;9bbX2mlM70mJ|R diff --git a/validation/operations/resize/nearest_2x/resize_nearest_2x.onnx b/validation/operations/resize/nearest_2x/resize_nearest_2x.onnx index b4b8f5f94d07928212c1652fc5baa154ed1a7abf..aa9be45d3437749d64591a78a07742d78c02e439 100644 GIT binary patch delta 10 RcmZozS0;>Q3 delta 10 RcmZozm0SSW#;MmB-&IkYwA_3$8 delta 11 ScmeBV>SSW#;N8f?&IkYwI|1nc diff --git a/validation/operations/resize/non_uniform/resize_non_uniform.onnx b/validation/operations/resize/non_uniform/resize_non_uniform.onnx index 9003cee58e57d85aca252e8e4f4408de3d82802e..3cf7aaa961e00c28a231eea18126791c00119fa5 100644 GIT binary patch delta 11 ScmeBT>SAKz;MmB-!3Y2jI05GX delta 11 ScmeBT>SAKz;N8f?!3Y2jQ331# diff --git a/validation/operations/resize/width_only/resize_width_only.onnx b/validation/operations/resize/width_only/resize_width_only.onnx index cf6844df4b4964d7b95614fe7a220edef3c511d2..d5baab2f9628ab1c1dbe842ac79150016c4b1117 100644 GIT binary patch delta 10 RcmZozS0;>Q3 delta 10 RcmZozm0jD7) diff --git a/validation/operations/sigmoid/4d/sigmoid_4d.onnx b/validation/operations/sigmoid/4d/sigmoid_4d.onnx index b0fb523812c17e01d89e961e3685680d2bd60410..12fa3d5dcebe9b79ca0153fdfc2d8e752d85625b 100644 GIT binary patch delta 8 PcmYdHWa8kM$P^C%2q6K- delta 8 PcmYdHWa8kR$P^C%2sHuB diff --git a/validation/operations/sigmoid/after_gemm/sigmoid_after_gemm.onnx b/validation/operations/sigmoid/after_gemm/sigmoid_after_gemm.onnx index 58245f171e0395cbfe89be5d241b5f9712dd1187..7226e5433a4dfd99669f3c3578cd01ec37e46585 100644 GIT binary patch delta 11 ScmeBj>T+V@;MmB-p$GsH*aC+D delta 11 ScmeBj>T+V@;N8f?p$GsH@dAth diff --git a/validation/operations/sigmoid/basic/sigmoid_basic.onnx b/validation/operations/sigmoid/basic/sigmoid_basic.onnx index 977731e791112f1a4e358a8f91becbd08eb57f1a..408ff604a072a142b70a15634a954666eeb9be58 100644 GIT binary patch delta 8 PcmWFuVdCJJ$P@$s2T=i_ delta 8 PcmWFuVdCJO$P@$s2W0`J diff --git a/validation/operations/slice/2d_basic/slice_2d_basic.onnx b/validation/operations/slice/2d_basic/slice_2d_basic.onnx index 64093870ac638546a157fce2a8085b3f9bbf3bd8..1e1de62a8a27d932d043bbd603d6b6d3421706a3 100644 GIT binary patch delta 10 RcmaFG_==HS_Q delta 10 RcmdnOxP_64gLfj+CIAnU0>=OV diff --git a/validation/operations/slice/nonzero_channel_offset_add/slice_nonzero_channel_offset_add.onnx b/validation/operations/slice/nonzero_channel_offset_add/slice_nonzero_channel_offset_add.onnx new file mode 100644 index 0000000000000000000000000000000000000000..246298d618803c095045ce58bd9e45527cae4c37 GIT binary patch literal 307 zcmdyrNYG+!Np!&l2}wyY{12unwJ8kSQ0Bzi-nki4U|}eb25`tQB)a1R2jlm z8NyTvZ~?Udv7r!Sq!P1ZN{Wy|F-UuSUVdIxYEgcCaz5|L;UOdts-7A^(>UI2TpI41xA literal 0 HcmV?d00001 diff --git a/validation/operations/slice/nonzero_channel_offset_mul/slice_nonzero_channel_offset_mul.onnx b/validation/operations/slice/nonzero_channel_offset_mul/slice_nonzero_channel_offset_mul.onnx new file mode 100644 index 0000000000000000000000000000000000000000..67167af021de1ac1992f3fd63a2a56f137528e35 GIT binary patch literal 307 zcmdyrNYG+!Np!&l2}wyY{12unwJ8kSQ0Bzi-nki4U|}eb25`tQB)a1R2jlm z8NyTvZ~?Udv7r!Sq!P1lX^xOWF-UuSUVdIxYEgcCaz5|L;UOdts-7A^(>UI4RzIB@^~ literal 0 HcmV?d00001 diff --git a/validation/operations/slice/nonzero_channel_offset_sub/slice_nonzero_channel_offset_sub.onnx b/validation/operations/slice/nonzero_channel_offset_sub/slice_nonzero_channel_offset_sub.onnx new file mode 100644 index 0000000000000000000000000000000000000000..7cff575e650ca2f489d8b4fd17bb2a76769bf50e GIT binary patch literal 307 zcmZ9HKMR8}5XDUz@dz!1(BfL8lapCHI=Z^FT|{l91&Lr3N;CyFlA(_P+nI-;&rchgAzlA7Z*3f#1QmU2aji4s3bSc*|IVk9`a2Ai}m_)!nz znQGKqwoO((a;0RQHC3f$m+8I;eL&2M?EwimbA^X7m<~z+TYJTeMX=zFO)S43*NhJ( gfM)mRo3A;i3=rQ^49JKWvBCt`zW@(GOsKkW59mX9X{{(2_zC&$ zBgq|Ot0#pekR9|)nOsUEprg+UHz&Di!)YYEPLyY<{;_0j$&V!)YXmfs7{TdQcZU?Q8~o$Tufms)*lGN6bxk#tkdZe%OmT9YgUbjX U0A&Q@VB8}X_WufN2U_m%1w7e9FaQ7m literal 0 HcmV?d00001 diff --git a/validation/operations/softmax/3d_last_axis/softmax_3d_last_axis.onnx b/validation/operations/softmax/3d_last_axis/softmax_3d_last_axis.onnx index 08ffdb83e35268f9b49a824898bf576d8fa16100..eb942e4b8f102de882c13740bd50898436e196ae 100644 GIT binary patch delta 8 PcmXRYVB+AI$dm^F2@wJG delta 8 PcmXRYVB+AN$dm^F2_*sf diff --git a/validation/operations/softmax/basic/softmax_basic.onnx b/validation/operations/softmax/basic/softmax_basic.onnx index 689313b6c6c4e1a9ca2fdf54ed229fa9161e5054..89c9197fa46978bddbdc0ae0013575a301a31566 100644 GIT binary patch delta 8 PcmYdHWa8kM$P^C%2q6K- delta 8 PcmYdHWa8kR$P^C%2sHuB diff --git a/validation/operations/softmax/channel_axis/softmax_channel_axis.onnx b/validation/operations/softmax/channel_axis/softmax_channel_axis.onnx index 7bb2f9061fdd66769ac1cda79ae34b1ce42a6c16..7561af8dcc25055d54c56ac3eee391f90e00bddb 100644 GIT binary patch delta 8 Pcmb=ZVB+AI$W#UZ36TN} delta 8 Pcmb=ZVB+AN$W#UZ38exN diff --git a/validation/operations/softmax/large_dimension_1024/softmax_large_dimension_1024.onnx b/validation/operations/softmax/large_dimension_1024/softmax_large_dimension_1024.onnx index 1e0be18aed364e2e1b03aa3d27fa50434e33f314..8c1a18825aecf940851100af82142bb7e0e6344f 100644 GIT binary patch delta 8 PcmXRaV&dSK$W#CT2{8fs delta 8 PcmXRaV&dSP$W#CT2}J?_ diff --git a/validation/operations/softmax/negative_axis/softmax_negative_axis.onnx b/validation/operations/softmax/negative_axis/softmax_negative_axis.onnx index 77a07d8ccf1e44f624478a7b9dabfdad31236fb1..121f846e738038837ed6646b60fc60572bcf4d64 100644 GIT binary patch delta 8 Pcmb=bV&dSK$W#FU39$ka delta 8 Pcmb=bV&dSP$W#FU3B>{z diff --git a/validation/operations/split/basic/split_basic.onnx b/validation/operations/split/basic/split_basic.onnx index 22ddd19ee6fb6e889e49669af4f8e9225a3e65a5..fd0a29f70b02a0386aea05523d4df45cae08967b 100644 GIT binary patch delta 10 RcmZ3$xPXy~gJUAoJOB;@0)_wp delta 10 RcmZ3$xPXy~gLfj+JOB|tc$;F!qN1po|(0!jb? delta 10 RcmeBS>|tc$;GM|S1po}20#5({ diff --git a/validation/operations/sub/leading_dimension_broadcast/sub_leading_dimension_broadcast.onnx b/validation/operations/sub/leading_dimension_broadcast/sub_leading_dimension_broadcast.onnx index b757a010ff5cda8299b95c7ba7f5386279cfd27c..4f07e4ad208030ee3d3fda7a4421502c88e93794 100644 GIT binary patch delta 10 RcmeBR>|kW#;F!qN1^^5@0zLo$ delta 10 RcmeBR>|kW#;GM|S1^^6C0z&`*