Support 64bit seed. (#5643)
This commit is contained in:
parent
eaf2a00b5c
commit
21ed1f0c6d
@ -17,7 +17,7 @@ struct GenericParameter : public XGBoostParameter<GenericParameter> {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// stored random seed
|
// stored random seed
|
||||||
int seed;
|
int64_t seed;
|
||||||
// whether seed the PRNG each iteration
|
// whether seed the PRNG each iteration
|
||||||
bool seed_per_iteration;
|
bool seed_per_iteration;
|
||||||
// number of threads to use if OpenMP is enabled
|
// number of threads to use if OpenMP is enabled
|
||||||
|
|||||||
@ -260,4 +260,26 @@ TEST(Learner, GPUConfiguration) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif // defined(XGBOOST_USE_CUDA)
|
#endif // defined(XGBOOST_USE_CUDA)
|
||||||
|
|
||||||
|
TEST(Learner, Seed) {
|
||||||
|
auto m = RandomDataGenerator{10, 10, 0}.GenerateDMatrix();
|
||||||
|
std::unique_ptr<Learner> learner {
|
||||||
|
Learner::Create({m})
|
||||||
|
};
|
||||||
|
auto seed = std::numeric_limits<int64_t>::max();
|
||||||
|
learner->SetParam("seed", std::to_string(seed));
|
||||||
|
learner->Configure();
|
||||||
|
Json config { Object() };
|
||||||
|
learner->SaveConfig(&config);
|
||||||
|
ASSERT_EQ(std::to_string(seed),
|
||||||
|
get<String>(config["learner"]["generic_param"]["seed"]));
|
||||||
|
|
||||||
|
seed = std::numeric_limits<int64_t>::min();
|
||||||
|
learner->SetParam("seed", std::to_string(seed));
|
||||||
|
learner->Configure();
|
||||||
|
learner->SaveConfig(&config);
|
||||||
|
ASSERT_EQ(std::to_string(seed),
|
||||||
|
get<String>(config["learner"]["generic_param"]["seed"]));
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace xgboost
|
} // namespace xgboost
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user