namespace internal¶
// classes template < typename MType, int WAxi, int WData, int BurstLen, int D, int DDepth, RAMType RAMWeight, RAMType RAMIntercept, RAMType RAMAvgWeight, RAMType RAMAvgIntercept > class LASSORegressionSGDTrainer template < typename MType, int D > class linearLeastSquareGradient template < typename MType, int WAxi, int WData, int BurstLen, int D, int DDepth, RAMType RAMWeight, RAMType RAMIntercept, RAMType RAMAvgWeight, RAMType RAMAvgIntercept > class linearLeastSquareGradientProcessor template < typename MType, int WAxi, int WData, int BurstLen, int D, int DDepth, RAMType RAMWeight, RAMType RAMIntercept, RAMType RAMAvgWeight, RAMType RAMAvgIntercept > class linearLeastSquareRegressionSGDTrainer template < typename MType, int WAxi, int WData, int BurstLen, int D, int DDepth, RAMType RAMWeight, RAMType RAMIntercept, RAMType RAMAvgWeight, RAMType RAMAvgIntercept > class ridgeRegressionSGDTrainer
predictFun¶
#include "xf_data_analytics/regression/decision_tree_predict.hpp"
template < typename MType, unsigned WD, unsigned MAX_FEA_NUM, unsigned MAX_TREE_DEPTH > void predictFun ( ap_uint <WD> onesample [MAX_FEA_NUM], struct NodeR <MType> nodes [(MAX_TREE_DEPTH+1)/2+1][MAX_NODES_NUM], MType& reg_value )
predictFun implements the detailed predict functions.
This function read one sample, and output a category id
Parameters:
| MType | The data type of sample | 
| WD | The width of data type MType, can get by sizeof(MType) | 
| MAX_FEA_NUM | Max feature num function can support | 
| MAX_TREE_DEPTH | Max tree depth function can support | 
| onesample | One sample | 
| nodes | Decision tree (Decision Tree node array) | 
| cat_id | Category id | 
getPredictions¶
#include "xf_data_analytics/regression/decision_tree_predict.hpp"
template < typename MType, unsigned WD, unsigned MAX_FEA_NUM, unsigned MAX_TREE_DEPTH > void getPredictions ( hls::stream <ap_uint <WD>> dstrm_batch [MAX_FEA_NUM], hls::stream <bool>& estrm_batch, struct NodeR <MType> nodes [(MAX_TREE_DEPTH+1)/2+1][MAX_NODES_NUM], hls::stream <MType>& predictionsStrm, hls::stream <bool>& predictionsTag )
getPredictions wrap predictFun to implement batch samples predicion.
This function read sample streams, and output prediction result into a stream
Parameters:
| MType | The data type of sample | 
| WD | The width of data type MType, can get by sizeof(MType) | 
| MAX_FEA_NUM | Max feature num function can support | 
| MAX_TREE_DEPTH | Max tree depth function can support | 
| dstrm_batch | Input data streams of ap_uint<WD> | 
| estrm_batch | End flag stream for input data | 
| nodes | Decision tree (Decision Tree node array) | 
| predictionsStrm | Output data streams | 
| predictionsTagStrm | End flag stream for output | 
getTree¶
#include "xf_data_analytics/regression/decision_tree_predict.hpp"
template < typename MType, unsigned MAX_TREE_DEPTH > void getTree ( hls::stream <ap_uint <512>>& tree_strm, hls::stream <bool>& eTag, struct NodeR <MType> nodes [(MAX_TREE_DEPTH+1)/2+1][MAX_NODES_NUM] )
getTree loads 512-bit decision tree into a list of NodeR
Note that nodes is duplicated (max_tree_depth+1)/2+1 times for unroll each tree layer in getPredictions.
Parameters:
| MType | The data type of sample | 
| MAX_TREE_DEPTH | Max tree depth function can support | 
| tree_strm | Decision tree streams | 
| eTag | End flag stream for decision tree nodes | 
| nodes | Decision tree (Decision Tree node array) |