13 auto numInputs = inputs.size();
14 std::vector<std::string> inputNames;
15 inputNames.reserve(numInputs);
16 std::string outputName = std::string(
"output0_");
22 for (uint32_t i = 0; i < numInputs; ++i)
24 inputNames.push_back(
"input_"+ std::to_string(i));
32 for (uint32_t i = 0; i < numInputs; ++i)
35 inputNames.push_back(inputName);
42 auto axis =
static_cast<int32_t
>(concatDescriptor->
GetConcatAxis());
43 TosaAxisAttribute attribute(axis);
45 TosaSerializationOperator* op =
new TosaSerializationOperator(Op_CONCAT,
46 Attribute_AxisAttribute,
51 std::vector<TosaSerializationTensor*> tensors;
52 tensors.reserve(numInputs + 1);
53 for (uint32_t i = 0; i < numInputs; ++i)
57 if(inputNames[i].find(
"input") != std::string::npos)
60 DType inputDType =
ArmNNToDType(inputs[i]->GetDataType());
61 tensors.push_back(
new TosaSerializationTensor(inputNames[i], inputShape, inputDType, {}));
66 DType outputDType0 =
ArmNNToDType(outputs[0]->GetDataType());
68 TosaSerializationTensor* outputTensor0 =
new TosaSerializationTensor(outputName, outputShape0, outputDType0, {});
69 tensors.push_back(outputTensor0);
73 return new TosaSerializationBasicBlock(blockName,
std::string GenerateUniqueOutputName(const Layer &layer, uint32_t layerSlot=0)
const std::string mainName
DType ArmNNToDType(const DataType &type)
std::vector< int32_t > GetTosaTensorShape(const TensorShape &shape)
std::string GenerateUniqueInputName(const armnn::InputSlot &slot)
std::string GetUniqueTosaMappingID()
const InputSlot & GetInputSlot(unsigned int index) const override
Get a const input slot handle by slot index.
unsigned int GetConcatAxis() const
Get the concatenation axis value.