| 65 | |
| 66 | template <class Param, typename Func> |
| 67 | void test_conv_group( |
| 68 | size_t n, size_t ic, size_t oc, size_t ih, size_t iw, size_t fh, size_t fw, |
| 69 | size_t ph, size_t pw, size_t sh, size_t sw, Func func) { |
| 70 | Param param; |
| 71 | |
| 72 | size_t ow = (iw + 2 * pw - fw) / sw + 1; |
| 73 | size_t oh = (ih + 2 * ph - fh) / sh + 1; |
| 74 | |
| 75 | uint64_t computation = n * ic * oc * ow * oh * fw * fh * 2; |
| 76 | uint64_t memory = n * ic * ih * iw + oc * ic * fw * fh + n * oc * oh * ow; |
| 77 | |
| 78 | param.stride_h = sh; |
| 79 | param.stride_w = sw; |
| 80 | param.pad_h = ph; |
| 81 | param.pad_w = pw; |
| 82 | |
| 83 | run_test( |
| 84 | func, {n, ic, ih, iw}, {oc, ic, fh, fw}, {n, oc, oh, ow}, computation, |
| 85 | memory, dtype::Float32(), param); |
| 86 | }; |
| 87 | |
| 88 | template <class Param, typename Func> |
| 89 | void test_conv_bias_group_nchw4( |
nothing calls this directly
no test coverage detected