diff options
31 files changed, 242 insertions, 180 deletions
diff --git a/Android.mk b/Android.mk index 6d265dcea5..fdac0ddebb 100644 --- a/Android.mk +++ b/Android.mk @@ -43,12 +43,12 @@ ARMNN_BACKEND_SOURCES := # (included from the given makefile) to the ARMNN_BACKEND_SOURCES list # $(foreach mkPath,$(ARMNN_BACKEND_COMMON_MAKEFILE_DIRS),\ - $(eval include $(LOCAL_PATH)/$(mkPath)/common.mk)\ - $(eval ARMNN_BACKEND_SOURCES := $(ARMNN_BACKEND_SOURCES) $(patsubst %,$(mkPath)/%,$(COMMON_SOURCES)))) + $(eval include $(LOCAL_PATH)/$(mkPath)/common.mk)\ + $(eval ARMNN_BACKEND_SOURCES := $(ARMNN_BACKEND_SOURCES) $(patsubst %,$(mkPath)/%,$(COMMON_SOURCES)))) $(foreach mkPath,$(ARMNN_BACKEND_MAKEFILE_DIRS),\ - $(eval include $(LOCAL_PATH)/$(mkPath)/backend.mk)\ - $(eval ARMNN_BACKEND_SOURCES := $(ARMNN_BACKEND_SOURCES) $(patsubst %,$(mkPath)/%,$(BACKEND_SOURCES)))) + $(eval include $(LOCAL_PATH)/$(mkPath)/backend.mk)\ + $(eval ARMNN_BACKEND_SOURCES := $(ARMNN_BACKEND_SOURCES) $(patsubst %,$(mkPath)/%,$(BACKEND_SOURCES)))) # Mark source files as dependent on Android.mk and backend makefiles LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk \ @@ -61,22 +61,27 @@ LOCAL_EXPORT_C_INCLUDES := \ $(ARMNN_BACKENDS_HEADER_PATH) LOCAL_C_INCLUDES := \ - $(OPENCL_HEADER_PATH) \ - $(NN_HEADER_PATH) \ - $(ARMNN_HEADER_PATH) \ - $(ARMNN_MAIN_HEADER_PATH) \ - $(ARMNN_SOURCE_HEADER_PATH) \ - $(ARMNN_SOURCE_UTILS_HEADER_PATH) \ + $(OPENCL_HEADER_PATH) \ + $(NN_HEADER_PATH) \ + $(ARMNN_HEADER_PATH) \ + $(ARMNN_MAIN_HEADER_PATH) \ + $(ARMNN_SOURCE_HEADER_PATH) \ + $(ARMNN_SOURCE_UTILS_HEADER_PATH) \ $(ARMNN_BACKENDS_HEADER_PATH) LOCAL_SRC_FILES := \ $(ARMNN_BACKEND_SOURCES) \ + src/armnnUtils/CsvReader.cpp \ + src/armnnUtils/DataLayoutIndexed.cpp \ src/armnnUtils/DotSerializer.cpp \ src/armnnUtils/FloatingPointConverter.cpp \ + src/armnnUtils/HeapProfiling.cpp \ + src/armnnUtils/LeakChecking.cpp \ src/armnnUtils/Logging.cpp \ - src/armnnUtils/Permute.cpp \ src/armnnUtils/ParserHelper.cpp \ + src/armnnUtils/Permute.cpp \ src/armnnUtils/TensorUtils.cpp \ + src/armnnUtils/VerificationHelpers.cpp \ src/armnn/layers/ActivationLayer.cpp \ src/armnn/layers/AdditionLayer.cpp \ src/armnn/layers/ArithmeticBaseLayer.cpp \ @@ -136,7 +141,7 @@ LOCAL_SRC_FILES := \ src/armnn/Observable.cpp LOCAL_STATIC_LIBRARIES := \ - armnn-arm_compute \ + armnn-arm_compute \ libboost_log \ libboost_system \ libboost_thread @@ -173,70 +178,70 @@ ARMNN_BACKEND_TEST_SOURCES := # (included from the given makefile) to the ARMNN_BACKEND_TEST_SOURCES list # $(foreach mkPath,$(ARMNN_BACKEND_COMMON_MAKEFILE_DIRS), \ - $(eval include $(LOCAL_PATH)/$(mkPath)/common.mk) \ - $(eval ARMNN_BACKEND_TEST_SOURCES := $(ARMNN_BACKEND_TEST_SOURCES) \ - $(patsubst %,$(mkPath)/%,$(COMMON_TEST_SOURCES)))) + $(eval include $(LOCAL_PATH)/$(mkPath)/common.mk) \ + $(eval ARMNN_BACKEND_TEST_SOURCES := $(ARMNN_BACKEND_TEST_SOURCES) \ + $(patsubst %,$(mkPath)/%,$(COMMON_TEST_SOURCES)))) $(foreach mkPath,$(ARMNN_BACKEND_MAKEFILE_DIRS), \ - $(eval include $(LOCAL_PATH)/$(mkPath)/backend.mk) \ - $(eval ARMNN_BACKEND_TEST_SOURCES := $(ARMNN_BACKEND_TEST_SOURCES) \ - $(patsubst %,$(mkPath)/%,$(BACKEND_TEST_SOURCES)))) + $(eval include $(LOCAL_PATH)/$(mkPath)/backend.mk) \ + $(eval ARMNN_BACKEND_TEST_SOURCES := $(ARMNN_BACKEND_TEST_SOURCES) \ + $(patsubst %,$(mkPath)/%,$(BACKEND_TEST_SOURCES)))) # Mark source files as dependent on Android.mk LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk LOCAL_C_INCLUDES := \ - $(OPENCL_HEADER_PATH) \ - $(NN_HEADER_PATH) \ - $(ARMNN_HEADER_PATH) \ - $(ARMNN_MAIN_HEADER_PATH) \ - $(ARMNN_SOURCE_HEADER_PATH) \ - $(ARMNN_SOURCE_UTILS_HEADER_PATH) \ + $(OPENCL_HEADER_PATH) \ + $(NN_HEADER_PATH) \ + $(ARMNN_HEADER_PATH) \ + $(ARMNN_MAIN_HEADER_PATH) \ + $(ARMNN_SOURCE_HEADER_PATH) \ + $(ARMNN_SOURCE_UTILS_HEADER_PATH) \ $(ARMNN_BACKENDS_HEADER_PATH) LOCAL_CFLAGS := \ - -std=c++14 \ - -fexceptions \ - -frtti \ - -isystem vendor/arm/android-nn-driver/boost_1_64_0 \ - -DARMCOMPUTECL_ENABLED \ - -DARMCOMPUTENEON_ENABLED + -std=c++14 \ + -fexceptions \ + -frtti \ + -isystem vendor/arm/android-nn-driver/boost_1_64_0 \ + -DARMCOMPUTECL_ENABLED \ + -DARMCOMPUTENEON_ENABLED LOCAL_SRC_FILES := \ $(ARMNN_BACKEND_TEST_SOURCES) \ - src/armnn/test/UnitTests.cpp \ - src/armnn/test/EndToEndTest.cpp \ - src/armnn/test/UtilsTests.cpp \ - src/armnn/test/GraphTests.cpp \ - src/armnn/test/RuntimeTests.cpp \ + src/armnn/test/UnitTests.cpp \ + src/armnn/test/EndToEndTest.cpp \ + src/armnn/test/UtilsTests.cpp \ + src/armnn/test/GraphTests.cpp \ + src/armnn/test/RuntimeTests.cpp \ src/armnn/test/SubGraphTests.cpp \ - src/armnn/test/TensorTest.cpp \ - src/armnn/test/NetworkTests.cpp \ - src/armnn/test/InstrumentTests.cpp \ - src/armnn/test/ProfilingEventTest.cpp \ - src/armnn/test/ObservableTest.cpp \ - src/armnn/test/OptionalTest.cpp + src/armnn/test/TensorTest.cpp \ + src/armnn/test/NetworkTests.cpp \ + src/armnn/test/InstrumentTests.cpp \ + src/armnn/test/ProfilingEventTest.cpp \ + src/armnn/test/ObservableTest.cpp \ + src/armnn/test/OptionalTest.cpp LOCAL_STATIC_LIBRARIES := \ - libneuralnetworks_common \ - libboost_log \ - libboost_system \ - libboost_unit_test_framework \ - libboost_thread \ - armnn-arm_compute + libneuralnetworks_common \ + libboost_log \ + libboost_system \ + libboost_unit_test_framework \ + libboost_thread \ + armnn-arm_compute LOCAL_WHOLE_STATIC_LIBRARIES := libarmnn LOCAL_SHARED_LIBRARIES := \ - libbase \ - libhidlbase \ - libhidltransport \ - libhidlmemory \ - liblog \ - libutils \ - android.hardware.neuralnetworks@1.0 \ - android.hidl.allocator@1.0 \ - android.hidl.memory@1.0 \ - libOpenCL + libbase \ + libhidlbase \ + libhidltransport \ + libhidlmemory \ + liblog \ + libutils \ + android.hardware.neuralnetworks@1.0 \ + android.hidl.allocator@1.0 \ + android.hidl.memory@1.0 \ + libOpenCL include $(BUILD_EXECUTABLE) diff --git a/CMakeLists.txt b/CMakeLists.txt index 73f926937c..8b351ad1fa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,9 +29,11 @@ list(APPEND armnnUtils_sources src/armnnUtils/GraphTopologicalSort.hpp src/armnnUtils/Half.hpp src/armnnUtils/Logging.hpp - src/armnnUtils/Permute.hpp src/armnnUtils/Logging.cpp + src/armnnUtils/Permute.hpp src/armnnUtils/Permute.cpp + src/armnnUtils/DataLayoutIndexed.cpp + src/armnnUtils/DataLayoutIndexed.hpp src/armnnUtils/DotSerializer.cpp src/armnnUtils/DotSerializer.hpp src/armnnUtils/HeapProfiling.cpp @@ -137,14 +139,15 @@ if(BUILD_TF_LITE_PARSER) include/armnnTfLiteParser/ITfLiteParser.hpp src/armnnTfLiteParser/TfLiteParser.hpp src/armnnTfLiteParser/TfLiteParser.cpp - ) + ) - add_library_ex(armnnTfLiteParser SHARED ${armnn_tf_lite_parser_sources}) + add_library_ex(armnnTfLiteParser SHARED ${armnn_tf_lite_parser_sources}) - target_include_directories(armnnTfLiteParser PRIVATE src/armnnUtils) + target_include_directories(armnnTfLiteParser PRIVATE src/armnn) + target_include_directories(armnnTfLiteParser PRIVATE src/armnnUtils) - target_link_libraries(armnnTfLiteParser ${Boost_FILESYSTEM_LIBRARY} ${Boost_THREAD_LIBRARY}) - target_link_libraries(armnnTfLiteParser armnn ${FLATBUFFERS_LIBRARY}) + target_link_libraries(armnnTfLiteParser ${Boost_FILESYSTEM_LIBRARY} ${Boost_THREAD_LIBRARY}) + target_link_libraries(armnnTfLiteParser armnn ${FLATBUFFERS_LIBRARY}) endif() list(APPEND armnn_sources diff --git a/src/armnn/layers/BatchToSpaceNdLayer.cpp b/src/armnn/layers/BatchToSpaceNdLayer.cpp index e1b78b21df..8ac4cb95bb 100644 --- a/src/armnn/layers/BatchToSpaceNdLayer.cpp +++ b/src/armnn/layers/BatchToSpaceNdLayer.cpp @@ -9,11 +9,15 @@ #include "BatchToSpaceNdLayer.hpp" #include <armnn/TypesUtils.hpp> + #include <backendsCommon/CpuTensorHandle.hpp> -#include <backendsCommon/DataLayoutIndexed.hpp> #include <backendsCommon/WorkloadData.hpp> #include <backendsCommon/WorkloadFactory.hpp> +#include <DataLayoutIndexed.hpp> + +using namespace armnnUtils; + namespace armnn { diff --git a/src/armnn/layers/Convolution2dLayer.cpp b/src/armnn/layers/Convolution2dLayer.cpp index 4d3553f0cc..4756e1daae 100644 --- a/src/armnn/layers/Convolution2dLayer.cpp +++ b/src/armnn/layers/Convolution2dLayer.cpp @@ -8,9 +8,12 @@ #include <armnn/TypesUtils.hpp> #include <backendsCommon/CpuTensorHandle.hpp> -#include <backendsCommon/DataLayoutIndexed.hpp> #include <backendsCommon/WorkloadFactory.hpp> +#include <DataLayoutIndexed.hpp> + +using namespace armnnUtils; + namespace armnn { diff --git a/src/armnn/layers/DepthwiseConvolution2dLayer.cpp b/src/armnn/layers/DepthwiseConvolution2dLayer.cpp index 6ad32a756a..95d4690d4f 100644 --- a/src/armnn/layers/DepthwiseConvolution2dLayer.cpp +++ b/src/armnn/layers/DepthwiseConvolution2dLayer.cpp @@ -7,10 +7,14 @@ #include "LayerCloneBase.hpp" #include <armnn/TypesUtils.hpp> + #include <backendsCommon/CpuTensorHandle.hpp> -#include <backendsCommon/DataLayoutIndexed.hpp> #include <backendsCommon/WorkloadFactory.hpp> +#include <DataLayoutIndexed.hpp> + +using namespace armnnUtils; + namespace armnn { diff --git a/src/armnn/layers/Pooling2dLayer.cpp b/src/armnn/layers/Pooling2dLayer.cpp index 24b7a69c49..d4af056217 100644 --- a/src/armnn/layers/Pooling2dLayer.cpp +++ b/src/armnn/layers/Pooling2dLayer.cpp @@ -7,10 +7,14 @@ #include "LayerCloneBase.hpp" #include <armnn/TypesUtils.hpp> -#include <backendsCommon/DataLayoutIndexed.hpp> + #include <backendsCommon/WorkloadData.hpp> #include <backendsCommon/WorkloadFactory.hpp> +#include <DataLayoutIndexed.hpp> + +using namespace armnnUtils; + namespace armnn { diff --git a/src/armnn/layers/ResizeBilinearLayer.cpp b/src/armnn/layers/ResizeBilinearLayer.cpp index f72ccfce90..c7c92d7394 100644 --- a/src/armnn/layers/ResizeBilinearLayer.cpp +++ b/src/armnn/layers/ResizeBilinearLayer.cpp @@ -7,10 +7,14 @@ #include "LayerCloneBase.hpp" #include <armnn/TypesUtils.hpp> -#include <backendsCommon/DataLayoutIndexed.hpp> + #include <backendsCommon/WorkloadData.hpp> #include <backendsCommon/WorkloadFactory.hpp> +#include <DataLayoutIndexed.hpp> + +using namespace armnnUtils; + namespace armnn { diff --git a/src/armnn/layers/SpaceToBatchNdLayer.cpp b/src/armnn/layers/SpaceToBatchNdLayer.cpp index 658945ef08..38540d522d 100644 --- a/src/armnn/layers/SpaceToBatchNdLayer.cpp +++ b/src/armnn/layers/SpaceToBatchNdLayer.cpp @@ -9,12 +9,15 @@ #include <armnn/TypesUtils.hpp> -#include <backendsCommon/DataLayoutIndexed.hpp> #include <backendsCommon/WorkloadData.hpp> #include <backendsCommon/WorkloadFactory.hpp> +#include <DataLayoutIndexed.hpp> + #include <numeric> +using namespace armnnUtils; + namespace armnn { diff --git a/src/armnn/test/CreateWorkload.hpp b/src/armnn/test/CreateWorkload.hpp index 349c6a765a..3dc18b9e18 100644 --- a/src/armnn/test/CreateWorkload.hpp +++ b/src/armnn/test/CreateWorkload.hpp @@ -8,12 +8,12 @@ #include <boost/cast.hpp> -#include <backendsCommon/DataLayoutIndexed.hpp> #include <backendsCommon/WorkloadData.hpp> #include <backendsCommon/WorkloadFactory.hpp> #include <backendsCommon/CpuTensorHandle.hpp> #include <Graph.hpp> +#include <DataLayoutIndexed.hpp> #include <utility> @@ -861,7 +861,7 @@ std::unique_ptr<ResizeBilinearWorkload> CreateResizeBilinearWorkloadTest(armnn:: // Creates the layer we're testing. ResizeBilinearDescriptor resizeDesc; - DataLayoutIndexed dimensionIndices = dataLayout; + armnnUtils::DataLayoutIndexed dimensionIndices = dataLayout; resizeDesc.m_TargetWidth = outputShape[dimensionIndices.GetWidthIndex()]; resizeDesc.m_TargetHeight = outputShape[dimensionIndices.GetHeightIndex()]; resizeDesc.m_DataLayout = dataLayout; diff --git a/src/armnnUtils/DataLayoutIndexed.cpp b/src/armnnUtils/DataLayoutIndexed.cpp new file mode 100644 index 0000000000..db27de4bdd --- /dev/null +++ b/src/armnnUtils/DataLayoutIndexed.cpp @@ -0,0 +1,46 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#include "DataLayoutIndexed.hpp" + +using namespace armnn; + +namespace armnnUtils +{ + +DataLayoutIndexed::DataLayoutIndexed(armnn::DataLayout dataLayout) + : m_DataLayout(dataLayout) +{ + switch (dataLayout) + { + case armnn::DataLayout::NHWC: + m_ChannelsIndex = 3; + m_HeightIndex = 1; + m_WidthIndex = 2; + break; + case armnn::DataLayout::NCHW: + m_ChannelsIndex = 1; + m_HeightIndex = 2; + m_WidthIndex = 3; + break; + default: + throw armnn::InvalidArgumentException("Unknown DataLayout value: " + + std::to_string(static_cast<int>(dataLayout))); + } +} + +// Definition in include/armnn/Types.hpp +bool operator==(const DataLayout& dataLayout, const DataLayoutIndexed& indexed) +{ + return dataLayout == indexed.GetDataLayout(); +} + +// Definition in include/armnn/Types.hpp +bool operator==(const DataLayoutIndexed& indexed, const DataLayout& dataLayout) +{ + return indexed.GetDataLayout() == dataLayout; +} + +} // namespace armnnUtils diff --git a/src/armnnUtils/DataLayoutIndexed.hpp b/src/armnnUtils/DataLayoutIndexed.hpp new file mode 100644 index 0000000000..1cf2a09e32 --- /dev/null +++ b/src/armnnUtils/DataLayoutIndexed.hpp @@ -0,0 +1,33 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// +#pragma once +#include <armnn/Types.hpp> + +namespace armnnUtils +{ + +// Provides access to the appropriate indexes for Channels, Height and Width based on DataLayout +class DataLayoutIndexed +{ +public: + DataLayoutIndexed(armnn::DataLayout dataLayout); + + armnn::DataLayout GetDataLayout() const { return m_DataLayout; } + unsigned int GetChannelsIndex() const { return m_ChannelsIndex; } + unsigned int GetHeightIndex() const { return m_HeightIndex; } + unsigned int GetWidthIndex() const { return m_WidthIndex; } + +private: + armnn::DataLayout m_DataLayout; + unsigned int m_ChannelsIndex; + unsigned int m_HeightIndex; + unsigned int m_WidthIndex; +}; + +// Equality methods +bool operator==(const armnn::DataLayout& dataLayout, const DataLayoutIndexed& indexed); +bool operator==(const DataLayoutIndexed& indexed, const armnn::DataLayout& dataLayout); + +} // namespace armnnUtils diff --git a/src/backends/backendsCommon/CMakeLists.txt b/src/backends/backendsCommon/CMakeLists.txt index f9bded76f4..1fe9888901 100644 --- a/src/backends/backendsCommon/CMakeLists.txt +++ b/src/backends/backendsCommon/CMakeLists.txt @@ -9,8 +9,6 @@ list(APPEND armnnBackendsCommon_sources CpuTensorHandle.cpp CpuTensorHandleFwd.hpp CpuTensorHandle.hpp - DataLayoutIndexed.hpp - DataLayoutIndexed.cpp IBackendInternal.hpp IBackendContext.hpp ILayerSupport.cpp diff --git a/src/backends/backendsCommon/DataLayoutIndexed.cpp b/src/backends/backendsCommon/DataLayoutIndexed.cpp deleted file mode 100644 index b99d52c5b9..0000000000 --- a/src/backends/backendsCommon/DataLayoutIndexed.cpp +++ /dev/null @@ -1,22 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#include "DataLayoutIndexed.hpp" - -namespace armnn { - -// Definition in include/armnn/Types.hpp -bool operator==(const DataLayout& dataLayout, const DataLayoutIndexed& indexed) -{ - return dataLayout == indexed.GetDataLayout(); -} - -// Definition in include/armnn/Types.hpp -bool operator==(const DataLayoutIndexed& indexed, const DataLayout& dataLayout) -{ - return indexed.GetDataLayout() == dataLayout; -} - -} diff --git a/src/backends/backendsCommon/DataLayoutIndexed.hpp b/src/backends/backendsCommon/DataLayoutIndexed.hpp deleted file mode 100644 index 8547475706..0000000000 --- a/src/backends/backendsCommon/DataLayoutIndexed.hpp +++ /dev/null @@ -1,51 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// -#pragma once -#include <armnn/Types.hpp> - -namespace armnn -{ - -// Provides access to the appropriate indexes for Channels, Height and Width based on DataLayout -class DataLayoutIndexed -{ -public: - DataLayoutIndexed(DataLayout dataLayout) : m_DataLayout(dataLayout) - { - switch (dataLayout) - { - case DataLayout::NHWC: - m_ChannelsIndex = 3; - m_HeightIndex = 1; - m_WidthIndex = 2; - break; - case DataLayout::NCHW: - m_ChannelsIndex = 1; - m_HeightIndex = 2; - m_WidthIndex = 3; - break; - default: - throw InvalidArgumentException("Unknown DataLayout value: " + - std::to_string(static_cast<int>(dataLayout))); - } - } - - DataLayout GetDataLayout() const { return m_DataLayout; } - unsigned int GetChannelsIndex() const { return m_ChannelsIndex; } - unsigned int GetHeightIndex() const { return m_HeightIndex; } - unsigned int GetWidthIndex() const { return m_WidthIndex; } - -private: - DataLayout m_DataLayout; - unsigned int m_ChannelsIndex; - unsigned int m_HeightIndex; - unsigned int m_WidthIndex; -}; - -// Equality methods -bool operator==(const DataLayout& dataLayout, const DataLayoutIndexed& indexed); -bool operator==(const DataLayoutIndexed& indexed, const DataLayout& dataLayout); - -} diff --git a/src/backends/backendsCommon/WorkloadData.cpp b/src/backends/backendsCommon/WorkloadData.cpp index 08f78fffe2..e0ba4a7ef7 100644 --- a/src/backends/backendsCommon/WorkloadData.cpp +++ b/src/backends/backendsCommon/WorkloadData.cpp @@ -6,7 +6,7 @@ #include "CpuTensorHandle.hpp" -#include <backendsCommon/DataLayoutIndexed.hpp> +#include <DataLayoutIndexed.hpp> #include <algorithm> #include <iomanip> @@ -15,6 +15,8 @@ #include <boost/format.hpp> +using namespace armnnUtils; + namespace armnn { diff --git a/src/backends/backendsCommon/common.mk b/src/backends/backendsCommon/common.mk index 58de080794..9c3d50795e 100644 --- a/src/backends/backendsCommon/common.mk +++ b/src/backends/backendsCommon/common.mk @@ -9,7 +9,6 @@ COMMON_SOURCES := \ BackendRegistry.cpp \ - DataLayoutIndexed.cpp \ CpuTensorHandle.cpp \ ILayerSupport.cpp \ MemCopyWorkload.cpp \ diff --git a/src/backends/backendsCommon/test/BatchNormTestImpl.hpp b/src/backends/backendsCommon/test/BatchNormTestImpl.hpp index 6325130218..d63f0b5610 100644 --- a/src/backends/backendsCommon/test/BatchNormTestImpl.hpp +++ b/src/backends/backendsCommon/test/BatchNormTestImpl.hpp @@ -16,6 +16,8 @@ #include <test/TensorHelpers.hpp> +#include <DataLayoutIndexed.hpp> + template<typename T> LayerTestResult<T, 4> BatchNormTestImpl( armnn::IWorkloadFactory& workloadFactory, @@ -30,7 +32,7 @@ LayerTestResult<T, 4> BatchNormTestImpl( armnn::TensorInfo inputTensorInfo(inputOutputTensorShape, armnn::GetDataType<T>()); armnn::TensorInfo outputTensorInfo(inputOutputTensorShape, armnn::GetDataType<T>()); - armnn::DataLayoutIndexed dataLayoutIndexed(dataLayout); + armnnUtils::DataLayoutIndexed dataLayoutIndexed(dataLayout); armnn::TensorInfo tensorInfo({ inputOutputTensorShape[dataLayoutIndexed.GetChannelsIndex()] }, armnn::GetDataType<T>()); @@ -188,4 +190,4 @@ LayerTestResult<T,4> BatchNormTestNhwcImpl( CopyDataFromITensorHandle(&ret.output[0][0][0][0], outputHandle.get()); return ret; -}
\ No newline at end of file +} diff --git a/src/backends/backendsCommon/test/Conv2dTestImpl.hpp b/src/backends/backendsCommon/test/Conv2dTestImpl.hpp index d137c8082a..0ba8d7552c 100755 --- a/src/backends/backendsCommon/test/Conv2dTestImpl.hpp +++ b/src/backends/backendsCommon/test/Conv2dTestImpl.hpp @@ -7,21 +7,24 @@ #include "WorkloadTestUtils.hpp" #include "TensorUtils.hpp" -#include <string> +#include <Permute.hpp> +#include <DataLayoutIndexed.hpp> + +#include <test/TensorHelpers.hpp> + #include <armnn/ArmNN.hpp> #include <armnn/Tensor.hpp> #include <armnn/TypesUtils.hpp> -#include <test/TensorHelpers.hpp> -#include "QuantizeHelper.hpp" - -#include <backendsCommon/DataLayoutIndexed.hpp> #include <backendsCommon/CpuTensorHandle.hpp> #include <backendsCommon/IBackendInternal.hpp> #include <backendsCommon/WorkloadFactory.hpp> -#include "Permute.hpp" +#include <backendsCommon/test/QuantizeHelper.hpp> + #include <boost/numeric/conversion/cast.hpp> +#include <string> + // Mapping from input type to bias type for fully connected layers. // float => float, uint8_t => int32_t template<typename T> @@ -1141,7 +1144,7 @@ LayerTestResult<T, 4> CompareDepthwiseConvolution2dTestImpl( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, armnn::IWorkloadFactory& refWorkloadFactory, - const armnn::DataLayoutIndexed& layout) + const armnnUtils::DataLayoutIndexed& layout) { unsigned int inputHeight = 8; unsigned int inputWidth = 16; diff --git a/src/backends/backendsCommon/test/Pooling2dTestImpl.hpp b/src/backends/backendsCommon/test/Pooling2dTestImpl.hpp index 0f33ac01a5..f5e3386fed 100644 --- a/src/backends/backendsCommon/test/Pooling2dTestImpl.hpp +++ b/src/backends/backendsCommon/test/Pooling2dTestImpl.hpp @@ -20,6 +20,8 @@ #include <test/TensorHelpers.hpp> +#include <DataLayoutIndexed.hpp> + #include <boost/numeric/conversion/cast.hpp> #include <algorithm> @@ -36,7 +38,7 @@ LayerTestResult<T, 4> SimplePooling2dTestImpl( const boost::multi_array<T, 4>& outputExpected) { const armnn::DataLayout dataLayout = descriptor.m_DataLayout; - const armnn::DataLayoutIndexed dimensionIndices = dataLayout; + const armnnUtils::DataLayoutIndexed dimensionIndices = dataLayout; auto heightIndex = dimensionIndices.GetHeightIndex(); auto widthIndex = dimensionIndices.GetWidthIndex(); auto channelsIndex = dimensionIndices.GetChannelsIndex(); diff --git a/src/backends/neon/workloads/NeonDepthwiseConvolutionWorkload.cpp b/src/backends/neon/workloads/NeonDepthwiseConvolutionWorkload.cpp index d294705eaa..02c17851cd 100644 --- a/src/backends/neon/workloads/NeonDepthwiseConvolutionWorkload.cpp +++ b/src/backends/neon/workloads/NeonDepthwiseConvolutionWorkload.cpp @@ -8,7 +8,10 @@ #include <aclCommon/ArmComputeTensorUtils.hpp> #include <neon/NeonLayerSupport.hpp> #include <backendsCommon/CpuTensorHandle.hpp> -#include <backendsCommon/DataLayoutIndexed.hpp> + +#include <DataLayoutIndexed.hpp> + +using namespace armnnUtils; namespace armnn { diff --git a/src/backends/reference/workloads/BatchNormImpl.hpp b/src/backends/reference/workloads/BatchNormImpl.hpp index fbcb2fdf5a..799e7a327b 100644 --- a/src/backends/reference/workloads/BatchNormImpl.hpp +++ b/src/backends/reference/workloads/BatchNormImpl.hpp @@ -10,6 +10,8 @@ #include <armnn/Tensor.hpp> +#include <DataLayoutIndexed.hpp> + #include <cmath> namespace armnn @@ -34,7 +36,7 @@ static void BatchNormImpl(NormData data, outputData, data.m_Parameters.m_DataLayout); - DataLayoutIndexed dataLayout(data.m_Parameters.m_DataLayout); + armnnUtils::DataLayoutIndexed dataLayout(data.m_Parameters.m_DataLayout); for (unsigned int c = 0; c < inputInfo.GetShape()[dataLayout.GetChannelsIndex()]; c++) { diff --git a/src/backends/reference/workloads/BatchToSpaceNd.cpp b/src/backends/reference/workloads/BatchToSpaceNd.cpp index 4313085ba5..5f64213b39 100644 --- a/src/backends/reference/workloads/BatchToSpaceNd.cpp +++ b/src/backends/reference/workloads/BatchToSpaceNd.cpp @@ -11,6 +11,8 @@ #include <boost/assert.hpp> +using namespace armnnUtils; + namespace armnn { diff --git a/src/backends/reference/workloads/BatchToSpaceNd.hpp b/src/backends/reference/workloads/BatchToSpaceNd.hpp index 5d932cc991..f08df93584 100644 --- a/src/backends/reference/workloads/BatchToSpaceNd.hpp +++ b/src/backends/reference/workloads/BatchToSpaceNd.hpp @@ -5,19 +5,21 @@ #pragma once -#include <backendsCommon/DataLayoutIndexed.hpp> +#include <armnn/Types.hpp> + #include <backendsCommon/Workload.hpp> #include <backendsCommon/WorkloadData.hpp> -#include <armnn/Types.hpp> + +#include <DataLayoutIndexed.hpp> namespace armnn { -void BatchToSpaceNd(const DataLayoutIndexed& dataLayout, +void BatchToSpaceNd(const armnnUtils::DataLayoutIndexed& dataLayout, const TensorInfo& inputTensorInfo, const TensorInfo& outputTensorInfo, const std::vector<unsigned int>& blockShape, const std::vector<std::pair<unsigned int, unsigned int>>& cropsData, const float* inputData, float* outputData); -} // namespace armnn
\ No newline at end of file +} // namespace armnn diff --git a/src/backends/reference/workloads/ConvImpl.hpp b/src/backends/reference/workloads/ConvImpl.hpp index 0b9f8f70c8..b8e2deaa9c 100644 --- a/src/backends/reference/workloads/ConvImpl.hpp +++ b/src/backends/reference/workloads/ConvImpl.hpp @@ -10,7 +10,7 @@ #include <armnn/Tensor.hpp> -#include <backendsCommon/DataLayoutIndexed.hpp> +#include <DataLayoutIndexed.hpp> #include <boost/assert.hpp> #include <boost/numeric/conversion/cast.hpp> @@ -73,7 +73,7 @@ static void ConvImpl(ConvData data, GetOutputTensorData<InputType>(0, data), data.m_Parameters.m_DataLayout); - const DataLayoutIndexed dataLayoutIndexed(data.m_Parameters.m_DataLayout); + const armnnUtils::DataLayoutIndexed dataLayoutIndexed(data.m_Parameters.m_DataLayout); const unsigned int channelsIndex = dataLayoutIndexed.GetChannelsIndex(); const unsigned int heightIndex = dataLayoutIndexed.GetHeightIndex(); const unsigned int widthIndex = dataLayoutIndexed.GetWidthIndex(); diff --git a/src/backends/reference/workloads/Pooling2d.cpp b/src/backends/reference/workloads/Pooling2d.cpp index d2fd0da42c..a9cac32ced 100644 --- a/src/backends/reference/workloads/Pooling2d.cpp +++ b/src/backends/reference/workloads/Pooling2d.cpp @@ -135,6 +135,8 @@ namespace } } +using namespace armnnUtils; + namespace armnn { @@ -144,7 +146,7 @@ void Pooling2d(const float* in, const TensorInfo& outputInfo, const Pooling2dDescriptor& params) { - const armnn::DataLayoutIndexed dataLayout = params.m_DataLayout; + const DataLayoutIndexed dataLayout = params.m_DataLayout; auto channelsIndex = dataLayout.GetChannelsIndex(); auto heightIndex = dataLayout.GetHeightIndex(); auto widthIndex = dataLayout.GetWidthIndex(); diff --git a/src/backends/reference/workloads/RefL2NormalizationFloat32Workload.cpp b/src/backends/reference/workloads/RefL2NormalizationFloat32Workload.cpp index d21cfa947a..bc82739f6e 100644 --- a/src/backends/reference/workloads/RefL2NormalizationFloat32Workload.cpp +++ b/src/backends/reference/workloads/RefL2NormalizationFloat32Workload.cpp @@ -12,6 +12,8 @@ #include <cmath> +using namespace armnnUtils; + namespace armnn { diff --git a/src/backends/reference/workloads/RefNormalizationFloat32Workload.cpp b/src/backends/reference/workloads/RefNormalizationFloat32Workload.cpp index 4cec02338a..3a2f2b9658 100644 --- a/src/backends/reference/workloads/RefNormalizationFloat32Workload.cpp +++ b/src/backends/reference/workloads/RefNormalizationFloat32Workload.cpp @@ -15,6 +15,8 @@ #include <boost/log/trivial.hpp> #include <boost/numeric/conversion/cast.hpp> +using namespace armnnUtils; + namespace armnn { diff --git a/src/backends/reference/workloads/ResizeBilinear.cpp b/src/backends/reference/workloads/ResizeBilinear.cpp index e098c6c20d..2d1087c9a0 100644 --- a/src/backends/reference/workloads/ResizeBilinear.cpp +++ b/src/backends/reference/workloads/ResizeBilinear.cpp @@ -12,6 +12,8 @@ #include <cmath> #include <algorithm> +using namespace armnnUtils; + namespace armnn { diff --git a/src/backends/reference/workloads/ResizeBilinear.hpp b/src/backends/reference/workloads/ResizeBilinear.hpp index 3da88515a2..814a0f2257 100644 --- a/src/backends/reference/workloads/ResizeBilinear.hpp +++ b/src/backends/reference/workloads/ResizeBilinear.hpp @@ -7,15 +7,15 @@ #include <armnn/Tensor.hpp> -#include <backendsCommon/DataLayoutIndexed.hpp> +#include <DataLayoutIndexed.hpp> namespace armnn { -void ResizeBilinear(const float* in, - const TensorInfo& inputInfo, - float* out, - const TensorInfo& outputInfo, - DataLayoutIndexed dataLayout = DataLayout::NCHW); +void ResizeBilinear(const float* in, + const TensorInfo& inputInfo, + float* out, + const TensorInfo& outputInfo, + armnnUtils::DataLayoutIndexed dataLayout = DataLayout::NCHW); } //namespace armnn diff --git a/src/backends/reference/workloads/SpaceToBatchNd.cpp b/src/backends/reference/workloads/SpaceToBatchNd.cpp index 6d0d004336..51e45a8c3f 100644 --- a/src/backends/reference/workloads/SpaceToBatchNd.cpp +++ b/src/backends/reference/workloads/SpaceToBatchNd.cpp @@ -5,7 +5,9 @@ #include "SpaceToBatchNd.hpp" -#include <backendsCommon/DataLayoutIndexed.hpp> +#include <DataLayoutIndexed.hpp> + +using namespace armnnUtils; namespace armnn { diff --git a/src/backends/reference/workloads/TensorBufferArrayView.hpp b/src/backends/reference/workloads/TensorBufferArrayView.hpp index 5593ba6a5e..aecec6757a 100644 --- a/src/backends/reference/workloads/TensorBufferArrayView.hpp +++ b/src/backends/reference/workloads/TensorBufferArrayView.hpp @@ -7,10 +7,10 @@ #include <armnn/Tensor.hpp> -#include <backendsCommon/DataLayoutIndexed.hpp> - #include <boost/assert.hpp> +#include <DataLayoutIndexed.hpp> + namespace armnn { @@ -19,7 +19,8 @@ template <typename DataType> class TensorBufferArrayView { public: - TensorBufferArrayView(const TensorShape& shape, DataType* data, DataLayoutIndexed dataLayout = DataLayout::NCHW) + TensorBufferArrayView(const TensorShape& shape, DataType* data, + armnnUtils::DataLayoutIndexed dataLayout = DataLayout::NCHW) : m_Shape(shape) , m_Data(data) , m_DataLayout(dataLayout) @@ -60,9 +61,9 @@ public: } private: - const TensorShape m_Shape; - DataType* m_Data; - DataLayoutIndexed m_DataLayout; + const TensorShape m_Shape; + DataType* m_Data; + armnnUtils::DataLayoutIndexed m_DataLayout; }; } //namespace armnn |