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

Function dump_output_data

internal/bin/test_flatten_op.cpp:189–237  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

187}
188
189void dump_output_data(node_t test_node)
190{
191 tensor_t output_tensor = get_node_output_tensor(test_node, 0);
192 int dims[4];
193
194 get_tensor_shape(output_tensor, dims, 4);
195
196 void* o_buf = get_tensor_buffer(output_tensor);
197 int data_type = get_tensor_data_type(output_tensor);
198 float scale = 0.1f;
199 int zero = 0;
200 if(data_type == TENGINE_DT_INT8 || data_type == TENGINE_DT_UINT8)
201 {
202 get_tensor_quant_param(output_tensor, &scale, &zero, 1);
203 printf("output scale: %f ,zero: %d\n", scale, zero);
204 }
205
206 for(int i = 0; i < dims[1] * dims[0] * dims[2] * dims[3]; i++)
207 {
208 if(data_type == TENGINE_DT_FP32)
209 {
210 float* p = ( float* )o_buf;
211 std::cout << i << " " << p[i] << "\n";
212 }
213 else if(data_type == TENGINE_DT_FP16)
214 {
215 __fp16* p = ( __fp16* )o_buf;
216
217#ifdef __ARM_ARCH
218 std::cout << i << " " << ( float )p[i] << "\n";
219#else
220 std::cout << i << " " << fp16_to_fp32(p[i]) << "\n";
221#endif
222 }
223 else if(data_type == TENGINE_DT_INT8)
224 {
225 int8_t* p = ( int8_t* )o_buf;
226 std::cout << i << " " << ( int )p[i] << "\n";
227 }
228 else
229 {
230 uint8_t* p = ( uint8_t* )o_buf;
231
232 std::cout << i << " " << ( int )p[i] << "\n";
233 }
234 }
235
236 release_graph_tensor(output_tensor);
237}
238
239int main(int argc, char* argv[])
240{

Callers 1

mainFunction · 0.70

Calls 7

get_node_output_tensorFunction · 0.85
get_tensor_shapeFunction · 0.85
get_tensor_bufferFunction · 0.85
get_tensor_data_typeFunction · 0.85
get_tensor_quant_paramFunction · 0.85
fp16_to_fp32Function · 0.85
release_graph_tensorFunction · 0.85

Tested by

no test coverage detected