| 561 | } |
| 562 | |
| 563 | std::vector<TestArg> get_int8_nchw4_args_small_batch(size_t kernel_size) { |
| 564 | std::vector<TestArg> args; |
| 565 | param::ConvBias cur_param; |
| 566 | |
| 567 | using NLMode = param::ConvBias::NonlineMode; |
| 568 | |
| 569 | // clang-format off |
| 570 | for (auto nlmode : {NLMode::IDENTITY, NLMode::RELU, NLMode::H_SWISH}) { |
| 571 | for (auto mode : {param::ConvBias::Mode::CROSS_CORRELATION}) { |
| 572 | for (size_t b : {12, 8, 4}) { |
| 573 | for (size_t ic : {16, 32}) { |
| 574 | for (size_t oc : {16, 8, 4}) { |
| 575 | for (size_t h : {8}) { |
| 576 | for (size_t w : {8, 9, 10, 11, 12, 13, 14, 15, 16}) { |
| 577 | for (int p : {static_cast<int>(kernel_size / 2), 0}) { |
| 578 | for (size_t s : {1, 2}) { |
| 579 | size_t f = kernel_size; |
| 580 | cur_param.mode = mode; |
| 581 | cur_param.nonlineMode = nlmode; |
| 582 | |
| 583 | cur_param.format = param::ConvBias::Format::NCHW4; |
| 584 | cur_param.sparse = param::ConvBias::Sparse::DENSE; |
| 585 | cur_param.pad_h = cur_param.pad_w = p; |
| 586 | cur_param.stride_h = cur_param.stride_w = s; |
| 587 | |
| 588 | //! bias channel |
| 589 | args.emplace_back(cur_param, TensorShape{b, ic / 4, h, w, 4}, |
| 590 | TensorShape{oc, ic / 4, f, f, 4}, |
| 591 | TensorShape{1, oc / 4, 1, 1, 4}); |
| 592 | } } } } } } } } } |
| 593 | // clang-format on |
| 594 | |
| 595 | return args; |
| 596 | } |
| 597 | |
| 598 | std::vector<TestArg> get_int8_nchw4_small_channel_args(size_t kernel_size) { |
| 599 | std::vector<TestArg> args; |
no test coverage detected