SSCMA-Micro CPP SDK  v2.0.0
SSCMA-Micro is a cross-platform machine learning inference framework designed for embedded devices.
ma_math_matrix.h
Go to the documentation of this file.
1 #ifndef _MA_MATH_MARTRIX_H_
2 #define _MA_MATH_MARTRIX_H_
3 
4 #include <cstddef>
5 #include <cstdint>
6 
7 #if MA_USE_LIB_XTENSOR
8 #include <xtensor/xarray.hpp>
9 #include <xtensor/xmath.hpp>
10 #include <xtensor/xview.hpp>
11 #endif
12 
13 namespace ma::math {
14 
15 void softmax2D(float* data, size_t rows, size_t cols);
16 
17 void fastSoftmax2D(float* data, size_t rows, size_t cols);
18 
19 #if MA_USE_LIB_XTENSOR
20 template <typename QT>
21 static void dequantizeValues2D(xt::xarray<float>& dequantized_outputs, int index, const xt::xarray<QT>& quantized_outputs, size_t dim1, size_t dim2, float32_t qp_scale, float32_t qp_zp) {
22  for (size_t i = 0; i < dim1; i++) {
23  for (size_t j = 0; j < dim2; j++) {
24  dequantized_outputs(i, j) = (float(quantized_outputs(index, i, j)) - qp_zp) * qp_scale;
25  }
26  }
27 }
28 #endif
29 
30 } // namespace ma::math
31 
32 #endif
Definition: ma_math_matrix.cpp:6
void fastSoftmax2D(float *data, size_t rows, size_t cols)
Definition: ma_math_matrix.cpp:15
void softmax2D(float *data, size_t rows, size_t cols)
Definition: ma_math_matrix.cpp:8