22 #include <boost/test/unit_test.hpp> 31 std::vector<float> expectedOutput =
33 1.f, 1.f, 1.f, 1.f, 5.f, 5.f, 5.f, 5.f,
34 3.f, 3.f, 3.f, 3.f, 4.f, 4.f, 4.f, 4.f
37 ElementwiseUnarySimpleEndToEnd<armnn::DataType::Float32>(
defaultBackends,
48 #if defined(ARMNNREF_ENABLED) 54 using namespace armnn;
83 BOOST_TEST(runtime->LoadNetwork(netId, std::move(optNet)) ==
Status::Success);
90 const std::vector<uint8_t> expectedOutput({ 0, 0, 0, 0, 1, 1, 1, 1,
91 0, 0, 0, 0, 0, 0, 0, 0 });
100 const std::vector<uint8_t> expectedOutput({ 0, 0, 0, 0, 1, 1, 1, 1,
101 0, 0, 0, 0, 0, 0, 0, 0 });
110 const std::vector<uint8_t> expectedOutput({ 0, 1, 0, 0, 0, 1,
120 const std::vector<uint8_t> expectedOutput({ 0, 1, 0, 0, 0, 1,
123 ComparisonBroadcastEndToEnd<armnn::DataType::QAsymmU8>(
defaultBackends,
347 TransposeConvolution2dEndToEnd<armnn::DataType::Float32, armnn::DataType::Float32>(
353 TransposeConvolution2dEndToEnd<armnn::DataType::QAsymmU8, armnn::DataType::Signed32>(
359 TransposeConvolution2dEndToEnd<armnn::DataType::Float32, armnn::DataType::Float32>(
365 TransposeConvolution2dEndToEnd<armnn::DataType::QAsymmU8, armnn::DataType::Signed32>(
399 BOOST_AUTO_TEST_CASE(NeonExportOutputWithSeveralOutputSlotConnectionsTest, * boost::unit_test::disabled())
519 0.0f, 0.0f, 0.0f, 0.0f,
520 0.0f, 1.0f, 0.0f, 0.0f,
521 0.0f, -1.0f, 0.0f, 0.0f,
522 0.0f, 0.0f, 0.0f, 0.0f,
523 0.0f, 1.0f, 0.0f, 0.0f,
524 0.0f, 0.0f, 0.0f, 0.0f
526 std::vector<float>
scores({
535 0.5f, 0.5f, 1.0f, 1.0f,
536 0.5f, 0.5f, 1.0f, 1.0f,
537 0.5f, 0.5f, 1.0f, 1.0f,
538 0.5f, 10.5f, 1.0f, 1.0f,
539 0.5f, 10.5f, 1.0f, 1.0f,
540 0.5f, 100.5f, 1.0f, 1.0f
553 BOOST_AUTO_TEST_CASE(NeonDetectionPostProcessRegularNmsUint8Test, * boost::unit_test::disabled())
560 boxEncodingsInfo.SetQuantizationOffset(1);
567 0.0f, 0.0f, 0.0f, 0.0f,
568 0.0f, 1.0f, 0.0f, 0.0f,
569 0.0f, -1.0f, 0.0f, 0.0f,
570 0.0f, 0.0f, 0.0f, 0.0f,
571 0.0f, 1.0f, 0.0f, 0.0f,
572 0.0f, 0.0f, 0.0f, 0.0f
574 std::vector<float>
scores({
583 0.5f, 0.5f, 1.0f, 1.0f,
584 0.5f, 0.5f, 1.0f, 1.0f,
585 0.5f, 0.5f, 1.0f, 1.0f,
586 0.5f, 10.5f, 1.0f, 1.0f,
587 0.5f, 10.5f, 1.0f, 1.0f,
588 0.5f, 100.5f, 1.0f, 1.0f
599 1.0f, 1, 0.01f, 0, 0.5f, 0);
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
638 boxEncodingsInfo.SetQuantizationOffset(1);
645 0.0f, 0.0f, 0.0f, 0.0f,
646 0.0f, 1.0f, 0.0f, 0.0f,
647 0.0f, -1.0f, 0.0f, 0.0f,
648 0.0f, 0.0f, 0.0f, 0.0f,
649 0.0f, 1.0f, 0.0f, 0.0f,
650 0.0f, 0.0f, 0.0f, 0.0f
652 std::vector<float>
scores({
661 0.5f, 0.5f, 1.0f, 1.0f,
662 0.5f, 0.5f, 1.0f, 1.0f,
663 0.5f, 0.5f, 1.0f, 1.0f,
664 0.5f, 10.5f, 1.0f, 1.0f,
665 0.5f, 10.5f, 1.0f, 1.0f,
666 0.5f, 100.5f, 1.0f, 1.0f
677 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 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 })