24 using namespace armnn;
31 Connect(input, resize, inputInfo, 0, 0);
32 Connect(resize, output, outputInfo, 0, 0);
37 template<armnn::DataType ArmnnType>
38 void ResizeEndToEnd(
const std::vector<armnn::BackendId>& backends,
42 using namespace armnn;
45 constexpr
unsigned int inputWidth = 3u;
46 constexpr
unsigned int inputHeight = inputWidth;
48 constexpr
unsigned int outputWidth = 5u;
49 constexpr
unsigned int outputHeight = outputWidth;
54 const float qScale = IsQuantizedType<T>() ? 0.25f : 1.0f;
55 const int32_t qOffset = IsQuantizedType<T>() ? 50 : 0;
57 TensorInfo inputInfo(inputShape, ArmnnType, qScale, qOffset,
true);
58 TensorInfo outputInfo(outputShape, ArmnnType, qScale, qOffset);
60 std::vector<float> inputData =
67 std::vector<float> expectedOutputData;
74 1.0f, 1.6f, 2.2f, 2.8f, 3.0f,
75 2.8f, 3.4f, 4.0f, 4.6f, 4.8f,
76 4.6f, 5.2f, 5.8f, 6.4f, 6.6f,
77 6.4f, 7.0f, 7.6f, 8.2f, 8.4f,
78 7.0f, 7.6f, 8.2f, 8.8f, 9.0f
86 1.f, 1.f, 2.f, 2.f, 3.f,
87 1.f, 1.f, 2.f, 2.f, 3.f,
88 4.f, 4.f, 5.f, 5.f, 6.f,
89 4.f, 4.f, 5.f, 5.f, 6.f,
90 7.f, 7.f, 8.f, 8.f, 9.f
109 constexpr
size_t dataTypeSize =
sizeof(float);
112 std::vector<float> tmp(inputData.size());
118 std::vector<T> qInputData = armnnUtils::QuantizedVector<T>(inputData, qScale, qOffset);
119 std::vector<T> qExpectedOutputData = armnnUtils::QuantizedVector<T>(expectedOutputData, qScale, qOffset);
121 INetworkPtr network = CreateResizeNetwork(descriptor, inputInfo, outputInfo);
123 EndToEndLayerTestImpl<ArmnnType, ArmnnType>(std::move(network),
124 { { 0, qInputData } },
125 { { 0, qExpectedOutputData } },
131 template<armnn::DataType ArmnnType>
138 template<armnn::DataType ArmnnType>
Interface for a layer that is connectable to other layers via InputSlots and OutputSlots.
const TensorShape & GetShape() const
void ResizeBilinearEndToEnd(const std::vector< armnn::BackendId > &backends, armnn::DataLayout dataLayout)
ResizeMethod m_Method
The Interpolation method to use (Bilinear, NearestNeighbor).
void ResizeNearestNeighborEndToEnd(const std::vector< armnn::BackendId > &backends, armnn::DataLayout dataLayout)
typename ResolveTypeImpl< DT >::Type ResolveType
Copyright (c) 2021 ARM Limited and Contributors.
A ResizeBilinearDescriptor for the ResizeBilinearLayer.
uint32_t m_TargetWidth
Target width value.
uint32_t m_TargetHeight
Target height value.
void Connect(armnn::IConnectableLayer *from, armnn::IConnectableLayer *to, const armnn::TensorInfo &tensorInfo, unsigned int fromIndex, unsigned int toIndex)
armnn::TensorShape MakeTensorShape(unsigned int batches, unsigned int channels, unsigned int height, unsigned int width, armnn::DataLayout layout)
std::unique_ptr< INetwork, void(*)(INetwork *network)> INetworkPtr
DataLayout m_DataLayout
The data layout to be used (NCHW, NHWC).
static INetworkPtr Create(NetworkOptions networkOptions={})