15 namespace optimizations
29 ReplaceConstDequantisationLayer(graph, PolymorphicDowncast<ConstantLayer*>(&base),
30 PolymorphicDowncast<DequantizeLayer*>(&child));
38 static void ReplaceConstDequantisationLayer(
Graph&,
42 ARMNN_LOG(
info) <<
"TurboConvertConstDequantisationLayersToConstLayersImpl::ReplaceConstDequantisationLayer()";
52 bool requiresPermute =
false;
65 ARMNN_LOG(
info) <<
"ConvertConstDequantisationLayersToConstLayersImpl:: Connected to "
67 auto conv2dLayer = PolymorphicDowncast<Convolution2dLayer*>(&connection->GetOwningLayer());
70 ARMNN_LOG(
info) <<
"ConvertConstDequantisationLayersToConstLayersImpl:: Connected to "
71 "Convolution layer and requires permute on weights. ";
72 requiresPermute =
true;
87 ARMNN_LOG(
info) <<
"TurboConvertConstDequantisationLayersToConstLayersImpl:: Permuting the constant data.";
90 std::vector<Half> permutedValues(outputDequantizeInfo.
GetNumElements());
92 constantLayer->
m_LayerOutput->Map(
true), permutedValues.data(),
112 for (
unsigned int i = numConnections; i < constantLayer->
GetOutputSlot(0).GetNumConnections(); ++i)
#define ARMNN_ASSERT(COND)
#define ARMNN_LOG(severity)
A tensor defined by a TensorInfo (shape and data type) and an immutable backing store.
A layer that the constant data can be bound to.
std::shared_ptr< ConstTensorHandle > m_LayerOutput
This layer dequantizes the input tensor.
const OutputSlot & GetOutputSlot(unsigned int index=0) const override
Get the const output slot handle by slot index.
const InputSlot & GetInputSlot(unsigned int index) const override
Get a const input slot handle by slot index.
LayerType GetType() const override
Returns the armnn::LayerType of this layer.
const InputSlot * GetConnection(unsigned int index) const override
void MoveAllConnections(OutputSlot &destination)
Moves all connections to another OutputSlot.
unsigned int GetNumConnections() const override
Layer & GetOwningLayer() const
void SetTensorInfo(const TensorInfo &tensorInfo) override
const TensorInfo & GetTensorInfo() const override
unsigned int GetNumElements() const
const TensorShape & GetShape() const
void SetConstant(const bool IsConstant=true)
Marks the data corresponding to this tensor info as constant.
DataType GetDataType() const
void Run(Graph &graph, InputSlot &connection) const
~TurboConvertConstDequantisationLayersToConstLayersImpl()=default
TurboConvertConstDequantisationLayersToConstLayersImpl()=default
Copyright (c) 2021 ARM Limited and Contributors.
constexpr const char * GetDataTypeName(DataType dataType)
constexpr unsigned int GetDataTypeSize(DataType dataType)
void Permute(const armnn::TensorShape &dstShape, const armnn::PermutationVector &mappings, const void *src, void *dst, size_t dataTypeSize)