ArmNN
 20.11
QSymmS8Decoder Class Reference

#include <BaseIterator.hpp>

Inheritance diagram for QSymmS8Decoder:
TypedIterator< const int8_t, Decoder< float > > Decoder< float > BaseIterator

Public Member Functions

 QSymmS8Decoder (const int8_t *data, const float scale, const int32_t offset)
 
 QSymmS8Decoder (const float scale, const int32_t offset)
 
float Get () const override
 
std::vector< float > DecodeTensor (const TensorShape &tensorShape, const unsigned int channelMultiplier, const bool isDepthwise) override
 
- Public Member Functions inherited from TypedIterator< const int8_t, Decoder< float > >
 TypedIterator (const int8_t *data=nullptr)
 
void Reset (void *data) override
 
TypedIteratoroperator++ () override
 
TypedIteratoroperator+= (const unsigned int increment) override
 
TypedIteratoroperator-= (const unsigned int increment) override
 
TypedIteratoroperator[] (const unsigned int index) override
 
TypedIteratorSetIndex (unsigned int index, unsigned int axisIndex=0) 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 TypedIterator< const int8_t, Decoder< float > >
const int8_t * m_Iterator
 
const int8_t * m_Start
 

Detailed Description

Definition at line 200 of file BaseIterator.hpp.

Constructor & Destructor Documentation

◆ QSymmS8Decoder() [1/2]

QSymmS8Decoder ( const int8_t *  data,
const float  scale,
const int32_t  offset 
)
inline

Definition at line 203 of file BaseIterator.hpp.

204  : TypedIterator(data), m_Scale(scale), m_Offset(offset) {}

◆ QSymmS8Decoder() [2/2]

QSymmS8Decoder ( const float  scale,
const int32_t  offset 
)
inline

Definition at line 206 of file BaseIterator.hpp.

207  : QSymmS8Decoder(nullptr, scale, offset) {}
QSymmS8Decoder(const int8_t *data, const float scale, const int32_t offset)

Member Function Documentation

◆ DecodeTensor()

std::vector<float> DecodeTensor ( const TensorShape tensorShape,
const unsigned int  channelMultiplier,
const bool  isDepthwise 
)
inlineoverridevirtual

Implements Decoder< float >.

Definition at line 213 of file BaseIterator.hpp.

References armnn::Dequantize, TensorShape::GetNumElements(), armnn::IgnoreUnused(), and BaseIterator::operator[]().

216  {
217  IgnoreUnused(channelMultiplier, isDepthwise);
218 
219  const unsigned int size = tensorShape.GetNumElements();
220  std::vector<float> decodedTensor;
221  decodedTensor.reserve(size);
222 
223  for (uint32_t i = 0; i < size; ++i)
224  {
225  this->operator[](i);
226  decodedTensor.emplace_back(armnn::Dequantize(*m_Iterator, m_Scale, m_Offset));
227  }
228 
229  return decodedTensor;
230  }
void IgnoreUnused(Ts &&...)
TypedIterator & operator[](const unsigned int index) override

◆ Get()

float Get ( ) const
inlineoverridevirtual

Implements Decoder< float >.

Definition at line 209 of file BaseIterator.hpp.

References armnn::Dequantize.


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