template class xf::data_analytics::regression::linearLeastSquareRegressionPredict¶
#include "linearRegression.hpp"
Overview¶
linear least square regression predict
Parameters:
| MType | datatype of regression, support double and float | 
| D | Number of features that processed each cycle | 
| DDepth | DDepth * D is max feature numbers supported. | 
| RAMWeight | Use which kind of RAM to store weight, could be LUTRAM, BRAM or URAM. | 
| RAMIntercept | Use which kind of RAM to store intercept, could be LUTRAM, BRAM or URAM. | 
template < typename MType, int D, int DDepth, RAMType RAMWeight, RAMType RAMIntercept > class linearLeastSquareRegressionPredict // fields sl2 <MType, D, DDepth, 1, 1,&funcMul <MType>,&funcSum <MType>,&funcAssign <MType>, AdditionLatency <MType>::value, RAMWeight, RAMIntercept> dotMulProcessor
Methods¶
setWeight¶
void setWeight ( MType inputW [D][DDepth], ap_uint <32> cols )
set up weight parameters for prediction
Parameters:
| inputW | weight | 
| cols | Effective weight numbers | 
setIntercept¶
void setIntercept (MType inputI)
set up intercept parameters for prediction
Parameters:
| inputI | intercept should be set to zero if don’t needed. | 
predict¶
void predict ( hls::stream <MType> opStrm [D], hls::stream <bool>& eOpStrm, hls::stream <MType> retStrm [1], hls::stream <bool>& eRetStrm, ap_uint <32> cols )
predict based on input features and preset weight and intercept
Parameters:
| opStrm | feature input streams. To get a vector of L features, opStrm will be read (L + D - 1) / D times. Feature 0 to D-1 will be read from opStrm[0] to opStrm[D-1] at the first time. Then feature D to 2*D - 1. The last round will readin fake data if L is not divisiable by D. These data won’t be used, just to allign D streams. | 
| eOpStrm | End flag of opStrm. | 
| retStrm | Prediction result. | 
| eRetStrm | End flag of retStrm. | 
| cols | Effective feature numbers. |