MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / TestConvFloat

Function TestConvFloat

tensorflow/lite/experimental/micro/kernels/conv_test.cc:27–110  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

25namespace {
26
27void TestConvFloat(std::initializer_list<int> input_dims_data,
28 std::initializer_list<float> input_data,
29 std::initializer_list<int> filter_dims_data,
30 std::initializer_list<float> filter_data,
31 std::initializer_list<int> bias_dims_data,
32 std::initializer_list<float> bias_data,
33 std::initializer_list<int> output_dims_data,
34 std::initializer_list<float> expected_output_data,
35 TfLiteFusedActivation activation, float* output_data) {
36 TfLiteIntArray* input_dims = IntArrayFromInitializer(input_dims_data);
37 TfLiteIntArray* filter_dims = IntArrayFromInitializer(filter_dims_data);
38 TfLiteIntArray* bias_dims = IntArrayFromInitializer(bias_dims_data);
39 TfLiteIntArray* output_dims = IntArrayFromInitializer(output_dims_data);
40 const int output_dims_count = ElementCount(*output_dims);
41
42 ::tflite::ops::micro::AllOpsResolver resolver;
43
44 constexpr int inputs_size = 3;
45 constexpr int outputs_size = 1;
46 constexpr int tensors_size = inputs_size + outputs_size;
47 TfLiteTensor tensors[tensors_size] = {
48 CreateFloatTensor(input_data, input_dims, "input_tensor"),
49 CreateFloatTensor(filter_data, filter_dims, "filter_tensor"),
50 CreateFloatTensor(bias_data, bias_dims, "bias_tensor"),
51 CreateFloatTensor(output_data, output_dims, "output_tensor"),
52 };
53
54 TfLiteContext context;
55 PopulateContext(tensors, tensors_size, &context);
56
57 const TfLiteRegistration* registration =
58 resolver.FindOp(tflite::BuiltinOperator_CONV_2D, 1);
59
60 TF_LITE_MICRO_EXPECT_NE(nullptr, registration);
61
62 TfLiteConvParams builtin_data = {
63 .padding = kTfLitePaddingValid,
64 .stride_width = 2,
65 .stride_height = 2,
66 .dilation_width_factor = 1,
67 .dilation_height_factor = 1,
68 .activation = kTfLiteActNone,
69 };
70
71 const char* init_data = reinterpret_cast<const char*>(&builtin_data);
72 size_t init_data_size = 0;
73 void* user_data = nullptr;
74
75 if (registration->init) {
76 user_data = registration->init(&context, init_data, init_data_size);
77 }
78
79 int inputs_array_data[] = {3, 0, 1, 2};
80 TfLiteIntArray* inputs_array = IntArrayFromInts(inputs_array_data);
81 int outputs_array_data[] = {1, 3};
82 TfLiteIntArray* outputs_array = IntArrayFromInts(outputs_array_data);
83 int temporaries_array_data[] = {0};
84 TfLiteIntArray* temporaries_array = IntArrayFromInts(temporaries_array_data);

Callers 1

TF_LITE_MICRO_TESTFunction · 0.85

Calls 11

IntArrayFromInitializerFunction · 0.85
ElementCountFunction · 0.85
CreateFloatTensorFunction · 0.85
PopulateContextFunction · 0.85
IntArrayFromIntsFunction · 0.85
freeMethod · 0.80
FindOpMethod · 0.45
initMethod · 0.45
prepareMethod · 0.45
invokeMethod · 0.45
beginMethod · 0.45

Tested by

no test coverage detected