24 #include <boost/test/unit_test.hpp> 33 std::vector<float> expectedOutput =
35 1.f, 1.f, 1.f, 1.f, 5.f, 5.f, 5.f, 5.f,
36 3.f, 3.f, 3.f, 3.f, 4.f, 4.f, 4.f, 4.f
39 ElementwiseUnarySimpleEndToEnd<armnn::DataType::Float32>(
defaultBackends,
50 #if defined(ARMNNREF_ENABLED) 56 using namespace armnn;
85 BOOST_TEST(runtime->LoadNetwork(netId, std::move(optNet)) ==
Status::Success);
92 const std::vector<uint8_t> expectedOutput({ 0, 0, 0, 0, 1, 1, 1, 1,
93 0, 0, 0, 0, 0, 0, 0, 0 });
102 const std::vector<uint8_t> expectedOutput({ 0, 0, 0, 0, 1, 1, 1, 1,
103 0, 0, 0, 0, 0, 0, 0, 0 });
112 const std::vector<uint8_t> expectedOutput({ 0, 1, 0, 0, 0, 1,
122 const std::vector<uint8_t> expectedOutput({ 0, 1, 0, 0, 0, 1,
125 ComparisonBroadcastEndToEnd<armnn::DataType::QAsymmU8>(
defaultBackends,
380 TransposeConvolution2dEndToEnd<armnn::DataType::Float32, armnn::DataType::Float32>(
386 TransposeConvolution2dEndToEnd<armnn::DataType::QAsymmU8, armnn::DataType::Signed32>(
392 TransposeConvolution2dEndToEnd<armnn::DataType::Float32, armnn::DataType::Float32>(
398 TransposeConvolution2dEndToEnd<armnn::DataType::QAsymmU8, armnn::DataType::Signed32>(
432 BOOST_AUTO_TEST_CASE(NeonExportOutputWithSeveralOutputSlotConnectionsTest, * boost::unit_test::disabled())
557 0.0f, 0.0f, 0.0f, 0.0f,
558 0.0f, 1.0f, 0.0f, 0.0f,
559 0.0f, -1.0f, 0.0f, 0.0f,
560 0.0f, 0.0f, 0.0f, 0.0f,
561 0.0f, 1.0f, 0.0f, 0.0f,
562 0.0f, 0.0f, 0.0f, 0.0f
564 std::vector<float>
scores({
573 0.5f, 0.5f, 1.0f, 1.0f,
574 0.5f, 0.5f, 1.0f, 1.0f,
575 0.5f, 0.5f, 1.0f, 1.0f,
576 0.5f, 10.5f, 1.0f, 1.0f,
577 0.5f, 10.5f, 1.0f, 1.0f,
578 0.5f, 100.5f, 1.0f, 1.0f
591 BOOST_AUTO_TEST_CASE(NeonDetectionPostProcessRegularNmsUint8Test, * boost::unit_test::disabled())
598 boxEncodingsInfo.SetQuantizationOffset(1);
605 0.0f, 0.0f, 0.0f, 0.0f,
606 0.0f, 1.0f, 0.0f, 0.0f,
607 0.0f, -1.0f, 0.0f, 0.0f,
608 0.0f, 0.0f, 0.0f, 0.0f,
609 0.0f, 1.0f, 0.0f, 0.0f,
610 0.0f, 0.0f, 0.0f, 0.0f
612 std::vector<float>
scores({
621 0.5f, 0.5f, 1.0f, 1.0f,
622 0.5f, 0.5f, 1.0f, 1.0f,
623 0.5f, 0.5f, 1.0f, 1.0f,
624 0.5f, 10.5f, 1.0f, 1.0f,
625 0.5f, 10.5f, 1.0f, 1.0f,
626 0.5f, 100.5f, 1.0f, 1.0f
637 1.0f, 1, 0.01f, 0, 0.5f, 0);
643 0.0f, 0.0f, 0.0f, 0.0f,
644 0.0f, 1.0f, 0.0f, 0.0f,
645 0.0f, -1.0f, 0.0f, 0.0f,
646 0.0f, 0.0f, 0.0f, 0.0f,
647 0.0f, 1.0f, 0.0f, 0.0f,
648 0.0f, 0.0f, 0.0f, 0.0f
650 std::vector<float>
scores({
659 0.5f, 0.5f, 1.0f, 1.0f,
660 0.5f, 0.5f, 1.0f, 1.0f,
661 0.5f, 0.5f, 1.0f, 1.0f,
662 0.5f, 10.5f, 1.0f, 1.0f,
663 0.5f, 10.5f, 1.0f, 1.0f,
664 0.5f, 100.5f, 1.0f, 1.0f
676 boxEncodingsInfo.SetQuantizationOffset(1);
683 0.0f, 0.0f, 0.0f, 0.0f,
684 0.0f, 1.0f, 0.0f, 0.0f,
685 0.0f, -1.0f, 0.0f, 0.0f,
686 0.0f, 0.0f, 0.0f, 0.0f,
687 0.0f, 1.0f, 0.0f, 0.0f,
688 0.0f, 0.0f, 0.0f, 0.0f
690 std::vector<float>
scores({
699 0.5f, 0.5f, 1.0f, 1.0f,
700 0.5f, 0.5f, 1.0f, 1.0f,
701 0.5f, 0.5f, 1.0f, 1.0f,
702 0.5f, 10.5f, 1.0f, 1.0f,
703 0.5f, 10.5f, 1.0f, 1.0f,
704 0.5f, 100.5f, 1.0f, 1.0f
715 1.0f, 1, 0.01f, 0, 0.5f, 0);
BOOST_AUTO_TEST_SUITE(TensorflowLiteParser)
void SpaceToDepthNchwEndToEndTest1(const std::vector< armnn::BackendId > &defaultBackends)
static IRuntimePtr Create(const CreationOptions &options)
Interface for a layer that is connectable to other layers via InputSlots and OutputSlots.
CPU Execution: Reference C++ kernels.
std::unique_ptr< IRuntime, void(*)(IRuntime *runtime)> IRuntimePtr
armnn::TensorInfo anchorsInfo({ 6, 4 }, armnn::DataType::Float32)
void InstanceNormalizationNchwEndToEndTest1(const std::vector< armnn::BackendId > &defaultBackends)
std::vector< float > boxEncodings({ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f })
Copyright (c) 2020 ARM Limited.
void QLstmEndToEnd(const std::vector< armnn::BackendId > &backends)
void SpaceToDepthNhwcEndToEndTest2(const std::vector< armnn::BackendId > &defaultBackends)
virtual void SetTensorInfo(const TensorInfo &tensorInfo)=0
void SpaceToDepthNhwcEndToEndTest1(const std::vector< armnn::BackendId > &defaultBackends)
void SpaceToDepthNchwEndToEndTest2(const std::vector< armnn::BackendId > &defaultBackends)
IOptimizedNetworkPtr Optimize(const INetwork &network, const std::vector< BackendId > &backendPreferences, const IDeviceSpec &deviceSpec, const OptimizerOptions &options=OptimizerOptions(), Optional< std::vector< std::string > &> messages=EmptyOptional())
Create an optimized version of the network.
std::vector< uint8_t > qBoxEncodings(boxEncodings.size(), 0)
int32_t GetQuantizationOffset() const
float GetQuantizationScale() const
std::unique_ptr< IOptimizedNetwork, void(*)(IOptimizedNetwork *network)> IOptimizedNetworkPtr
void SetQuantizationScale(float scale)
std::vector< uint8_t > qAnchors(anchors.size(), 0)
BOOST_AUTO_TEST_CASE(CheckConvolution2dLayer)
BOOST_AUTO_TEST_SUITE_END()
void QuantizedLstmEndToEnd(const std::vector< armnn::BackendId > &backends)
std::vector< float > scores({ 0.0f, 0.9f, 0.8f, 0.0f, 0.75f, 0.72f, 0.0f, 0.6f, 0.5f, 0.0f, 0.93f, 0.95f, 0.0f, 0.5f, 0.4f, 0.0f, 0.3f, 0.2f })
std::vector< armnn::BackendId > defaultBackends
CPU Execution: NEON: ArmCompute.
std::vector< uint8_t > qScores(scores.size(), 0)
virtual const IInputSlot & GetInputSlot(unsigned int index) const =0
Get a const input slot handle by slot index.
armnn::TensorInfo scoresInfo({ 1, 6, 3 }, armnn::DataType::Float32)
void QuantizeData(uint8_t *quant, const float *dequant, const TensorInfo &info)
virtual const IOutputSlot & GetOutputSlot(unsigned int index) const =0
Get the const output slot handle by slot index.
void SetQuantizationOffset(int32_t offset)
std::unique_ptr< INetwork, void(*)(INetwork *network)> INetworkPtr
virtual int Connect(IInputSlot &destination)=0
armnn::Runtime::CreationOptions::ExternalProfilingOptions options
A NormalizationDescriptor for the NormalizationLayer.
BOOST_AUTO_TEST_CASE(NeonAbsEndToEndTestFloat32)
static INetworkPtr Create()
unsigned int GetNumElements() const
void InstanceNormalizationNchwEndToEndTest2(const std::vector< armnn::BackendId > &defaultBackends)
std::vector< float > anchors({ 0.5f, 0.5f, 1.0f, 1.0f, 0.5f, 0.5f, 1.0f, 1.0f, 0.5f, 0.5f, 1.0f, 1.0f, 0.5f, 10.5f, 1.0f, 1.0f, 0.5f, 10.5f, 1.0f, 1.0f, 0.5f, 100.5f, 1.0f, 1.0f })