1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-31 08:13:04 +04:00

Merge pull request #29560 from abhishek-gola:update_conformance_test_list

Updated ONNX conformance list #29560

updated ONNX conformance list with onnx version = 1.22.0

Current ONNX coverage in OpenCV ENGINE_NEW is now **72.1%**
 
Merge with: https://github.com/opencv/opencv_extra/pull/1398 
### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
This commit is contained in:
Abhishek Gola
2026-07-23 13:13:35 +05:30
committed by GitHub
parent 8d69623051
commit c42778a0e8
7 changed files with 389 additions and 6 deletions
+17 -4
View File
@@ -118,8 +118,16 @@ namespace
ushort* out = dst_bits.ptr<ushort>(r);
for (int i = 0; i < cols_x_cn; ++i)
{
// float32 -> bfloat16 with round-to-nearest-even (matches ONNX).
Cv32suf u; u.f = in[i];
out[i] = (ushort)(u.u >> 16);
const uint32_t x = u.u;
if ((x & 0x7fffffffu) > 0x7f800000u) // NaN: keep it NaN
out[i] = (ushort)((x >> 16) | 0x0040u);
else
{
const uint32_t bias = 0x7fffu + ((x >> 16) & 1u);
out[i] = (ushort)((x + bias) >> 16);
}
}
}
return;
@@ -210,7 +218,6 @@ public:
const int in0CN = in0Type >= 0 ? CV_MAT_CN(in0Type) : 1;
int planDepth = targetDepth;
if (planDepth == CV_16F) planDepth = CV_32F;
if (planDepth == CV_16BF) planDepth = CV_16U;
const int outType = CV_MAKETYPE(planDepth, in0CN);
outputs.assign(1, outType);
}
@@ -243,6 +250,13 @@ public:
return false;
}
// bf16 needs the float->bfloat16 bit reduction; a plain OpenCL convertTo
// would numerically round instead. Fall back to the CPU path.
if (runtimeTargetDepth == CV_16BF)
{
return false;
}
if (inputs[0].depth() == outputs[0].depth())
inputs[0].copyTo(outputs[0]);
else
@@ -291,8 +305,7 @@ public:
}
CV_CheckGE(runtimeTargetDepth, 0, "Cast: failed to resolve target data type at runtime");
int plannedDDepth = (runtimeTargetDepth == CV_16F) ? CV_32F :
(runtimeTargetDepth == CV_16BF ? CV_16U : runtimeTargetDepth);
int plannedDDepth = (runtimeTargetDepth == CV_16F) ? CV_32F : runtimeTargetDepth;
if (dst0.depth() != plannedDDepth)
dst0.create(dst0.size(), CV_MAKETYPE(plannedDDepth, src0.channels()));
@@ -417,7 +417,8 @@ public:
}
else if (!baseIsFloat && expIsFloat)
{
out_type = CV_32F;
// ONNX Pow output type follows the base (X): integer base -> integer output.
out_type = inputs[0];
}
else
{
+6
View File
@@ -82,6 +82,12 @@ void normAssert(
{
cv::Mat refMat = ref.getMat();
cv::Mat testMat = test.getMat();
// 16-bit float types (half / bfloat16) are compared as float32: the two-arg
// cvtest::norm requires identical types and does not down-convert them.
if (refMat.depth() == CV_16F || refMat.depth() == CV_16BF)
refMat.convertTo(refMat, CV_32F);
if (testMat.depth() == CV_16F || testMat.depth() == CV_16BF)
testMat.convertTo(testMat, CV_32F);
const cv::MatShape refShape = refMat.shape();
const cv::MatShape testShape = testMat.shape();
const bool scalar1dCompatible =
+154 -1
View File
@@ -554,7 +554,6 @@ static const TestCase testConformanceConfig[] = {
{"test_pow_bcast_array", 2, 1},
{"test_pow_bcast_scalar", 2, 1},
{"test_pow_example", 2, 1},
{"test_pow_types_float", 2, 1},
{"test_pow_types_float32_int32", 2, 1},
{"test_pow_types_float32_int64", 2, 1},
{"test_pow_types_float32_uint32", 2, 1},
@@ -1673,6 +1672,160 @@ static const TestCase testConformanceConfig[] = {
{"test_top_k_uint64", 0, 0},
{"test_unique_length_1", 0, 0},
{"test_wrap_pad", 0, 0},
// ===== ONNX 1.22 additions =====
{"test_attention_4d_softcap_neginf_mask", 4, 1},
{"test_attention_4d_softcap_neginf_mask_expanded", 4, 1},
{"test_attention_4d_softcap_neginf_mask_poison", 4, 1},
{"test_attention_4d_softcap_neginf_mask_poison_expanded", 4, 1},
{"test_bitcast_2d_float32_to_int32", 1, 1},
{"test_bitcast_bool_to_uint8", 1, 1},
{"test_bitcast_float32_to_int32", 1, 1},
{"test_bitcast_float64_to_int64", 1, 1},
{"test_bitcast_int32_to_float32", 1, 1},
{"test_bitcast_int64_to_float64", 1, 1},
{"test_bitcast_int8_to_uint8", 1, 1},
{"test_bitcast_scalar_float32_to_int32", 1, 1},
{"test_bitcast_uint16_to_int16", 1, 1},
{"test_bitcast_uint32_to_int32", 1, 1},
{"test_cast_FLOAT16_to_INT2", 1, 1},
{"test_cast_FLOAT16_to_UINT2", 1, 1},
{"test_cast_FLOAT_to_INT2", 1, 1},
{"test_cast_FLOAT_to_UINT2", 1, 1},
{"test_cast_INT2_to_FLOAT", 1, 1},
{"test_cast_INT2_to_FLOAT16", 1, 1},
{"test_cast_INT2_to_INT8", 1, 1},
{"test_cast_UINT2_to_FLOAT", 1, 1},
{"test_cast_UINT2_to_FLOAT16", 1, 1},
{"test_cast_UINT2_to_UINT8", 1, 1},
{"test_castlike_FLOAT16_to_INT2", 2, 1},
{"test_castlike_FLOAT16_to_INT2_expanded", 2, 1},
{"test_castlike_FLOAT16_to_UINT2", 2, 1},
{"test_castlike_FLOAT16_to_UINT2_expanded", 2, 1},
{"test_castlike_FLOAT_to_INT2", 2, 1},
{"test_castlike_FLOAT_to_INT2_expanded", 2, 1},
{"test_castlike_FLOAT_to_UINT2", 2, 1},
{"test_castlike_FLOAT_to_UINT2_expanded", 2, 1},
{"test_castlike_INT2_to_FLOAT", 2, 1},
{"test_castlike_INT2_to_FLOAT16", 2, 1},
{"test_castlike_INT2_to_FLOAT16_expanded", 2, 1},
{"test_castlike_INT2_to_FLOAT_expanded", 2, 1},
{"test_castlike_INT2_to_INT8", 2, 1},
{"test_castlike_INT2_to_INT8_expanded", 2, 1},
{"test_castlike_UINT2_to_FLOAT", 2, 1},
{"test_castlike_UINT2_to_FLOAT16", 2, 1},
{"test_castlike_UINT2_to_FLOAT16_expanded", 2, 1},
{"test_castlike_UINT2_to_FLOAT_expanded", 2, 1},
{"test_castlike_UINT2_to_UINT8", 2, 1},
{"test_castlike_UINT2_to_UINT8_expanded", 2, 1},
{"test_castlike_no_saturate_FLOAT_to_FLOAT8E4M3FNUZ_expanded", 2, 1},
{"test_castlike_no_saturate_FLOAT_to_FLOAT8E4M3FN_expanded", 2, 1},
{"test_causal_conv_with_state_b1_c1_degenerate", 2, 2},
{"test_causal_conv_with_state_b1_c1_degenerate_expanded", 2, 2},
{"test_causal_conv_with_state_basic", 2, 2},
{"test_causal_conv_with_state_basic_expanded", 2, 2},
{"test_causal_conv_with_state_decode_step", 4, 2},
{"test_causal_conv_with_state_decode_step_expanded", 4, 2},
{"test_causal_conv_with_state_fp16", 2, 2},
{"test_causal_conv_with_state_fp16_expanded", 2, 2},
{"test_causal_conv_with_state_kernel_size_one", 2, 2},
{"test_causal_conv_with_state_kernel_size_one_expanded", 2, 2},
{"test_causal_conv_with_state_short_input_no_past_state", 2, 2},
{"test_causal_conv_with_state_short_input_no_past_state_expanded", 2, 2},
{"test_causal_conv_with_state_silu", 2, 2},
{"test_causal_conv_with_state_silu_expanded", 2, 2},
{"test_causal_conv_with_state_silu_fp16", 2, 2},
{"test_causal_conv_with_state_silu_fp16_expanded", 2, 2},
{"test_causal_conv_with_state_silu_with_past_state", 3, 2},
{"test_causal_conv_with_state_silu_with_past_state_expanded", 3, 2},
{"test_causal_conv_with_state_swish_alias", 2, 2},
{"test_causal_conv_with_state_swish_alias_expanded", 2, 2},
{"test_causal_conv_with_state_with_bias", 3, 2},
{"test_causal_conv_with_state_with_bias_and_past_state", 4, 2},
{"test_causal_conv_with_state_with_bias_and_past_state_expanded", 4, 2},
{"test_causal_conv_with_state_with_bias_expanded", 3, 2},
{"test_causal_conv_with_state_with_past_state", 3, 2},
{"test_causal_conv_with_state_with_past_state_expanded", 3, 2},
{"test_cumprod_1d", 2, 1},
{"test_cumprod_1d_exclusive", 2, 1},
{"test_cumprod_1d_int32_exclusive", 2, 1},
{"test_cumprod_1d_reverse", 2, 1},
{"test_cumprod_1d_reverse_exclusive", 2, 1},
{"test_cumprod_2d_axis_0", 2, 1},
{"test_cumprod_2d_axis_1", 2, 1},
{"test_cumprod_2d_int32", 2, 1},
{"test_cumprod_2d_negative_axis", 2, 1},
{"test_dequantizelinear_int2", 3, 1},
{"test_dequantizelinear_uint2", 3, 1},
{"test_dft_irfft", 2, 1},
{"test_dft_irfft_opset19", 1, 1},
{"test_dft_rfft", 2, 1},
{"test_dft_rfft_opset19", 1, 1},
{"test_div_int32_trunc", 2, 1},
{"test_flexattention", 3, 1},
{"test_flexattention_causal_mask", 3, 1},
{"test_flexattention_causal_mask_expanded_ver26", 3, 1},
{"test_flexattention_diff_head_sizes", 3, 1},
{"test_flexattention_diff_head_sizes_expanded_ver26", 3, 1},
{"test_flexattention_double", 3, 1},
{"test_flexattention_double_expanded_ver26", 3, 1},
{"test_flexattention_expanded_ver26", 3, 1},
{"test_flexattention_fp16", 3, 1},
{"test_flexattention_fp16_expanded_ver26", 3, 1},
{"test_flexattention_gqa", 3, 1},
{"test_flexattention_gqa_expanded_ver26", 3, 1},
{"test_flexattention_prob_mod", 3, 1},
{"test_flexattention_prob_mod_expanded_ver26", 3, 1},
{"test_flexattention_relative_positional", 3, 1},
{"test_flexattention_relative_positional_expanded_ver26", 3, 1},
{"test_flexattention_scaled", 3, 1},
{"test_flexattention_scaled_expanded_ver26", 3, 1},
{"test_flexattention_score_mod", 3, 1},
{"test_flexattention_score_mod_expanded_ver26", 3, 1},
{"test_flexattention_soft_cap", 3, 1},
{"test_flexattention_soft_cap_expanded_ver26", 3, 1},
{"test_linear_attention_decode_step", 6, 2},
{"test_linear_attention_decode_step_expanded", 6, 2},
{"test_linear_attention_delta", 4, 2},
{"test_linear_attention_delta_expanded", 4, 2},
{"test_linear_attention_explicit_scale", 5, 2},
{"test_linear_attention_explicit_scale_expanded", 5, 2},
{"test_linear_attention_fp16", 5, 2},
{"test_linear_attention_fp16_expanded", 5, 2},
{"test_linear_attention_gated", 4, 2},
{"test_linear_attention_gated_delta", 5, 2},
{"test_linear_attention_gated_delta_beta_scalar", 5, 2},
{"test_linear_attention_gated_delta_beta_scalar_expanded", 5, 2},
{"test_linear_attention_gated_delta_expanded", 5, 2},
{"test_linear_attention_gated_delta_gqa", 5, 2},
{"test_linear_attention_gated_delta_gqa_expanded", 5, 2},
{"test_linear_attention_gated_delta_mqa", 5, 2},
{"test_linear_attention_gated_delta_mqa_expanded", 5, 2},
{"test_linear_attention_gated_expanded", 4, 2},
{"test_linear_attention_gated_per_head_decay", 4, 2},
{"test_linear_attention_gated_per_head_decay_expanded", 4, 2},
{"test_linear_attention_linear", 3, 2},
{"test_linear_attention_linear_expanded", 3, 2},
{"test_linear_attention_linear_t1_no_past", 3, 2},
{"test_linear_attention_linear_t1_no_past_expanded", 3, 2},
{"test_linear_attention_no_past_explicit_zeros", 6, 2},
{"test_linear_attention_no_past_explicit_zeros_expanded", 6, 2},
{"test_linear_attention_prefill_with_past", 6, 2},
{"test_linear_attention_prefill_with_past_expanded", 6, 2},
{"test_matmul_1d_1d", 2, 1},
{"test_matmul_1d_3d", 2, 1},
{"test_matmul_4d_1d", 2, 1},
{"test_matmul_bcast", 2, 1},
{"test_nonmaxsuppression_iou_threshold_boundary", 5, 1},
{"test_quantizelinear_int2", 3, 1},
{"test_quantizelinear_uint2", 3, 1},
{"test_range_bfloat16_type_positive_delta", 3, 1},
{"test_range_bfloat16_type_positive_delta_expanded", 3, 1},
{"test_range_float16_type_positive_delta", 3, 1},
{"test_range_float16_type_positive_delta_expanded", 3, 1},
{"test_scan9_multi_state", 3, 3},
{"test_scan9_scalar", 2, 2},
{"test_scatter_elements_with_reduction_mul", 3, 1},
};
@@ -3326,6 +3326,52 @@ CASE(test_attention_4d_with_qk_matmul_softmax)
SKIP;
CASE(test_attention_4d_with_qk_matmul_softmax_expanded)
SKIP;
// ONNX 1.22 additions: unsupported on OpenVINO
CASE(test_dft_rfft)
SKIP;
CASE(test_nonmaxsuppression_iou_threshold_boundary)
SKIP;
CASE(test_attention_4d_softcap_neginf_mask_expanded)
SKIP;
CASE(test_attention_4d_softcap_neginf_mask_poison_expanded)
SKIP;
CASE(test_causal_conv_with_state_b1_c1_degenerate_expanded)
SKIP;
CASE(test_causal_conv_with_state_basic_expanded)
SKIP;
CASE(test_causal_conv_with_state_decode_step_expanded)
SKIP;
CASE(test_causal_conv_with_state_kernel_size_one_expanded)
SKIP;
CASE(test_causal_conv_with_state_short_input_no_past_state_expanded)
SKIP;
CASE(test_causal_conv_with_state_silu_expanded)
SKIP;
CASE(test_causal_conv_with_state_silu_with_past_state_expanded)
SKIP;
CASE(test_causal_conv_with_state_swish_alias_expanded)
SKIP;
CASE(test_causal_conv_with_state_with_bias_and_past_state_expanded)
SKIP;
CASE(test_causal_conv_with_state_with_bias_expanded)
SKIP;
CASE(test_causal_conv_with_state_with_past_state_expanded)
SKIP;
CASE(test_flexattention_scaled_expanded_ver26)
SKIP;
CASE(test_range_bfloat16_type_positive_delta)
SKIP;
CASE(test_range_float16_type_positive_delta)
SKIP;
CASE(test_dft_rfft_opset19)
SKIP;
CASE(test_div_int32_trunc)
SKIP;
CASE(test_matmul_bcast)
SKIP;
CASE(test_scatter_elements_with_reduction_mul)
SKIP;
END_SWITCH()
#undef EOF_LABEL
#undef BEGIN_SWITCH
@@ -916,3 +916,21 @@
"test_attention_4d_with_qk_matmul_expanded",
"test_attention_4d_with_qk_matmul_softmax",
"test_attention_4d_with_qk_matmul_softmax_expanded",
"test_dft_rfft",
"test_nonmaxsuppression_iou_threshold_boundary",
"test_attention_4d_softcap_neginf_mask_expanded",
"test_attention_4d_softcap_neginf_mask_poison_expanded",
"test_causal_conv_with_state_b1_c1_degenerate_expanded",
"test_causal_conv_with_state_basic_expanded",
"test_causal_conv_with_state_decode_step_expanded",
"test_causal_conv_with_state_kernel_size_one_expanded",
"test_causal_conv_with_state_short_input_no_past_state_expanded",
"test_causal_conv_with_state_silu_expanded",
"test_causal_conv_with_state_silu_with_past_state_expanded",
"test_causal_conv_with_state_swish_alias_expanded",
"test_causal_conv_with_state_with_bias_and_past_state_expanded",
"test_causal_conv_with_state_with_bias_expanded",
"test_causal_conv_with_state_with_past_state_expanded",
"test_flexattention_scaled_expanded_ver26",
"test_range_bfloat16_type_positive_delta",
"test_range_float16_type_positive_delta",
@@ -331,3 +331,149 @@
"test_training_dropout_mask", // ---- same as above ---
"test_training_dropout_zero_ratio_mask", // ---- same as above ---
"test_unique_length_1", //incorrect output
// ===== ONNX 1.22 additions: ops/dtypes not yet supported by the importer =====
// BitCast op not supported by the ONNX importer
"test_bitcast_2d_float32_to_int32",
"test_bitcast_bool_to_uint8",
"test_bitcast_float32_to_int32",
"test_bitcast_float64_to_int64",
"test_bitcast_int32_to_float32",
"test_bitcast_int64_to_float64",
"test_bitcast_int8_to_uint8",
"test_bitcast_scalar_float32_to_int32",
"test_bitcast_uint16_to_int16",
"test_bitcast_uint32_to_int32",
// INT2/UINT2 (2-bit) dtype not supported
"test_cast_FLOAT16_to_INT2",
"test_cast_FLOAT16_to_UINT2",
"test_cast_FLOAT_to_INT2",
"test_cast_FLOAT_to_UINT2",
"test_cast_INT2_to_FLOAT",
"test_cast_INT2_to_FLOAT16",
"test_cast_INT2_to_INT8",
"test_cast_UINT2_to_FLOAT",
"test_cast_UINT2_to_FLOAT16",
"test_cast_UINT2_to_UINT8",
"test_castlike_FLOAT16_to_INT2",
"test_castlike_FLOAT16_to_INT2_expanded",
"test_castlike_FLOAT16_to_UINT2",
"test_castlike_FLOAT16_to_UINT2_expanded",
"test_castlike_FLOAT_to_INT2",
"test_castlike_FLOAT_to_INT2_expanded",
"test_castlike_FLOAT_to_UINT2",
"test_castlike_FLOAT_to_UINT2_expanded",
"test_castlike_INT2_to_FLOAT",
"test_castlike_INT2_to_FLOAT16",
"test_castlike_INT2_to_FLOAT16_expanded",
"test_castlike_INT2_to_FLOAT_expanded",
"test_castlike_INT2_to_INT8",
"test_castlike_INT2_to_INT8_expanded",
"test_castlike_UINT2_to_FLOAT",
"test_castlike_UINT2_to_FLOAT16",
"test_castlike_UINT2_to_FLOAT16_expanded",
"test_castlike_UINT2_to_FLOAT_expanded",
"test_castlike_UINT2_to_UINT8",
"test_castlike_UINT2_to_UINT8_expanded",
"test_dequantizelinear_int2",
"test_dequantizelinear_uint2",
"test_quantizelinear_int2",
"test_quantizelinear_uint2",
// CausalConvWithState op not supported
"test_causal_conv_with_state_b1_c1_degenerate",
"test_causal_conv_with_state_basic",
"test_causal_conv_with_state_decode_step",
"test_causal_conv_with_state_fp16",
"test_causal_conv_with_state_kernel_size_one",
"test_causal_conv_with_state_short_input_no_past_state",
"test_causal_conv_with_state_silu",
"test_causal_conv_with_state_silu_fp16",
"test_causal_conv_with_state_silu_with_past_state",
"test_causal_conv_with_state_swish_alias",
"test_causal_conv_with_state_with_bias",
"test_causal_conv_with_state_with_bias_and_past_state",
"test_causal_conv_with_state_with_past_state",
// CumProd op not supported
"test_cumprod_1d",
"test_cumprod_1d_exclusive",
"test_cumprod_1d_int32_exclusive",
"test_cumprod_1d_reverse",
"test_cumprod_1d_reverse_exclusive",
"test_cumprod_2d_axis_0",
"test_cumprod_2d_axis_1",
"test_cumprod_2d_int32",
"test_cumprod_2d_negative_axis",
// FlexAttention op not supported
"test_flexattention",
"test_flexattention_causal_mask",
"test_flexattention_diff_head_sizes",
"test_flexattention_double",
"test_flexattention_fp16",
"test_flexattention_gqa",
"test_flexattention_prob_mod",
"test_flexattention_relative_positional",
"test_flexattention_scaled",
"test_flexattention_score_mod",
"test_flexattention_soft_cap",
// LinearAttention op not supported
"test_linear_attention_decode_step",
"test_linear_attention_decode_step_expanded",
"test_linear_attention_delta",
"test_linear_attention_delta_expanded",
"test_linear_attention_explicit_scale",
"test_linear_attention_explicit_scale_expanded",
"test_linear_attention_fp16",
"test_linear_attention_fp16_expanded",
"test_linear_attention_gated",
"test_linear_attention_gated_delta",
"test_linear_attention_gated_delta_beta_scalar",
"test_linear_attention_gated_delta_beta_scalar_expanded",
"test_linear_attention_gated_delta_expanded",
"test_linear_attention_gated_delta_gqa",
"test_linear_attention_gated_delta_gqa_expanded",
"test_linear_attention_gated_delta_mqa",
"test_linear_attention_gated_delta_mqa_expanded",
"test_linear_attention_gated_expanded",
"test_linear_attention_gated_per_head_decay",
"test_linear_attention_gated_per_head_decay_expanded",
"test_linear_attention_linear",
"test_linear_attention_linear_expanded",
"test_linear_attention_linear_t1_no_past",
"test_linear_attention_linear_t1_no_past_expanded",
"test_linear_attention_no_past_explicit_zeros",
"test_linear_attention_no_past_explicit_zeros_expanded",
"test_linear_attention_prefill_with_past",
"test_linear_attention_prefill_with_past_expanded",
// Scan op not supported
"test_scan9_multi_state",
"test_scan9_scalar",
// misc unsupported (expanded subgraphs / new ops)
"test_castlike_no_saturate_FLOAT_to_FLOAT8E4M3FNUZ_expanded",
"test_castlike_no_saturate_FLOAT_to_FLOAT8E4M3FN_expanded",
"test_range_bfloat16_type_positive_delta_expanded",
"test_range_float16_type_positive_delta_expanded",
// ===== ONNX 1.22 additions: forward/accuracy not yet supported =====
// MatMul with 1-D operand not supported (requires >=2D)
"test_matmul_1d_1d",
"test_matmul_1d_3d",
"test_matmul_4d_1d",
// DFT inverse RFFT not supported
"test_dft_irfft",
"test_dft_irfft_opset19",
// Attention softcap accuracy
"test_attention_4d_softcap_neginf_mask",
"test_attention_4d_softcap_neginf_mask_poison",
// CausalConvWithState fp16 (expanded) accuracy
"test_causal_conv_with_state_fp16_expanded",
"test_causal_conv_with_state_silu_fp16_expanded",
// FlexAttention (expanded) accuracy
"test_flexattention_causal_mask_expanded_ver26",
"test_flexattention_diff_head_sizes_expanded_ver26",
"test_flexattention_double_expanded_ver26",
"test_flexattention_expanded_ver26",
"test_flexattention_fp16_expanded_ver26",
"test_flexattention_gqa_expanded_ver26",
"test_flexattention_prob_mod_expanded_ver26",
"test_flexattention_relative_positional_expanded_ver26",
"test_flexattention_score_mod_expanded_ver26",
"test_flexattention_soft_cap_expanded_ver26",