aboutsummaryrefslogtreecommitdiff
path: root/src/armnnTestUtils/CommonTestUtils.cpp
diff options
context:
space:
mode:
authorSadik Armagan <sadik.armagan@arm.com>2021-11-24 15:47:28 +0000
committerSadik Armagan <sadik.armagan@arm.com>2021-12-14 11:02:41 +0000
commita097d2a0ed8e30d5aaf6d29ec18d0c39201b7b67 (patch)
tree947e587bc42d07f52c55b155308b5ea5bd3ebacd /src/armnnTestUtils/CommonTestUtils.cpp
parentbc14881a76699dd942e94265116da68a6466455e (diff)
downloadarmnn-a097d2a0ed8e30d5aaf6d29ec18d0c39201b7b67.tar.gz
IVGCVSW-6453 'Move the ArmNN Test Utils code to a physically separate directory'
* Created include/armnnTestUtils directory * Moved Arm NN test utils files into armnnTestUtils directory Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I03ac54c645c41c52650c4c03b6a58fb1481fef5d
Diffstat (limited to 'src/armnnTestUtils/CommonTestUtils.cpp')
-rw-r--r--src/armnnTestUtils/CommonTestUtils.cpp70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/armnnTestUtils/CommonTestUtils.cpp b/src/armnnTestUtils/CommonTestUtils.cpp
new file mode 100644
index 0000000000..c85330577d
--- /dev/null
+++ b/src/armnnTestUtils/CommonTestUtils.cpp
@@ -0,0 +1,70 @@
+//
+// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#include "CommonTestUtils.hpp"
+
+#include <armnn/backends/IBackendInternal.hpp>
+
+using namespace armnn;
+
+SubgraphView::InputSlots CreateInputsFrom(const std::vector<Layer*>& layers)
+{
+ SubgraphView::InputSlots result;
+ for (auto&& layer : layers)
+ {
+ for (auto&& it = layer->BeginInputSlots(); it != layer->EndInputSlots(); ++it)
+ {
+ result.push_back(&(*it));
+ }
+ }
+ return result;
+}
+
+SubgraphView::OutputSlots CreateOutputsFrom(const std::vector<Layer*>& layers)
+{
+ SubgraphView::OutputSlots result;
+ for (auto && layer : layers)
+ {
+ for (auto&& it = layer->BeginOutputSlots(); it != layer->EndOutputSlots(); ++it)
+ {
+ result.push_back(&(*it));
+ }
+ }
+ return result;
+}
+
+SubgraphView::SubgraphViewPtr CreateSubgraphViewFrom(SubgraphView::InputSlots&& inputs,
+ SubgraphView::OutputSlots&& outputs,
+ SubgraphView::Layers&& layers)
+{
+ return std::make_unique<SubgraphView>(std::move(inputs), std::move(outputs), std::move(layers));
+}
+
+armnn::IBackendInternalUniquePtr CreateBackendObject(const armnn::BackendId& backendId)
+{
+ auto& backendRegistry = BackendRegistryInstance();
+ auto backendFactory = backendRegistry.GetFactory(backendId);
+ auto backendObjPtr = backendFactory();
+
+ return backendObjPtr;
+}
+
+armnn::TensorShape MakeTensorShape(unsigned int batches,
+ unsigned int channels,
+ unsigned int height,
+ unsigned int width,
+ armnn::DataLayout layout)
+{
+ using namespace armnn;
+ switch (layout)
+ {
+ case DataLayout::NCHW:
+ return TensorShape{ batches, channels, height, width };
+ case DataLayout::NHWC:
+ return TensorShape{ batches, height, width, channels };
+ default:
+ throw InvalidArgumentException(std::string("Unsupported data layout: ") + GetDataLayoutName(layout));
+ }
+}