ArmNN
 25.11
Loading...
Searching...
No Matches
QSymm8PerAxisDecoder Class Reference

#include <BaseIterator.hpp>

Inheritance diagram for QSymm8PerAxisDecoder:
[legend]
Collaboration diagram for QSymm8PerAxisDecoder:
[legend]

Public Member Functions

 QSymm8PerAxisDecoder (const int8_t *data, const armnn::TensorInfo &tensorInfo)
float Get () const override
float GetScale () const
std::vector< float > DecodeTensor (const TensorShape &tensorShape, const bool) override
Public Member Functions inherited from PerAxisIterator< const int8_t, Decoder< float > >
 PerAxisIterator (const int8_t *data=nullptr, unsigned int axisFactor=0, unsigned int axisDimensionality=0)
void Reset (void *data) override
PerAxisIteratoroperator++ () override
PerAxisIteratoroperator+= (const unsigned int increment) override
PerAxisIteratoroperator-= (const unsigned int decrement) override
PerAxisIteratorSetIndexOnMem (const unsigned int index)
PerAxisIteratoroperator[] (const unsigned int index) override
Public Member Functions inherited from Decoder< float >
 Decoder ()
virtual ~Decoder ()
Public Member Functions inherited from BaseIterator
 BaseIterator ()
virtual ~BaseIterator ()

Additional Inherited Members

Protected Attributes inherited from PerAxisIterator< const int8_t, Decoder< float > >
const int8_t * m_Iterator
const int8_t * m_Start
unsigned int m_AxisIndex
unsigned int m_AxisDimensionality
unsigned int m_AxisFactor
unsigned int m_Index

Detailed Description

Definition at line 794 of file BaseIterator.hpp.

Constructor & Destructor Documentation

◆ QSymm8PerAxisDecoder()

QSymm8PerAxisDecoder ( const int8_t * data,
const armnn::TensorInfo & tensorInfo )
inline

Definition at line 797 of file BaseIterator.hpp.

798 : PerAxisIterator(data, tensorInfo.GetShape(), tensorInfo.GetQuantizationDim().value()),
799 m_Scales(tensorInfo.GetQuantizationScales()), m_Offset(tensorInfo.GetQuantizationOffset())
800 {}
const TensorShape & GetShape() const
Definition Tensor.hpp:193
int32_t GetQuantizationOffset() const
Definition Tensor.cpp:482
Optional< unsigned int > GetQuantizationDim() const
Definition Tensor.cpp:498
std::vector< float > GetQuantizationScales() const
Definition Tensor.cpp:451

References PerAxisIterator< const int8_t, Decoder< float > >::PerAxisIterator().

Member Function Documentation

◆ DecodeTensor()

std::vector< float > DecodeTensor ( const TensorShape & tensorShape,
const bool  )
inlineoverridevirtual

Implements Decoder< float >.

Definition at line 813 of file BaseIterator.hpp.

814 {
815 const unsigned int size = tensorShape.GetNumElements();
816 std::vector<float> decodedTensor;
817 decodedTensor.reserve(size);
818
819 for (uint32_t i = 0; i < size; ++i)
820 {
821 SetIndexOnMem(i);
822 decodedTensor.emplace_back(armnn::Dequantize(*m_Iterator, GetScale(), m_Offset));
823 }
824 return decodedTensor;
825 }

References armnn::Dequantize(), TensorShape::GetNumElements(), GetScale(), PerAxisIterator< const int8_t, Decoder< float > >::m_Iterator, and PerAxisIterator< const int8_t, Decoder< float > >::SetIndexOnMem().

◆ Get()

float Get ( ) const
inlineoverridevirtual

Implements Decoder< float >.

Definition at line 802 of file BaseIterator.hpp.

803 {
804 return armnn::Dequantize(*m_Iterator, GetScale(), m_Offset);
805 }

References armnn::Dequantize, GetScale(), and PerAxisIterator< const int8_t, Decoder< float > >::m_Iterator.

◆ GetScale()

float GetScale ( ) const
inline

Definition at line 808 of file BaseIterator.hpp.

809 {
810 return m_Scales[m_AxisIndex];
811 }

References PerAxisIterator< const int8_t, Decoder< float > >::m_AxisIndex.

Referenced by DecodeTensor(), and Get().


The documentation for this class was generated from the following file: