| 13 | }; |
| 14 | |
| 15 | static std::vector<tensor_case> build_cases() { |
| 16 | std::vector<tensor_case> cases; |
| 17 | for (int i = 0; i < 6; ++i) { |
| 18 | char name[64], label[64]; |
| 19 | snprintf(name, sizeof(name), "fenc_layer%d_out", i); |
| 20 | snprintf(label, sizeof(label), "Fusion encoder layer %d", i); |
| 21 | // Tolerance: early layers should be tight, later layers allow more accumulation |
| 22 | float atol = (i < 3) ? 1e-4f : 2e-4f; |
| 23 | cases.push_back({name, label, atol}); |
| 24 | } |
| 25 | return cases; |
| 26 | } |
| 27 | |
| 28 | int main(int argc, char ** argv) { |
| 29 | if (argc < 3) { |