blob: cc5f780f102698301511e29f4e524fa6b74145ca [file] [log] [blame]
Nina Drozdd41b2592018-11-19 13:03:36 +00001//
Matteo Martincighe011d202019-11-28 11:35:47 +00002// Copyright © 2019 Arm Ltd. All rights reserved.
Nina Drozdd41b2592018-11-19 13:03:36 +00003// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include <armnn/TypesUtils.hpp>
9
10namespace armnnUtils
11{
12armnn::TensorShape GetTensorShape(unsigned int numberOfBatches,
13 unsigned int numberOfChannels,
14 unsigned int height,
15 unsigned int width,
16 const armnn::DataLayout dataLayout);
17
Nina Drozdd41b2592018-11-19 13:03:36 +000018armnn::TensorInfo GetTensorInfo(unsigned int numberOfBatches,
19 unsigned int numberOfChannels,
20 unsigned int height,
21 unsigned int width,
Nattapat Chaimanowong649dd952019-01-22 16:10:44 +000022 const armnn::DataLayout dataLayout,
23 const armnn::DataType dataType);
24
Jim Flynnf92dfce2019-05-02 11:33:25 +010025std::pair<float, float> FindMinMax(armnn::ITensorHandle* tensorHandle);
26
Narumol Prangnawarat02807852019-09-11 16:43:09 +010027armnn::TensorShape ExpandDims(const armnn::TensorShape& tensorShape, int axis);
28
Narumol Prangnawarat4dc64a62019-09-16 17:00:22 +010029unsigned int GetNumElementsBetween(const armnn::TensorShape& shape,
30 unsigned int firstAxisInclusive,
31 unsigned int lastAxisExclusive);
32
33unsigned int GetUnsignedAxis(const unsigned int inputDimension, const int axis);
34
Aron Virginas-Tarb67f9572019-11-04 15:00:19 +000035unsigned int GetNumElementsAfter(const armnn::TensorShape& shape, unsigned int axis);
Keith Davis5236e1d2019-11-04 08:58:33 +000036
Aron Virginas-Tarb67f9572019-11-04 15:00:19 +000037std::pair<unsigned int, std::vector<float>> GetPerAxisParams(const armnn::TensorInfo& info);
Keith Davis5236e1d2019-11-04 08:58:33 +000038
Nattapat Chaimanowong649dd952019-01-22 16:10:44 +000039} // namespace armnnUtils