From 0690265d83e5aa79bd174544a7b35330781619dd Mon Sep 17 00:00:00 2001 From: Cathal Corbett Date: Thu, 14 Apr 2022 17:55:11 +0100 Subject: IVGCVSW-6127 ConstTensorsAsInput: DepthwiseConvolution2d !android-nn-driver:7418 * Update Front-end and Tools. * Updated Serializer, Deserializer and unit tests to reflect this. * Updated TfLiteDelegate, TfLiteParser and OnnxParser. * Change NNDriver to new API. * Updated Ref. * Neon and Cl backend partially completed (Backend.cpp files). * Added dynamic or constant input EndToEnd tests. * Added ConstantTensorAsInputMemeberVariableRedirect Optimization. Signed-off-by: Cathal Corbett Change-Id: Ib18b6c10a093042e165e25237dc04a4c67ba82da --- src/backends/aclCommon/ArmComputeSubgraphUtils.hpp | 25 +++++----------------- 1 file changed, 5 insertions(+), 20 deletions(-) (limited to 'src/backends/aclCommon/ArmComputeSubgraphUtils.hpp') diff --git a/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp b/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp index 74ab789402..de3a34ee08 100644 --- a/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp +++ b/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp @@ -263,28 +263,13 @@ LayerType* FuseDepthwiseConvolution2dLayer(OptimizationViews& optimizationViews, ActivationDescriptor& activationDesc, std::string name) { - std::shared_ptr weightHandle = baseLayer->m_Weight; - TensorInfo weightInfo = weightHandle->GetTensorInfo(); - - std::shared_ptr biasHandle = baseLayer->m_Bias; - ConstTensor biasTensor; - if (!biasHandle) - { - biasTensor = ConstTensor(); - } - else - { - biasTensor = ConstTensor(biasHandle->GetTensorInfo(), biasHandle->Map(true)); - } - - IConnectableLayer* replacement = - optimizationViews.GetINetwork()-> - AddDepthwiseConvolution2dLayer(baseLayer->GetParameters(), - ConstTensor(weightInfo, weightHandle->Map(true)), - Optional(biasTensor), - name.c_str()); + IConnectableLayer* replacement = optimizationViews.GetINetwork()-> + AddDepthwiseConvolution2dLayer(baseLayer->GetParameters(), name.c_str()); LayerType* replacementLayer = PolymorphicDowncast(replacement); + replacementLayer->m_Weight = std::move(baseLayer->m_Weight); + replacementLayer->m_Bias = std::move(baseLayer->m_Bias); + FuseLayer(optimizationViews, baseLayer, replacementLayer, -- cgit v1.2.1