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

Function create_prelu_node

internal/tests/executor/tests/test_prelu.cpp:66–125  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

64float op_fops;
65
66Node* create_prelu_node(int n, int c, int h, int w)
67{
68 Operator* op = OpManager::CreateOp("PReLU");
69 PReLU* prelu_op = dynamic_cast<PReLU*>(op);
70
71 /* input shape */
72 int input_h = h;
73 int input_w = w;
74 int input_c = c;
75 int input_n = n;
76
77 std::vector<int> input_dims = {input_n, input_c, input_h, input_w};
78 std::vector<int> channel_dims = {input_c};
79
80 Node* node = new Node("test Scale");
81
82 node->SetOp(prelu_op);
83
84 // prepare tensor: input/gmma/beta
85 Tensor* tensor;
86 int mem_size;
87 void* addr;
88
89 tensor = new Tensor("input");
90
91 tensor->SetDataType("float32");
92 tensor->SetType(kVarTensor);
93 TShape* shape = &tensor->GetShape();
94 shape->SetDataLayout("NCHW");
95 shape->SetDim(input_dims);
96 node->SetInputPort(0, tensor);
97 mem_size = tensor->GetTotalSize();
98 addr = std::malloc(mem_size);
99 init_tensor_data(( float* )addr, mem_size / sizeof(float), -1);
100 set_tensor_mem(tensor, addr, mem_size, std::free);
101
102 tensor = new Tensor("slope");
103 tensor->SetDataType("float32");
104 tensor->SetType(kVarTensor);
105 shape = &tensor->GetShape();
106 shape->SetDataLayout("W");
107 shape->SetDim(channel_dims); //
108 node->SetInputPort(1, tensor);
109 mem_size = tensor->GetTotalSize();
110 addr = std::malloc(mem_size);
111 init_tensor_data(( float* )addr, mem_size / sizeof(float), -3);
112 set_tensor_mem(tensor, addr, mem_size, std::free);
113
114 tensor = new Tensor("output");
115 tensor->SetDataType("float32");
116 tensor->SetType(kVarTensor);
117 shape = &tensor->GetShape();
118 shape->SetDataLayout("NCHW");
119 shape->SetDim(input_dims);
120 node->SetOutputPort(0, tensor);
121 mem_size = tensor->GetTotalSize();
122 addr = std::malloc(mem_size);
123 set_tensor_mem(tensor, addr, mem_size, std::free);

Callers 1

test_new_operatorFunction · 0.85

Calls 10

set_tensor_memFunction · 0.85
SetOpMethod · 0.80
SetDataTypeMethod · 0.80
SetTypeMethod · 0.80
SetDataLayoutMethod · 0.80
SetDimMethod · 0.80
SetInputPortMethod · 0.80
GetTotalSizeMethod · 0.80
SetOutputPortMethod · 0.80
init_tensor_dataFunction · 0.70

Tested by

no test coverage detected