13 explicit MultiplicationFixture(
const std::string & inputShape1,
14 const std::string & inputShape2,
15 const std::string & outputShape,
16 const std::string & activation=
"NONE")
21 "operator_codes": [ { "builtin_code": "MUL" } ], 25 "shape": )" + inputShape1 + R"(, 28 "name": "inputTensor1", 37 "shape": )" + inputShape2 + R"(, 40 "name": "inputTensor2", 49 "shape": )" + outputShape + R"( , 52 "name": "outputTensor", 68 "builtin_options_type": "MulOptions", 70 "fused_activation_function": )" + activation + R"( 72 "custom_options_format": "FLEXBUFFERS" 86 struct SimpleMultiplicationFixture :
public MultiplicationFixture
88 SimpleMultiplicationFixture() : MultiplicationFixture(
"[ 1, 2, 2, 3 ]",
"[ 1, 2, 2, 3 ]",
"[ 1, 2, 2, 3 ]") {}
94 RunTest<4, DataType::Float32>(0, {{
"inputTensor1", { 0.0f, 1.0f, 2.0f,
97 9.0f, 10.0f, 11.0f } },
98 {
"inputTensor2", { 1.0f, 1.0f, 1.0f,
101 5.0f, 5.0f, 5.0f} } },
102 {{
"outputTensor", { 0.0f, 1.0f, 2.0f,
105 45.0f, 50.0f, 55.0f } } });
108 struct MultiplicationBroadcastFixture4D1D :
public MultiplicationFixture
110 MultiplicationBroadcastFixture4D1D() : MultiplicationFixture(
"[ 1, 2, 2, 3 ]",
"[ 1 ]",
"[ 1, 2, 2, 3 ]") {}
113 TEST_CASE_FIXTURE(MultiplicationBroadcastFixture4D1D,
"ParseMultiplicationBroadcast4D1D")
116 RunTest<4, DataType::Float32>(0, {{
"inputTensor1", { 0.0f, 1.0f, 2.0f,
119 9.0f, 10.0f, 11.0f } },
120 {
"inputTensor2", { 5.0f } } },
121 {{
"outputTensor", { 0.0f, 5.0f, 10.0f,
124 45.0f, 50.0f, 55.0f } } });
127 struct MultiplicationBroadcastFixture1D4D :
public MultiplicationFixture
129 MultiplicationBroadcastFixture1D4D() : MultiplicationFixture(
"[ 1 ]",
"[ 1, 2, 2, 3 ]",
"[ 1, 2, 2, 3 ]") {}
132 TEST_CASE_FIXTURE(MultiplicationBroadcastFixture1D4D,
"ParseMultiplicationBroadcast1D4D")
135 RunTest<4, DataType::Float32>(0, {{
"inputTensor1", { 3.0f } },
136 {
"inputTensor2", { 0.0f, 1.0f, 2.0f,
139 9.0f, 10.0f, 11.0f } } },
140 {{
"outputTensor", { 0.0f, 3.0f, 6.0f,
143 27.0f, 30.0f, 33.0f } } });
TEST_SUITE("TensorflowLiteParser_Multiplication")
TEST_CASE_FIXTURE(ClContextControlFixture, "CopyBetweenNeonAndGpu")
void Setup(bool testDynamic=true)