aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/contrib/boosted_trees
diff options
context:
space:
mode:
authorGravatar A. Unique TensorFlower <gardener@tensorflow.org>2018-09-13 12:13:11 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2018-09-13 12:17:46 -0700
commit49581856c47c2d3d1e81c4b10d9896259f58bae6 (patch)
treead2b9919d0d82c0f72e193f6dc4fa4746b06e70c /tensorflow/contrib/boosted_trees
parent3f064b9a3e5125d20858c754e5d1db309b25b87f (diff)
Add some debugging checks for categorical split handler.
Also use MIN_INT64 for the bias feature accumulation since categorical_feature_with_xyz use -1 for out of vocab features. PiperOrigin-RevId: 212855656
Diffstat (limited to 'tensorflow/contrib/boosted_trees')
-rw-r--r--tensorflow/contrib/boosted_trees/kernels/split_handler_ops.cc9
-rw-r--r--tensorflow/contrib/boosted_trees/lib/learner/batch/categorical_split_handler.py2
2 files changed, 10 insertions, 1 deletions
diff --git a/tensorflow/contrib/boosted_trees/kernels/split_handler_ops.cc b/tensorflow/contrib/boosted_trees/kernels/split_handler_ops.cc
index 3b28ed77f3..51e0c2e431 100644
--- a/tensorflow/contrib/boosted_trees/kernels/split_handler_ops.cc
+++ b/tensorflow/contrib/boosted_trees/kernels/split_handler_ops.cc
@@ -862,6 +862,15 @@ class BuildCategoricalEqualitySplitsOp : public OpKernel {
auto* equality_split = split_info.mutable_split_node()
->mutable_categorical_id_binary_split();
equality_split->set_feature_column(state->feature_column_group_id());
+ CHECK(feature_ids(best_feature_idx, 0) != bias_feature_id)
+ << "Unexpected feature ID selected. "
+ << "Start feature ID: [" << start_index << "] "
+ << feature_ids(start_index, 0) << ", " << feature_ids(start_index, 1)
+ << "\nBest feature ID: [" << best_feature_idx << "] "
+ << feature_ids(best_feature_idx, 0) << ", "
+ << feature_ids(best_feature_idx, 1)
+ << "\nPartition IDS: " << partition_ids(start_index) << " "
+ << partition_ids(best_feature_idx);
equality_split->set_feature_id(feature_ids(best_feature_idx, 0));
auto* left_child = split_info.mutable_left_child();
auto* right_child = split_info.mutable_right_child();
diff --git a/tensorflow/contrib/boosted_trees/lib/learner/batch/categorical_split_handler.py b/tensorflow/contrib/boosted_trees/lib/learner/batch/categorical_split_handler.py
index 35d727482b..4da25298cb 100644
--- a/tensorflow/contrib/boosted_trees/lib/learner/batch/categorical_split_handler.py
+++ b/tensorflow/contrib/boosted_trees/lib/learner/batch/categorical_split_handler.py
@@ -29,7 +29,7 @@ from tensorflow.python.ops import array_ops
from tensorflow.python.ops import control_flow_ops
from tensorflow.python.ops import math_ops
-_BIAS_FEATURE_ID = -1
+_BIAS_FEATURE_ID = int(dtypes.int64.min)
class EqualitySplitHandler(base_split_handler.BaseSplitHandler):