diff options
Diffstat (limited to 'src/backends/backendsCommon')
4 files changed, 35 insertions, 1 deletions
diff --git a/src/backends/backendsCommon/WorkloadData.cpp b/src/backends/backendsCommon/WorkloadData.cpp index 676559cb2c..530dc48a74 100644 --- a/src/backends/backendsCommon/WorkloadData.cpp +++ b/src/backends/backendsCommon/WorkloadData.cpp @@ -1675,7 +1675,8 @@ void ReshapeQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) const DataType::QAsymmS8, DataType::QAsymmU8, DataType::QSymmS16, - DataType::Signed32 + DataType::Signed32, + DataType::Boolean }; ValidateDataTypes(inputTensorInfo, supportedTypes, descriptorName); diff --git a/src/backends/backendsCommon/WorkloadFactoryBase.hpp b/src/backends/backendsCommon/WorkloadFactoryBase.hpp index bfdb5e9b33..295202324e 100644 --- a/src/backends/backendsCommon/WorkloadFactoryBase.hpp +++ b/src/backends/backendsCommon/WorkloadFactoryBase.hpp @@ -119,6 +119,10 @@ public: RsqrtQueueDescriptor rsqrtDescriptor; return CreateRsqrt(rsqrtDescriptor, info); } + else if (descriptor.m_Parameters.m_Operation == UnaryOperation::LogicalNot) + { + return CreateLogicalUnary(descriptor, info); + } return nullptr; } diff --git a/src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.cpp index d233e89be8..fbedb943f4 100644 --- a/src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.cpp @@ -170,6 +170,30 @@ LayerTestResult<T, 5> Reshape5dTest( workloadFactory, memoryManager, tensorHandleFactory, inputTensorInfo, outputTensorInfo, input, outputExpected); } +LayerTestResult<uint8_t, 2> ReshapeBooleanTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) +{ + armnn::TensorInfo inputTensorInfo; + armnn::TensorInfo outputTensorInfo; + + unsigned int inputShape[] = { 1, 4 }; + unsigned int outputShape[] = { 2, 2 }; + + inputTensorInfo = armnn::TensorInfo(2, inputShape, armnn::DataType::Boolean); + inputTensorInfo.SetQuantizationScale(1.0f); + outputTensorInfo = armnn::TensorInfo(2, outputShape, armnn::DataType::Boolean); + outputTensorInfo.SetQuantizationScale(1.0f); + + const std::vector<uint8_t> input = { true, false, false, true }; + + const std::vector<uint8_t> outputExpected = { true, false, false, true }; + + return SimpleReshapeTestImpl<uint8_t, 2>( + workloadFactory, memoryManager, tensorHandleFactory, inputTensorInfo, outputTensorInfo, input, outputExpected); +} + // // Explicit template specializations // diff --git a/src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.hpp index 661702b9e7..a29a965fdc 100644 --- a/src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.hpp +++ b/src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.hpp @@ -23,3 +23,8 @@ LayerTestResult<T, 5> Reshape5dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory); + +LayerTestResult<uint8_t, 2> ReshapeBooleanTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); |