3 #ifndef FORPY_UTIL_DESK_H_ 4 #define FORPY_UTIL_DESK_H_ 31 std::vector<std::pair<id_t, id_t>> *
tree_p;
36 inline void setup(std::atomic<size_t> *silp, std::atomic<id_t> *np,
37 std::vector<std::pair<id_t, id_t>> *tsp) {
106 mu::variant<const float *, const double *, const uint *, const uint8_t *>
131 mu::variant<std::vector<float>, std::vector<double>, std::vector<uint32_t>,
135 std::vector<size_t> *ntfp,
136 mu::variant<std::vector<float>, std::vector<double>,
137 std::vector<uint32_t>, std::vector<uint8_t>> *nttp) {
210 std::atomic<size_t> *stored_in_leaf_p, std::atomic<id_t> *next_id_p,
211 std::vector<std::pair<id_t, id_t>> *tree_p,
212 std::vector<size_t> *ntfp =
nullptr,
213 mu::variant<std::vector<float>, std::vector<double>,
214 std::vector<uint32_t>, std::vector<uint8_t>> *nttp =
nullptr,
215 std::vector<
Mat<float>> *lrmp =
nullptr,
const uint &random_seed = 0) {
217 t.
setup(stored_in_leaf_p, next_id_p, tree_p);
231 #endif // FORPY_UTIL_DESK_H_ size_t annot_os
Variables initialized in IThreshOpt::full_entropy.
std::atomic< id_t > * next_id_p
Desk for decider training.
size_t annot_dim
These variables are populated in IDecider::make_node.
bool presorted
Variables used during the threshold optimization.
mu::variant< const float *, const double *, const uint *, const uint8_t * > full_feat_p_v
id_t left_id
Return values from IThreshOpt::optimize.
std::vector< std::pair< id_t, id_t > > * tree_p
void setup(std::vector< Mat< float >> *lrmp)
size_t id_t
Element id type.
std::vector< size_t > * node_to_featsel_p
uint min_samples_at_leaf
These variables are populated in IDecider::make_node.
std::vector< size_t > invalid_counts
id_t * sort_perm_p
Variables initialized in IThreshOpt::full_entropy.
std::vector< TodoMark > marks
DataV class_feat_values
Variables initialized in IThreshOpt::full_entropy.
std::pair< id_t, id_t > interv_t
std::atomic< size_t > * stored_in_leafs
void setup(std::atomic< size_t > *silp, std::atomic< id_t > *np, std::vector< std::pair< id_t, id_t >> *tsp)
Set up all the internal pointers.
float * feat_p
Variables initialized in IThreshOpt::full_entropy.
std::mt19937 random_engine
void setup(const uint &seed)
const uint * class_annot_p
Variables initialized in IThreshOpt::full_entropy.
typename mu::variant< std::vector< float >, std::vector< double >, std::vector< uint >, std::vector< uint8_t > > DataV
id_t start_id
These variables are populated in IDecider::make_node.
std::vector< float > full_sum
Variables initialized in IThreshOpt::full_entropy.
std::vector< id_t > sort_perm
Variables initialized in IThreshOpt::full_entropy.
id_t * elem_ids_sorted_p
Variables initialized in IThreshOpt::full_entropy.
float maxproxy
Variables initialized in IThreshOpt::full_entropy.
const float * weights_p
Variables initialized in IThreshOpt::full_entropy.
size_t input_dim
These variables are populated in IDecider::make_node.
mu::variant< SplitOptRes< float >, SplitOptRes< double >, SplitOptRes< uint >, SplitOptRes< uint8_t > > OptSplitV
mu::variant< std::vector< float >, std::vector< double >, std::vector< uint32_t >, std::vector< uint8_t > > * node_to_thresh_v_p
std::vector< id_t > feature_indices
Variables used during the threshold optimization.
size_t n_samples
These variables are populated in IDecider::make_node.
id_t end_id
These variables are populated in IDecider::make_node.
float full_w
Variables initialized in IThreshOpt::full_entropy.
id_t node_id
These variables are populated in IDecider::make_node.
std::vector< float > feat_values
Variables initialized in IThreshOpt::full_entropy.
interv_t left_int
Return values from IThreshOpt::optimize.
Eigen::Matrix< DT, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > Mat
Parameterized Matrix type (row major).
std::vector< id_t > elem_ids_sorted
Variables initialized in IThreshOpt::full_entropy.
float * left_sum_p
Variables initialized in IThreshOpt::full_entropy.
float fullentropy
Variables initialized in IThreshOpt::full_entropy.
void setup(std::vector< size_t > *ntfp, mu::variant< std::vector< float >, std::vector< double >, std::vector< uint32_t >, std::vector< uint8_t >> *nttp)
OptSplitV best_res_v
Variables used during the threshold optimization.
void setup(std::atomic< size_t > *stored_in_leaf_p, std::atomic< id_t > *next_id_p, std::vector< std::pair< id_t, id_t >> *tree_p, std::vector< size_t > *ntfp=nullptr, mu::variant< std::vector< float >, std::vector< double >, std::vector< uint32_t >, std::vector< uint8_t >> *nttp=nullptr, std::vector< Mat< float >> *lrmp=nullptr, const uint &random_seed=0)
Desk for coordinating the random engines.
id_t best_feat_idx
Variables used during the threshold optimization.
std::vector< Mat< float > > * leaf_regression_map_p
OptSplitV opt_res_v
Variables used during the threshold optimization.
bool need_sort
Variables used during the threshold optimization.
void reset()
Clear the marks and reset all pointers.
float * full_sum_p
Variables initialized in IThreshOpt::full_entropy.
bool make_to_leaf
Return values from IThreshOpt::optimize.
unsigned int uint
Convenience typedef for unsigned int.
std::vector< float > left_sum_vec
Variables initialized in IThreshOpt::full_entropy.
const float * annot_p
Variables initialized in IThreshOpt::full_entropy.
interv_t right_int
Return values from IThreshOpt::optimize.
id_t right_id
Return values from IThreshOpt::optimize.
Desk for leaf manager training.