25 #include <boost/test/unit_test.hpp> 34 std::vector<float> expectedOutput =
36 1.f, 1.f, 1.f, 1.f, 5.f, 5.f, 5.f, 5.f,
37 3.f, 3.f, 3.f, 3.f, 4.f, 4.f, 4.f, 4.f
40 ElementwiseUnarySimpleEndToEnd<armnn::DataType::Float32>(
defaultBackends,
51 #if defined(ARMNNREF_ENABLED) 57 using namespace armnn;
86 BOOST_TEST(runtime->LoadNetwork(netId, std::move(optNet)) ==
Status::Success);
93 const std::vector<uint8_t> expectedOutput({ 0, 0, 0, 0, 1, 1, 1, 1,
94 0, 0, 0, 0, 0, 0, 0, 0 });
103 const std::vector<uint8_t> expectedOutput({ 0, 0, 0, 0, 1, 1, 1, 1,
104 0, 0, 0, 0, 0, 0, 0, 0 });
113 const std::vector<uint8_t> expectedOutput({ 0, 1, 0, 0, 0, 1,
123 const std::vector<uint8_t> expectedOutput({ 0, 1, 0, 0, 0, 1,
126 ComparisonBroadcastEndToEnd<armnn::DataType::QAsymmU8>(
defaultBackends,
381 TransposeConvolution2dEndToEnd<armnn::DataType::Float32, armnn::DataType::Float32>(
387 TransposeConvolution2dEndToEnd<armnn::DataType::QAsymmU8, armnn::DataType::Signed32>(
393 TransposeConvolution2dEndToEnd<armnn::DataType::Float32, armnn::DataType::Float32>(
399 TransposeConvolution2dEndToEnd<armnn::DataType::QAsymmU8, armnn::DataType::Signed32>(
574 0.0f, 0.0f, 0.0f, 0.0f,
575 0.0f, 1.0f, 0.0f, 0.0f,
576 0.0f, -1.0f, 0.0f, 0.0f,
577 0.0f, 0.0f, 0.0f, 0.0f,
578 0.0f, 1.0f, 0.0f, 0.0f,
579 0.0f, 0.0f, 0.0f, 0.0f
581 std::vector<float>
scores({
590 0.5f, 0.5f, 1.0f, 1.0f,
591 0.5f, 0.5f, 1.0f, 1.0f,
592 0.5f, 0.5f, 1.0f, 1.0f,
593 0.5f, 10.5f, 1.0f, 1.0f,
594 0.5f, 10.5f, 1.0f, 1.0f,
595 0.5f, 100.5f, 1.0f, 1.0f
608 BOOST_AUTO_TEST_CASE(NeonDetectionPostProcessRegularNmsUint8Test, * boost::unit_test::disabled())
615 boxEncodingsInfo.SetQuantizationOffset(1);
622 0.0f, 0.0f, 0.0f, 0.0f,
623 0.0f, 1.0f, 0.0f, 0.0f,
624 0.0f, -1.0f, 0.0f, 0.0f,
625 0.0f, 0.0f, 0.0f, 0.0f,
626 0.0f, 1.0f, 0.0f, 0.0f,
627 0.0f, 0.0f, 0.0f, 0.0f
629 std::vector<float>
scores({
638 0.5f, 0.5f, 1.0f, 1.0f,
639 0.5f, 0.5f, 1.0f, 1.0f,
640 0.5f, 0.5f, 1.0f, 1.0f,
641 0.5f, 10.5f, 1.0f, 1.0f,
642 0.5f, 10.5f, 1.0f, 1.0f,
643 0.5f, 100.5f, 1.0f, 1.0f
654 1.0f, 1, 0.01f, 0, 0.5f, 0);
660 0.0f, 0.0f, 0.0f, 0.0f,
661 0.0f, 1.0f, 0.0f, 0.0f,
662 0.0f, -1.0f, 0.0f, 0.0f,
663 0.0f, 0.0f, 0.0f, 0.0f,
664 0.0f, 1.0f, 0.0f, 0.0f,
665 0.0f, 0.0f, 0.0f, 0.0f
667 std::vector<float>
scores({
676 0.5f, 0.5f, 1.0f, 1.0f,
677 0.5f, 0.5f, 1.0f, 1.0f,
678 0.5f, 0.5f, 1.0f, 1.0f,
679 0.5f, 10.5f, 1.0f, 1.0f,
680 0.5f, 10.5f, 1.0f, 1.0f,
681 0.5f, 100.5f, 1.0f, 1.0f
693 boxEncodingsInfo.SetQuantizationOffset(1);
700 0.0f, 0.0f, 0.0f, 0.0f,
701 0.0f, 1.0f, 0.0f, 0.0f,
702 0.0f, -1.0f, 0.0f, 0.0f,
703 0.0f, 0.0f, 0.0f, 0.0f,
704 0.0f, 1.0f, 0.0f, 0.0f,
705 0.0f, 0.0f, 0.0f, 0.0f
707 std::vector<float>
scores({
716 0.5f, 0.5f, 1.0f, 1.0f,
717 0.5f, 0.5f, 1.0f, 1.0f,
718 0.5f, 0.5f, 1.0f, 1.0f,
719 0.5f, 10.5f, 1.0f, 1.0f,
720 0.5f, 10.5f, 1.0f, 1.0f,
721 0.5f, 100.5f, 1.0f, 1.0f
732 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) 2021 ARM Limited and Contributors.
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
A NormalizationDescriptor for the NormalizationLayer.
BOOST_AUTO_TEST_CASE(NeonAbsEndToEndTestFloat32)
static INetworkPtr Create(NetworkOptions networkOptions={})
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 })