diff options
author | Keith Davis <keith.davis@arm.com> | 2022-04-07 11:32:00 +0100 |
---|---|---|
committer | Keith Davis <keith.davis@arm.com> | 2022-05-16 16:08:54 +0100 |
commit | b4dd5cc86d4eb841de670f0f102ede599e0d9c40 (patch) | |
tree | 77857cf739baecaf63701b66c1a2646b7930a834 /src/backends/aclCommon | |
parent | b86ec6641b4b06ccddad5eebbc21010d6184fe79 (diff) | |
download | armnn-b4dd5cc86d4eb841de670f0f102ede599e0d9c40.tar.gz |
IVGCVSW-6124 ConstTensorsAsInput: Conv2d - FrontEnd
* Update Front-end and Tools.
* Updated Serializer, Deserializer and unit tests to reflect this.
* Updated TfLiteDelegate, TfLiteParser and OnnxParser.
* Updated Ref.
* Fixed resulting Neon / CL tests
* Unified optimizers for conv2d ops
* Optimizer Fix - Fp32ToBf16
* Partial implementation for ACL backends to fix VTS failures
!android-nn-driver:7477
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I5fb18877f7ee32643e15a9818945356274bb401b
Diffstat (limited to 'src/backends/aclCommon')
-rw-r--r-- | src/backends/aclCommon/ArmComputeSubgraphUtils.hpp | 29 |
1 files changed, 8 insertions, 21 deletions
diff --git a/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp b/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp index de3a34ee08..a26442cb86 100644 --- a/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp +++ b/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp @@ -225,28 +225,14 @@ LayerType* FuseConvolution2dLayer(OptimizationViews& optimizationViews, ActivationDescriptor& activationDesc, std::string name) { - std::shared_ptr<ConstTensorHandle> weightHandle = baseLayer->m_Weight; - TensorInfo weightInfo = weightHandle->GetTensorInfo(); + IConnectableLayer* replacement = optimizationViews.GetINetwork() + ->AddConvolution2dLayer(baseLayer->GetParameters(), name.c_str()); - std::shared_ptr<ConstTensorHandle> biasHandle = baseLayer->m_Bias; - ConstTensor biasTensor; - if (!biasHandle) - { - biasTensor = ConstTensor(); - } - else - { - biasTensor = ConstTensor(biasHandle->GetTensorInfo(), biasHandle->Map(true)); - } - - IConnectableLayer* replacement = - optimizationViews.GetINetwork()-> - AddConvolution2dLayer(baseLayer->GetParameters(), - ConstTensor(weightInfo, weightHandle->Map(true)), - Optional<ConstTensor>(biasTensor), - name.c_str()); LayerType* replacementLayer = PolymorphicDowncast<LayerType*>(replacement); + replacementLayer->m_Weight = std::move(baseLayer->m_Weight); + replacementLayer->m_Bias = std::move(baseLayer->m_Bias); + FuseLayer(optimizationViews, baseLayer, replacementLayer, @@ -263,8 +249,9 @@ LayerType* FuseDepthwiseConvolution2dLayer(OptimizationViews& optimizationViews, ActivationDescriptor& activationDesc, std::string name) { - IConnectableLayer* replacement = optimizationViews.GetINetwork()-> - AddDepthwiseConvolution2dLayer(baseLayer->GetParameters(), name.c_str()); + IConnectableLayer* replacement = + optimizationViews.GetINetwork()->AddDepthwiseConvolution2dLayer(baseLayer->GetParameters(), name.c_str()); + LayerType* replacementLayer = PolymorphicDowncast<LayerType*>(replacement); replacementLayer->m_Weight = std::move(baseLayer->m_Weight); |