Commit c3c1708c authored by Guolin Ke's avatar Guolin Ke
Browse files

fix #818

parent 486f5db4
......@@ -66,6 +66,7 @@ GBDT::~GBDT() {
void GBDT::Init(const BoostingConfig* config, const Dataset* train_data, const ObjectiveFunction* objective_function,
const std::vector<const Metric*>& training_metrics) {
CHECK(train_data->num_features() > 0);
train_data_ = train_data;
iter_ = 0;
num_iteration_for_pred_ = 0;
......@@ -164,7 +165,7 @@ void GBDT::ResetTrainingData(const Dataset* train_data, const ObjectiveFunction*
if (train_data != train_data_ && !train_data_->CheckAlign(*train_data)) {
Log::Fatal("cannot reset training data, since new training data has different bin mappers");
}
CHECK(train_data->num_features() > 0);
objective_function_ = objective_function;
if (objective_function_ != nullptr) {
is_constant_hessian_ = objective_function_->IsConstantHessian();
......
......@@ -38,6 +38,7 @@ public:
Booster(const Dataset* train_data,
const char* parameters) {
CHECK(train_data->num_features() > 0);
auto param = ConfigBase::Str2Map(parameters);
config_.Set(param);
if (config_.num_threads > 0) {
......@@ -94,6 +95,7 @@ public:
void ResetTrainingData(const Dataset* train_data) {
if (train_data != train_data_) {
CHECK(train_data->num_features() > 0);
std::lock_guard<std::mutex> lock(mutex_);
train_data_ = train_data;
CreateObjectiveAndMetrics();
......
......@@ -24,10 +24,12 @@ Dataset::Dataset() {
}
Dataset::Dataset(data_size_t num_data) {
CHECK(num_data > 0);
data_filename_ = "noname";
num_data_ = num_data;
metadata_.Init(num_data_, NO_SPECIFIC, NO_SPECIFIC);
is_finish_load_ = false;
group_bin_boundaries_.push_back(0);
}
Dataset::~Dataset() {
......@@ -223,7 +225,9 @@ void Dataset::Construct(
used_features.emplace_back(i);
}
}
if (used_features.empty()) {
Log::Fatal("Cannot construct Dataset since there are not useful features.");
}
auto features_in_group = NoGroup(used_features);
if (io_config.enable_bundle) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment