MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / get_nchw44_pool_args

Function get_nchw44_pool_args

dnn/test/arm_common/pooling_multi_thread.cpp:84–114  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

82}
83
84std::vector<std::pair<param::Pooling, TensorShapeArray>> get_nchw44_pool_args(
85 size_t filter, size_t stride) {
86 constexpr size_t ic_step = 4;
87 std::vector<std::pair<param::Pooling, TensorShapeArray>> args;
88
89 for (size_t n : {1, 2})
90 for (size_t c : {4, 8})
91 for (size_t ih : {3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13})
92 for (size_t iw : {3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13})
93 for (size_t ph : {0, 1, 2})
94 for (size_t pw : {0, 1, 2})
95 for (auto mode :
96 {param::Pooling::Mode::MAX,
97 param::Pooling::Mode::AVERAGE})
98 if (ih + 2 * ph >= filter && iw + 2 * pw >= filter &&
99 filter > ph && filter > pw) {
100 param::Pooling param;
101 param.mode = mode;
102 param.format = param::Pooling::Format::NCHW44;
103 param.pad_h = ph;
104 param.pad_w = pw;
105 param.stride_h = param.stride_w = stride;
106 param.window_h = param.window_w = filter;
107 args.emplace_back(std::make_pair(
108 param,
109 TensorShapeArray{
110 {n, c / ic_step, ih, iw, ic_step},
111 {}}));
112 }
113 return args;
114}
115
116void run_pooling_check(
117 Handle* handle, std::vector<std::pair<param::Pooling, TensorShapeArray>> args,

Callers 1

TEST_FFunction · 0.70

Calls 1

emplace_backMethod · 0.80

Tested by

no test coverage detected