diff options
Diffstat (limited to 'src/backends/tosaCommon/test/OneToManyMappingTests.cpp')
-rw-r--r-- | src/backends/tosaCommon/test/OneToManyMappingTests.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/backends/tosaCommon/test/OneToManyMappingTests.cpp b/src/backends/tosaCommon/test/OneToManyMappingTests.cpp index 94dd537a30..f439b044a4 100644 --- a/src/backends/tosaCommon/test/OneToManyMappingTests.cpp +++ b/src/backends/tosaCommon/test/OneToManyMappingTests.cpp @@ -4,7 +4,9 @@ // #include "AvgPool2DIgnoreValueChecker.hpp" +#include "QuantizeChecker.hpp" #include "SplitChecker.hpp" + #include <armnn/IRuntime.hpp> using namespace armnn; @@ -84,6 +86,46 @@ TEST_CASE("GetTosaMappingFromLayer_AvgPool2DIgnoreValueLayer") descriptor); } +TEST_CASE("GetTosaMapping_QuantizeLayer") +{ + NullDescriptor descriptor; + DataType outputDataType = DataType::Signed32; + + TensorInfo inputTensorInfo({ 1, 3, 3, 1 }, DataType::Float32); + TensorInfo outputTensorInfo({ 1, 3, 3, 1 }, outputDataType); + std::vector<int32_t> shape = { 1, 3, 3, 1 }; + + TosaSerializationBasicBlock* basicBlock = + GetTosaMapping(nullptr, LayerType::Quantize, {&inputTensorInfo}, {&outputTensorInfo}, descriptor); + VerifyQuantize(basicBlock, shape, ArmNNToDType(DataType::Float32), ArmNNToDType(outputDataType)); +} +TEST_CASE("GetTosaMappingFromLayer_QuantizeLayer") +{ + IRuntime::CreationOptions options; + IRuntimePtr runtime(IRuntime::Create(options)); + // Builds up the structure of the network. + INetworkPtr net(INetwork::Create()); + NullDescriptor descriptor; + DataType outputDataType = DataType::Signed32; + + IConnectableLayer* input0 = net->AddInputLayer(0, "input0"); + IConnectableLayer* quantize = net->AddQuantizeLayer("quantize"); + IConnectableLayer* output = net->AddOutputLayer(0, "output"); + + input0->GetOutputSlot(0).Connect(quantize->GetInputSlot(0)); + quantize->GetOutputSlot(0).Connect(output->GetInputSlot(0)); + + armnn::TensorInfo inputTensorInfo({ 1, 3, 3, 1 }, DataType::Float32); + armnn::TensorInfo outputTensorInfo({ 1, 3, 3, 1 }, outputDataType); + std::vector<int32_t> shape = { 1, 3, 3, 1 }; + + input0->GetOutputSlot(0).SetTensorInfo(inputTensorInfo); + quantize->GetOutputSlot(0).SetTensorInfo(outputTensorInfo); + + TosaSerializationBasicBlock* basicBlock = GetTosaMappingFromLayer(PolymorphicDowncast<Layer*>(quantize)); + VerifyQuantize(basicBlock, shape, ArmNNToDType(DataType::Float32), ArmNNToDType(outputDataType)); +} + TEST_CASE("GetTosaMapping_SplitLayer") { const unsigned int numViews = 3; |