MCPcopy Create free account
hub / github.com/OAID/Tengine / create_pooling_node

Function create_pooling_node

internal/tests/executor/tests/test_pooling.cpp:55–139  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

53}
54
55Node* create_pooling_node(int input_n, int input_c, int input_h, int input_w, int ksize, int stride,
56 PoolArg type = kPoolMax, int pad = 0, int global = 0)
57{
58 Operator* op = OpManager::CreateOp("Pooling");
59 Pooling* pool_op = dynamic_cast<Pooling*>(op);
60 // param, padding use default value 0
61 PoolParam* param = pool_op->GetParam();
62
63 param->pads.resize(4);
64 param->pads[0] = pad;
65 param->pads[1] = pad;
66 param->pads[2] = pad;
67 param->pads[3] = pad;
68
69 param->kernel_shape.resize(2);
70 param->kernel_shape[0] = ksize;
71 param->kernel_shape[1] = ksize;
72 // param->kernel_shape[1]=3;
73 param->strides.resize(2);
74 param->strides[0] = stride;
75 param->strides[1] = stride;
76 param->caffe_flavor = 1;
77 param->global = global;
78 param->alg = type;
79 // param->alg=kPoolAvg;
80
81 /* calculate shapes */
82 std::vector<int> input_dims = {input_n, input_c, input_h, input_w};
83
84 Node* node = new Node("test_pool");
85 node->SetOp(pool_op);
86 // prepare tensor: input/output
87 Tensor* tensor;
88 int mem_size;
89 void* addr;
90
91 tensor = new Tensor("input");
92 tensor->SetDataType("float32");
93 tensor->SetType(kVarTensor);
94 TShape& shape = tensor->GetShape();
95 shape.SetDataLayout("NCHW");
96 shape.SetDim(input_dims);
97 node->SetInputPort(0, tensor);
98 mem_size = tensor->GetTotalSize();
99 addr = std::malloc(mem_size);
100 init_tensor_data(( float* )addr, mem_size / sizeof(float), -1);
101 set_tensor_mem(tensor, addr, mem_size, std::free);
102
103 tensor = new Tensor("output");
104 tensor->SetDataType("float32");
105 tensor->SetType(kVarTensor);
106 TShape& oshape = tensor->GetShape();
107 oshape.SetDataLayout("NCHW");
108
109 std::vector<TShape> input_shape;
110 input_shape.push_back(shape);
111
112 std::vector<TShape> output_shape;

Callers 1

test_new_operatorFunction · 0.70

Calls 15

set_tensor_memFunction · 0.85
GetParamMethod · 0.80
SetOpMethod · 0.80
SetDataTypeMethod · 0.80
SetTypeMethod · 0.80
SetDataLayoutMethod · 0.80
SetDimMethod · 0.80
SetInputPortMethod · 0.80
GetTotalSizeMethod · 0.80
SetOutputPortMethod · 0.80
GetNMethod · 0.80
GetCMethod · 0.80

Tested by

no test coverage detected