Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decision forest random splitter #2270

Merged
Changes from 51 commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
a614e4d
Random splitter without chaning high-level interfaces
inteldimitrius Jan 30, 2023
d65f265
Update prototype
inteldimitrius Jan 30, 2023
6478071
Update descriptor class
inteldimitrius Jan 31, 2023
dd8619b
Update Descriptor and train_context classes
inteldimitrius Jan 31, 2023
ae0d0a2
Update enum class
inteldimitrius Jan 31, 2023
af8642c
Working version. Unrefactored
inteldimitrius Feb 1, 2023
dd6876b
Update random bin index generation.
inteldimitrius Feb 1, 2023
00c09b5
Rename train_best_split* into train_splitter. (DPC version)
inteldimitrius Feb 1, 2023
829699e
Update splitter for small cases
inteldimitrius Feb 1, 2023
2d69e19
Update the code after renaming classes.
inteldimitrius Feb 1, 2023
b9e3950
Apply clang-format for updated files.
inteldimitrius Feb 2, 2023
821fba3
Apply clang-format for train_kernel_hist*
inteldimitrius Feb 2, 2023
2944fbc
Update proper version of clang format.
inteldimitrius Feb 2, 2023
2e742a0
Update engines collestion initialization
inteldimitrius Feb 3, 2023
26efe1e
Update tests adding bootstrap_mode and splitter_mode
inteldimitrius Feb 3, 2023
101d245
Update docs.
inteldimitrius Feb 3, 2023
1941d44
Update tests. Code formatting
inteldimitrius Feb 3, 2023
c7367ab
Docs with more detailed descriptions.
inteldimitrius Feb 3, 2023
2b348ec
Update docs for splitter_mode enum class
inteldimitrius Feb 3, 2023
53c1184
Add comments forsplitter_mode enum class.
inteldimitrius Feb 3, 2023
cb9243b
Fix bug with large case
inteldimitrius Feb 6, 2023
2fde588
Updates according change requests. In scope of #2270 pull request.
inteldimitrius Feb 8, 2023
6b1a87b
Refactoring for PR #2270.
inteldimitrius Feb 9, 2023
2a62a69
Update docs regarding to PR #2270
inteldimitrius Feb 9, 2023
e2a19eb
Working version, but prediction score is bad. Please do not consider …
inteldimitrius Feb 15, 2023
86b4c10
Add bin_count as boundaries for bin selection
inteldimitrius Feb 16, 2023
8916686
Raw fix for large case
inteldimitrius Feb 20, 2023
bab87c6
Random splitter with debug info
inteldimitrius Feb 21, 2023
9e3c205
Update large_single_pass random spliiter, remove debug prints
inteldimitrius Feb 21, 2023
095212c
Add example for random splitter
inteldimitrius Feb 22, 2023
df0001b
Enable distributed mode
inteldimitrius Feb 22, 2023
36d5a80
Add splitter by histogram
inteldimitrius Feb 22, 2023
899db6f
Valid version for large, small and distr cases
inteldimitrius Feb 23, 2023
ee64ba9
Apply clang-format
inteldimitrius Feb 23, 2023
d131050
Apply clang-format
inteldimitrius Feb 24, 2023
2f17533
Default constructors/destructors for proper memory management
inteldimitrius Feb 24, 2023
1c64c93
Update structure for kernel_hist_impl_dpc
inteldimitrius Feb 27, 2023
deaca55
Update random treshold generation
inteldimitrius Feb 27, 2023
7ee4074
Minor updates
inteldimitrius Feb 28, 2023
9ceb6a9
Fix minor bugs
inteldimitrius Mar 1, 2023
52daf0f
Minor updates for single gpu version
inteldimitrius Mar 1, 2023
8d27e78
Update histogram calc for single mode version
inteldimitrius Mar 2, 2023
bea0b50
Optimized single-GPU version
inteldimitrius Mar 2, 2023
a3bc235
Refactoring
inteldimitrius Mar 3, 2023
49e5648
Uniform distribution for Random Splitter
inteldimitrius Mar 3, 2023
2a785e0
Update method description and namespaces
inteldimitrius Mar 6, 2023
b4d494f
Apply clang-format for common.cpp
inteldimitrius Mar 6, 2023
fb49862
Fix bug for case min_bin > max_bin
inteldimitrius Mar 13, 2023
d98e2fb
Minor updates
inteldimitrius Mar 21, 2023
3286808
Update file copyright headers.
inteldimitrius Mar 22, 2023
5994392
Update clang-format
inteldimitrius Mar 22, 2023
5978ffc
Fix typo, remove redundant checking, snake case.
inteldimitrius Mar 23, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

Original file line number Diff line number Diff line change
@@ -28,8 +28,8 @@
#include "oneapi/dal/algo/decision_forest/backend/gpu/train_service_kernels.hpp"
#include "oneapi/dal/algo/decision_forest/backend/gpu/train_feature_type.hpp"
#include "oneapi/dal/algo/decision_forest/backend/gpu/train_model_manager.hpp"
#include "oneapi/dal/algo/decision_forest/backend/gpu/train_best_split_impl.hpp"
#include "oneapi/dal/algo/decision_forest/backend/gpu/train_best_split_sp_opt_impl.hpp"
#include "oneapi/dal/algo/decision_forest/backend/gpu/train_splitter_impl.hpp"
#include "oneapi/dal/algo/decision_forest/backend/gpu/train_splitter_sp_opt_impl.hpp"

namespace oneapi::dal::decision_forest::backend {

@@ -104,6 +104,12 @@ class train_kernel_hist_impl {
const pr::ndarray<Index, 1>& node_vs_tree_map,
rng_engine_list_t& rng_engine_list);

std::tuple<pr::ndarray<Float, 1>, sycl::event> gen_random_tresholds(
const train_context_t& ctx,
Index node_count,
const pr::ndarray<Index, 1>& node_vs_tree_map,
rng_engine_list_t& rng_engine_list);

sycl::event compute_initial_imp_for_node_list(const train_context_t& ctx,
imp_data_t& imp_data_list,
pr::ndarray<Index, 1>& node_list,
@@ -168,6 +174,7 @@ class train_kernel_hist_impl {
const pr::ndview<Float, 1>& response,
const pr::ndarray<Index, 1>& tree_order,
const pr::ndarray<Index, 1>& selected_ftr_list,
const pr::ndarray<Float, 1>& random_bins_com,
const pr::ndarray<Index, 1>& bin_offset_list,
const imp_data_t& imp_data_list,
pr::ndarray<Index, 1>& node_list,
Loading