aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/test/OptimizerTests.cpp
diff options
context:
space:
mode:
authorJan Eilers <jan.eilers@arm.com>2021-09-24 15:45:46 +0100
committerJan Eilers <jan.eilers@arm.com>2021-10-02 16:27:39 +0100
commit1b2654fb799c3d25ffcef4d31b5d026d359e2f8f (patch)
tree0397fdf24f286715e26a0e63bddaa0502f64caf7 /src/armnn/test/OptimizerTests.cpp
parentb63a31170aee1d28267d83a4bc67b57708fb6b05 (diff)
downloadarmnn-1b2654fb799c3d25ffcef4d31b5d026d359e2f8f.tar.gz
IVGCVSW-5985 Remove deprecated code
* Removes deprecated AddLayer, IsLayerSupported functions * Marks the whole LayerVisitor class as deprecated not just the constructor. This required to wrap all Accept functions in a no deprecate macro because the LayerVisitor is used as a parameter in there * Removes usage of deprecated LayerVisitor and replaces it with ExecuteStrategy. This required a few structural changes in the unit tests * Adds a default implementation for IStrategy called StrategyBase * Changes pyarmnn to use non deprecated constructor for INetworkProperties and adds related unit test * Marks usage of deprecated code in pyarmnn as deprecated. This required to extend INetworkProperties to allow backwards compatibility * Removes deprecated functions from CpuAcc, GpuAcc and Ref backends Note: This patch breaks compatibility with backends that are not updated in this patch !android-nn-driver:6325 Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Id13b6f37a74d26eadeda2da1dc92915e725ed5a5
Diffstat (limited to 'src/armnn/test/OptimizerTests.cpp')
-rw-r--r--src/armnn/test/OptimizerTests.cpp67
1 files changed, 35 insertions, 32 deletions
diff --git a/src/armnn/test/OptimizerTests.cpp b/src/armnn/test/OptimizerTests.cpp
index 66da3ad1ff..8416a8dd0d 100644
--- a/src/armnn/test/OptimizerTests.cpp
+++ b/src/armnn/test/OptimizerTests.cpp
@@ -13,13 +13,12 @@
#include <armnn/BackendHelper.hpp>
#include <armnn/BackendRegistry.hpp>
#include <armnn/INetwork.hpp>
-#include <armnn/LayerVisitorBase.hpp>
+#include <armnn/StrategyBase.hpp>
#include <armnn/utility/Assert.hpp>
#include <armnn/utility/PolymorphicDowncast.hpp>
-#include <armnnUtils/FloatingPointConverter.hpp>
+#include <armnn/backends/IBackendInternal.hpp>
-#include <backendsCommon/IBackendInternal.hpp>
#include <backendsCommon/LayerSupportBase.hpp>
#include <backendsCommon/TensorHandle.hpp>
@@ -201,10 +200,6 @@ public:
return nullptr;
}
- IBackendInternal::Optimizations GetOptimizations() const override
- {
- return {};
- }
IBackendInternal::ILayerSupportSharedPtr GetLayerSupport() const override
{
return std::make_shared<MockLayerSupport>();
@@ -265,10 +260,6 @@ public:
return nullptr;
}
- IBackendInternal::Optimizations GetOptimizations() const override
- {
- return {};
- }
IBackendInternal::ILayerSupportSharedPtr GetLayerSupport() const override
{
return std::make_shared<MockLayerSupport>();
@@ -707,30 +698,42 @@ TEST_CASE("BackendCapabilityTest")
TEST_CASE("BackendHintTest")
{
- class TestBackendAssignment : public LayerVisitorBase<VisitorNoThrowPolicy>
+ class TestBackendAssignment : public StrategyBase<NoThrowStrategy>
{
public:
- void VisitInputLayer(const IConnectableLayer* layer, LayerBindingId id, const char* name = nullptr) override
- {
- IgnoreUnused(id, name);
- auto inputLayer = PolymorphicDowncast<const InputLayer*>(layer);
- CHECK((inputLayer->GetBackendId() == "MockBackend"));
- }
-
- void VisitOutputLayer(const IConnectableLayer* layer, LayerBindingId id, const char* name = nullptr) override
- {
- IgnoreUnused(id, name);
- auto outputLayer = PolymorphicDowncast<const OutputLayer*>(layer);
- CHECK((outputLayer->GetBackendId() == "MockBackend"));
- }
- void VisitActivationLayer(const IConnectableLayer* layer,
- const ActivationDescriptor& activationDescriptor,
- const char* name = nullptr) override
+ void ExecuteStrategy(const armnn::IConnectableLayer* layer,
+ const armnn::BaseDescriptor& descriptor,
+ const std::vector<armnn::ConstTensor>& constants,
+ const char* name,
+ const armnn::LayerBindingId id = 0) override
{
- IgnoreUnused(activationDescriptor, name);
- auto activation = PolymorphicDowncast<const ActivationLayer*>(layer);
- CHECK((activation->GetBackendId() == "CustomBackend"));
+ armnn::IgnoreUnused(descriptor, constants, id, name);
+ switch (layer->GetType())
+ {
+ case armnn::LayerType::Input:
+ {
+ auto inputLayer = PolymorphicDowncast<const InputLayer*>(layer);
+ CHECK((inputLayer->GetBackendId() == "MockBackend"));
+ break;
+ }
+ case armnn::LayerType::Output:
+ {
+ auto outputLayer = PolymorphicDowncast<const OutputLayer*>(layer);
+ CHECK((outputLayer->GetBackendId() == "MockBackend"));
+ break;
+ }
+ case armnn::LayerType::Activation:
+ {
+ auto activation = PolymorphicDowncast<const ActivationLayer*>(layer);
+ CHECK((activation->GetBackendId() == "CustomBackend"));
+ break;
+ }
+ default:
+ {
+ m_DefaultStrategy.Apply(GetLayerTypeAsCString(layer->GetType()));
+ }
+ }
}
};
@@ -802,7 +805,7 @@ TEST_CASE("BackendHintTest")
TestBackendAssignment visitor;
for (auto it = firstLayer; it != lastLayer; ++it)
{
- (*it)->Accept(visitor);
+ (*it)->ExecuteStrategy(visitor);
}
// Clean up the registry for the next test.
backendRegistry.Deregister("MockBackend");