ArmNN
 22.02
Float32ToFloat16 Struct Reference

#include <ConvertConstants.hpp>

Static Public Member Functions

static void Func (std::shared_ptr< ConstTensorHandle > &handle)
 

Detailed Description

Definition at line 85 of file ConvertConstants.hpp.

Member Function Documentation

◆ Func()

static void Func ( std::shared_ptr< ConstTensorHandle > &  handle)
inlinestatic

Definition at line 87 of file ConvertConstants.hpp.

References FloatingPointConverter::ConvertFloat32To16(), armnn::Float16, armnn::Float32, TensorInfo::GetDataType(), TensorInfo::GetNumElements(), TensorInfo::GetShape(), and armnn::info.

88  {
89  const TensorInfo& info = handle->GetTensorInfo();
90 
91  if (info.GetDataType() == DataType::Float32)
92  {
93  std::vector<Half> newValues(info.GetNumElements());
94 
95  armnnUtils::FloatingPointConverter::ConvertFloat32To16(handle->GetConstTensor<float>(),
96  info.GetNumElements(),
97  newValues.data());
98 
99  TensorInfo newInfo(info.GetShape(), DataType::Float16, 0.0f, 0, true);
100  ConstTensor newInput(newInfo, newValues);
101  handle.reset(new ScopedTensorHandle(newInput));
102  }
103  }
static void ConvertFloat32To16(const float *srcFloat32Buffer, size_t numElements, void *dstFloat16Buffer)
Converts a buffer of FP32 values to FP16, and stores in the given dstFloat16Buffer.

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