IVGCVSW-5182 Update Convert functions to use ShapeInferenceMethod. 1/2.
* ConvertToActivation
* ConvertAdd
* ConvertArgMinMax
* ConvertConv2d
* ConvertDepthToSpace
* ConvertDepthwiseConv2d
* ConvertDiv
* ConvertFloor
* ConvertFullyConnected
* ConvertL2Normalization
* ConvertLocalResponseNormalization
* ConvertMean
* ConvertMul
* ConvertPad
* ConvertReshape
* ConvertSub
* ConvertStridedSlice
* ConvertTranspose
* ConvertBatchToSpaceNd
* ConvertSpaceToBatchNd
* ConvertComparison_1_2
* ConvertConv2d_1_2
* ConvertDepthwiseConv2d_1_2
* ConvertElementwiseUnary
* ConvertExpandDims
* ConvertGather
* ConvertGroupedConv2d
* ConvertInstanceNormalization
* ConvertLogSoftmax
* ConvertMaximum
* ConvertMinimum
* ConvertPadV2
* ConvertPrelu
* ConvertQuantize
* ConvertResize
* ConvertSpaceToDepth
* ConvertSoftmax
* ConvertTransposeConv2d
Signed-off-by: Finn Williams <Finn.Williams@Arm.com>
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: Idacf16e5eab56d83fce293570bbc89381ae056dc
diff --git a/ArmnnPreparedModel_1_3.cpp b/ArmnnPreparedModel_1_3.cpp
index a27c7a3..386cc17 100644
--- a/ArmnnPreparedModel_1_3.cpp
+++ b/ArmnnPreparedModel_1_3.cpp
@@ -451,6 +451,8 @@
return V1_3::ErrorStatus::GENERAL_FAILURE;
}
+ const size_t outputSize = outputTensorInfo.GetNumBytes();
+
unsigned int count = 0;
std::for_each(outputArg.dimensions.begin(), outputArg.dimensions.end(), [&](auto dim)
{
@@ -466,14 +468,13 @@
count++;
});
- const size_t outputSize = outputTensorInfo.GetNumBytes();
-
outputs.emplace_back(i, outputTensor);
outputShapes[i] = ComputeShape(outputTensorInfo);
if (outputArg.location.length < outputSize)
{
- ALOGW("ArmnnPreparedModel_1_3::Execute failed");
+ ALOGW("ArmnnPreparedModel_1_3::Execute failed outputArg.location.length (%s) < outputSize (%s)",
+ std::to_string(outputArg.location.length).c_str(), std::to_string(outputSize).c_str());
outputShapes[i].isSufficient = false;
return V1_3::ErrorStatus::OUTPUT_INSUFFICIENT_SIZE;
}
@@ -481,7 +482,8 @@
const size_t bufferSize = memPools.at(outputArg.location.poolIndex).getHidlMemory().size();
if (bufferSize < outputSize)
{
- ALOGW("ArmnnPreparedModel_1_3::Execute failed");
+ ALOGW("ArmnnPreparedModel_1_3::Execute failed bufferSize (%s) < outputSize (%s)",
+ std::to_string(bufferSize).c_str(), std::to_string(outputSize).c_str());
outputShapes[i].isSufficient = false;
return V1_3::ErrorStatus::OUTPUT_INSUFFICIENT_SIZE;
}