IVGCVSW-3370 Add broadcasting support to PReLU to properly run the Android VTS/NN
tests
* Updated ConvertPrelu to support input broadcasting
* Updated the BroadcastTensor utility function so that it preserves
the order of the inputs
* Updated the documentation
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: Ibbac6f7161132740e61c85f597f8be70cd5d7325
diff --git a/1.2/ArmnnDriverImpl.cpp b/1.2/ArmnnDriverImpl.cpp
index 87ef08c..3b2cb74 100644
--- a/1.2/ArmnnDriverImpl.cpp
+++ b/1.2/ArmnnDriverImpl.cpp
@@ -80,7 +80,7 @@
const sp<V1_2::IPreparedModelCallback>& cb,
bool float32ToFloat16)
{
- ALOGV("ArmnnDriverImpl::prepareModel()");
+ ALOGV("ArmnnDriverImpl::prepareArmnnModel_1_2()");
if (cb.get() == nullptr)
{
@@ -290,4 +290,4 @@
}
} // namespace hal_1_2
-} // namespace armnn_driver
\ No newline at end of file
+} // namespace armnn_driver
diff --git a/1.2/HalPolicy.cpp b/1.2/HalPolicy.cpp
index 1c6159e..e058e02 100644
--- a/1.2/HalPolicy.cpp
+++ b/1.2/HalPolicy.cpp
@@ -443,7 +443,7 @@
if (!output)
{
- return Fail("%s: Could not read output 0", __func__);
+ return Fail("%s: Could not read output", __func__);
}
const armnn::TensorInfo& inputInfo = input.GetTensorInfo();
@@ -467,8 +467,7 @@
return Fail("%s: AddPreluLayer failed", __func__);
}
- input.Connect(layer->GetInputSlot(0));
- alpha.Connect(layer->GetInputSlot(1));
+ BroadcastTensor(input, alpha, layer, *data.m_Network);
return SetupAndTrackLayerOutputSlot<hal_1_2::HalPolicy>(operation, 0, *layer, model, data);
}