13 explicit SqueezeFixture(
const std::string& inputShape,
14 const std::string& outputShape,
15 const std::string& squeezeDims)
20 "operator_codes": [ { "builtin_code": "SQUEEZE" } ], 25 "shape" : )" + inputShape + ",";
29 "name": "inputTensor", 39 "shape" : )" + outputShape; 43 "name": "outputTensor", 59 "builtin_options_type": "SqueezeOptions", 60 "builtin_options": {)"; 61 if (!squeezeDims.empty())
63 m_JsonString += R
"("squeeze_dims" : )" + squeezeDims; 66 "custom_options_format": "FLEXBUFFERS" 70 "buffers" : [ {}, {} ] 76 struct SqueezeFixtureWithSqueezeDims : SqueezeFixture
78 SqueezeFixtureWithSqueezeDims() : SqueezeFixture(
"[ 1, 2, 2, 1 ]",
"[ 2, 2, 1 ]",
"[ 0, 1, 2 ]") {}
83 SetupSingleInputSingleOutput(
"inputTensor",
"outputTensor");
84 RunTest<3, armnn::DataType::QAsymmU8>(0, { 1, 2, 3, 4 }, { 1, 2, 3, 4 });
85 CHECK((m_Parser->GetNetworkOutputBindingInfo(0,
"outputTensor").second.GetShape()
90 struct SqueezeFixtureWithoutSqueezeDims : SqueezeFixture
92 SqueezeFixtureWithoutSqueezeDims() : SqueezeFixture(
"[ 1, 2, 2, 1 ]",
"[ 2, 2 ]",
"") {}
95 TEST_CASE_FIXTURE(SqueezeFixtureWithoutSqueezeDims,
"ParseSqueezeWithoutSqueezeDims")
97 SetupSingleInputSingleOutput(
"inputTensor",
"outputTensor");
98 RunTest<2, armnn::DataType::QAsymmU8>(0, { 1, 2, 3, 4 }, { 1, 2, 3, 4 });
99 CHECK((m_Parser->GetNetworkOutputBindingInfo(0,
"outputTensor").second.GetShape()
103 struct SqueezeFixtureWithInvalidInput : SqueezeFixture
105 SqueezeFixtureWithInvalidInput() : SqueezeFixture(
"[ 1, 2, 2, 1, 2, 2 ]",
"[ 1, 2, 2, 1, 2 ]",
"[ ]") {}
111 CHECK_THROWS_AS((SetupSingleInputSingleOutput(
"inputTensor",
"outputTensor")),
115 struct SqueezeFixtureWithSqueezeDimsSizeInvalid : SqueezeFixture
117 SqueezeFixtureWithSqueezeDimsSizeInvalid() : SqueezeFixture(
"[ 1, 2, 2, 1 ]",
119 "[ 1, 2, 2, 2, 2 ]") {}
122 TEST_CASE_FIXTURE(SqueezeFixtureWithSqueezeDimsSizeInvalid,
"ParseSqueezeInvalidSqueezeDims")
124 CHECK_THROWS_AS((SetupSingleInputSingleOutput(
"inputTensor",
"outputTensor")),
armnn::ParseException);
128 struct SqueezeFixtureWithNegativeSqueezeDims1 : SqueezeFixture
130 SqueezeFixtureWithNegativeSqueezeDims1() : SqueezeFixture(
"[ 1, 2, 2, 1 ]",
135 TEST_CASE_FIXTURE(SqueezeFixtureWithNegativeSqueezeDims1,
"ParseSqueezeNegativeSqueezeDims1")
137 SetupSingleInputSingleOutput(
"inputTensor",
"outputTensor");
138 RunTest<3, armnn::DataType::QAsymmU8>(0, { 1, 2, 3, 4 }, { 1, 2, 3, 4 });
139 CHECK((m_Parser->GetNetworkOutputBindingInfo(0,
"outputTensor").second.GetShape()
143 struct SqueezeFixtureWithNegativeSqueezeDims2 : SqueezeFixture
145 SqueezeFixtureWithNegativeSqueezeDims2() : SqueezeFixture(
"[ 1, 2, 2, 1 ]",
150 TEST_CASE_FIXTURE(SqueezeFixtureWithNegativeSqueezeDims2,
"ParseSqueezeNegativeSqueezeDims2")
152 SetupSingleInputSingleOutput(
"inputTensor",
"outputTensor");
153 RunTest<3, armnn::DataType::QAsymmU8>(0, { 1, 2, 3, 4 }, { 1, 2, 3, 4 });
154 CHECK((m_Parser->GetNetworkOutputBindingInfo(0,
"outputTensor").second.GetShape()
158 struct SqueezeFixtureWithNegativeSqueezeDimsInvalid : SqueezeFixture
160 SqueezeFixtureWithNegativeSqueezeDimsInvalid() : SqueezeFixture(
"[ 1, 2, 2, 1 ]",
165 TEST_CASE_FIXTURE(SqueezeFixtureWithNegativeSqueezeDimsInvalid,
"ParseSqueezeNegativeSqueezeDimsInvalid")
167 CHECK_THROWS_AS((SetupSingleInputSingleOutput(
"inputTensor",
"outputTensor")),
armnn::ParseException);
TEST_CASE_FIXTURE(ClContextControlFixture, "CopyBetweenNeonAndGpu")
constexpr unsigned int MaxNumOfTensorDimensions