MCPcopy Create free account
hub / github.com/alibaba/MNN / _PoolGrad

Function _PoolGrad

test/op/PoolGradTest.cpp:30–52  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

28 return MNN::PoolPadType_CAFFE;
29}
30static VARP _PoolGrad(VARP originInput, VARP originOutput, VARP inputGrad, INTS kernel, INTS stride, PoolingMode type,
31 PaddingMode pad = VALID, INTS pads= {0, 0}) {
32 std::unique_ptr<MNN::OpT> pool(new MNN::OpT);
33 pool->type = MNN::OpType_PoolGrad;
34 pool->main.type = MNN::OpParameter_Pool;
35 pool->main.value = new MNN::PoolT;
36 if (kernel[0] == -1 && kernel[1] == -1) {
37 pool->main.AsPool()->isGlobal = true;
38 }
39 pool->main.AsPool()->padX = 0;
40 pool->main.AsPool()->padY = 0;
41 if (pads.size() >= 2) {
42 pool->main.AsPool()->padX = pads[0];
43 pool->main.AsPool()->padY = pads[1];
44 }
45 pool->main.AsPool()->padType = _convertPoollingPadMode(pad);
46 pool->main.AsPool()->kernelX = kernel[0];
47 pool->main.AsPool()->kernelY = kernel[1];
48 pool->main.AsPool()->strideX = stride[0];
49 pool->main.AsPool()->strideY = stride[1];
50 pool->main.AsPool()->type = (MNN::PoolType)type;
51 return (Variable::create(Expr::create(std::move(pool), {originInput, originOutput, inputGrad})));
52}
53
54
55class PoolGradTest : public MNNTestCase {

Callers 1

testOnBackendMethod · 0.85

Calls 4

AsPoolMethod · 0.80
_convertPoollingPadModeFunction · 0.70
createFunction · 0.50
sizeMethod · 0.45

Tested by

no test coverage detected