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);
void SpaceToDepthNhwcEndToEndTest2(const std::vector< armnn::BackendId > &defaultBackends)
virtual const IInputSlot & GetInputSlot(unsigned int index) const =0
int32_t GetQuantizationOffset() const
std::vector< uint8_t > qScores(scores.size(), 0)
void SpaceToDepthNchwEndToEndTest1(const std::vector< armnn::BackendId > &defaultBackends)
A NormalizationDescriptor for the NormalizationLayer.
void QuantizedLstmEndToEnd(const std::vector< armnn::BackendId > &backends)
IOptimizedNetworkPtr Optimize(const INetwork &network, const std::vector< BackendId > &backendPreferences, const IDeviceSpec &deviceSpec, const OptimizerOptions &options=OptimizerOptions(), Optional< std::vector< std::string > &> messages=EmptyOptional())
BOOST_AUTO_TEST_CASE(NeonAbsEndToEndTestFloat32)
void QuantizeData(uint8_t *quant, const float *dequant, const TensorInfo &info)
BOOST_AUTO_TEST_CASE(CheckConvolution2dLayer)
void SpaceToDepthNchwEndToEndTest2(const std::vector< armnn::BackendId > &defaultBackends)
std::vector< uint8_t > qAnchors(anchors.size(), 0)
virtual void SetTensorInfo(const TensorInfo &tensorInfo)=0
armnn::TensorInfo scoresInfo({ 1, 6, 3 }, armnn::DataType::Float32)
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 })
void SetQuantizationScale(float scale)
void SpaceToDepthNhwcEndToEndTest1(const std::vector< armnn::BackendId > &defaultBackends)
static INetworkPtr Create()
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 })
std::unique_ptr< INetwork, void(*)(INetwork *network)> INetworkPtr
CPU Execution: Reference C++ kernels.
static IRuntimePtr Create(const CreationOptions &options)
BOOST_AUTO_TEST_SUITE_END()
CPU Execution: NEON: ArmCompute.
std::vector< uint8_t > qBoxEncodings(boxEncodings.size(), 0)
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 })
unsigned int GetNumElements() const
Interface for a layer that is connectable to other layers via InputSlots and OutputSlots.
BOOST_AUTO_TEST_SUITE(TensorflowLiteParser)
std::unique_ptr< IOptimizedNetwork, void(*)(IOptimizedNetwork *network)> IOptimizedNetworkPtr
armnn::TensorInfo anchorsInfo({ 6, 4 }, armnn::DataType::Float32)
std::vector< armnn::BackendId > defaultBackends
void InstanceNormalizationNchwEndToEndTest2(const std::vector< armnn::BackendId > &defaultBackends)
void SetQuantizationOffset(int32_t offset)
virtual int Connect(IInputSlot &destination)=0
armnn::Runtime::CreationOptions::ExternalProfilingOptions options
std::unique_ptr< IRuntime, void(*)(IRuntime *runtime)> IRuntimePtr
virtual const IOutputSlot & GetOutputSlot(unsigned int index) const =0
float GetQuantizationScale() const