11 #include <boost/format.hpp> 21 const unsigned int& concatAxis,
22 unsigned int inputIndex,
23 unsigned int& mergeDimOrigin)
33 "The number of dimensions: %1% for input tensors of the " 34 "concatenation op should be %2% %3%")
40 for (
unsigned int j = 0; j < concatAxis; ++j)
46 mergeDimOrigin += inputTensorInfo.
GetShape()[concatAxis];
48 for (
unsigned int j = concatAxis + 1; j < inputRank; ++j)
55 const std::set<unsigned int>& axisSet,
59 std::vector<unsigned int> outputShapeVector;
60 bool dimensionFound =
false;
61 unsigned int size = 1;
65 dimensionFound =
false;
66 for (
unsigned int axis: axisSet)
70 dimensionFound =
true;
77 size *= inputTensorInfo.
GetShape()[i];
81 outputShapeVector.push_back(inputTensorInfo.
GetShape()[i]);
88 outputShapeVector.push_back(1);
111 std::vector<unsigned int> outputShapeVector;
123 int newSize = stride > 0 ? ((stop - start) + stride - 1) / stride :
124 ((start - stop) - stride - 1) / -stride;
126 newSize = std::max(0, newSize);
128 outputShapeVector.push_back(static_cast<unsigned int>(newSize));
int GetStopForAxis(const TensorShape &inputShape, unsigned int axis, int startForAxis) const
void ProcessConcatInputTensorInfo(armnn::TensorInfo &inputTensorInfo, armnn::OriginsDescriptor &concatDescriptor, const unsigned int &concatAxis, unsigned int inputIndex, unsigned int &mergeDimOrigin)
std::vector< int > m_Stride
Stride values for the input that will be sliced.
unsigned int GetNumDimensions() const
void CalculateStridedSliceOutputTensorInfo(const armnn::TensorInfo &inputTensorInfo, const armnn::StridedSliceDescriptor &desc, armnn::TensorInfo &outputTensorInfo)
Create output tensor info for a StridedSlice operator.
Status SetViewOriginCoord(uint32_t view, uint32_t coord, uint32_t value)
void CalculateReducedOutputTensoInfo(const armnn::TensorInfo &inputTensorInfo, const std::set< unsigned int > &axisSet, bool keepDims, armnn::TensorInfo &outputTensorInfo)
Creates a tensor info after reducing the dimensions mentioned in axisData.
const armnn::PermutationVector ArmNNToNHWC
uint32_t GetNumDimensions() const
Get the number of dimensions.
DataType GetDataType() const
int32_t m_ShrinkAxisMask
Shrink axis mask value. If set, the nth specification shrinks the dimensionality by 1...
const armnn::PermutationVector NHWCToArmNN
const TensorShape & GetShape() const
int GetStartForAxis(const TensorShape &inputShape, unsigned int axis) const
An OriginsDescriptor for the ConcatLayer. Descriptor to configure the concatenation process...
A StridedSliceDescriptor for the StridedSliceLayer.