| 1482 | } |
| 1483 | |
| 1484 | void checker_conv_bias_common( |
| 1485 | std::vector<conv_bias::TestArg> args, Handle* handle, RNG* rng, float epsilon, |
| 1486 | DType type0, DType type1, DType type2, DType type3, const char* algo_name) { |
| 1487 | using namespace conv_bias; |
| 1488 | |
| 1489 | Checker<ConvBias> checker(handle); |
| 1490 | checker.set_before_exec_callback( |
| 1491 | conv_bias::ConvBiasAlgoChecker<ConvBias>(algo_name)); |
| 1492 | checker.set_dtype(0, type0); |
| 1493 | checker.set_dtype(1, type1); |
| 1494 | checker.set_dtype(2, type2); |
| 1495 | checker.set_dtype(4, type3); |
| 1496 | checker.set_epsilon(epsilon); |
| 1497 | if (NULL != rng) { |
| 1498 | checker.set_rng(0, rng).set_rng(1, rng).set_rng(2, rng).set_rng(3, rng); |
| 1499 | } |
| 1500 | for (auto&& arg : args) { |
| 1501 | checker.set_param(arg.param).execs({arg.src, arg.filter, arg.bias, {}, {}}); |
| 1502 | } |
| 1503 | } |
| 1504 | |
| 1505 | void checker_conv_bias_mul_int8x8x32( |
| 1506 | std::vector<conv_bias::TestArg> args, Handle* handle, const char* algo_name) { |