From fbb0dc42752485b01aa27fe6be20597c7b3aa50f Mon Sep 17 00:00:00 2001 From: Jiaming Yuan Date: Sun, 17 Oct 2021 15:58:57 +0800 Subject: [PATCH] Remove auto configuration of seed_per_iteration. (#7009) * Remove auto configuration of seed_per_iteration. This should be related to model recovery from rabit, which is removed. * Document. --- doc/parameter.rst | 2 +- include/xgboost/generic_parameters.h | 5 +---- src/learner.cc | 6 ++++-- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/doc/parameter.rst b/doc/parameter.rst index aff9a5d18687..f6e78b122122 100644 --- a/doc/parameter.rst +++ b/doc/parameter.rst @@ -420,7 +420,7 @@ Specify the learning task and the corresponding learning objective. The objectiv * ``seed_per_iteration`` [default=false] - - Seed PRNG determnisticly via iterator number, this option will be switched on automatically on distributed mode. + - Seed PRNG determnisticly via iterator number. *********************** Command Line Parameters diff --git a/include/xgboost/generic_parameters.h b/include/xgboost/generic_parameters.h index 583252bcc763..9301f10ceded 100644 --- a/include/xgboost/generic_parameters.h +++ b/include/xgboost/generic_parameters.h @@ -49,10 +49,7 @@ struct GenericParameter : public XGBoostParameter { DMLC_DECLARE_ALIAS(seed, random_state); DMLC_DECLARE_FIELD(seed_per_iteration) .set_default(false) - .describe( - "Seed PRNG determnisticly via iterator number, " - "this option will be switched on automatically on distributed " - "mode."); + .describe("Seed PRNG determnisticly via iterator number."); DMLC_DECLARE_FIELD(nthread).set_default(0).describe( "Number of threads to use."); DMLC_DECLARE_ALIAS(nthread, n_jobs); diff --git a/src/learner.cc b/src/learner.cc index 36b13f8b837e..c6baf5b5e428 100644 --- a/src/learner.cc +++ b/src/learner.cc @@ -1062,9 +1062,10 @@ class LearnerImpl : public LearnerIO { monitor_.Start("UpdateOneIter"); TrainingObserver::Instance().Update(iter); this->Configure(); - if (generic_parameters_.seed_per_iteration || rabit::IsDistributed()) { + if (generic_parameters_.seed_per_iteration) { common::GlobalRandom().seed(generic_parameters_.seed * kRandSeedMagic + iter); } + this->CheckDataSplitMode(); this->ValidateDMatrix(train.get(), true); @@ -1089,9 +1090,10 @@ class LearnerImpl : public LearnerIO { HostDeviceVector* in_gpair) override { monitor_.Start("BoostOneIter"); this->Configure(); - if (generic_parameters_.seed_per_iteration || rabit::IsDistributed()) { + if (generic_parameters_.seed_per_iteration) { common::GlobalRandom().seed(generic_parameters_.seed * kRandSeedMagic + iter); } + this->CheckDataSplitMode(); this->ValidateDMatrix(train.get(), true); auto local_cache = this->GetPredictionCache();