| 472 | |
| 473 | public: |
| 474 | void TestUpdateConfig() { |
| 475 | std::unique_ptr<Learner> learner{Learner::Create({Xy_})}; |
| 476 | learner->SetParam("objective", "reg:absoluteerror"); |
| 477 | learner->UpdateOneIter(0, Xy_); |
| 478 | Json config{Object{}}; |
| 479 | learner->SaveConfig(&config); |
| 480 | auto base_score = GetBaseScore(config); |
| 481 | ASSERT_EQ(base_score.size(), 1); |
| 482 | ASSERT_NE(base_score[0], ObjFunction::DefaultBaseScore()); |
| 483 | |
| 484 | // already initialized |
| 485 | auto Xy1 = RandomDataGenerator{100, Cols(), 0}.Seed(321).GenerateDMatrix(true); |
| 486 | learner->UpdateOneIter(1, Xy1); |
| 487 | learner->SaveConfig(&config); |
| 488 | auto base_score1 = GetBaseScore(config); |
| 489 | ASSERT_EQ(base_score, base_score1); |
| 490 | |
| 491 | Json model{Object{}}; |
| 492 | learner->SaveModel(&model); |
| 493 | learner.reset(Learner::Create({})); |
| 494 | learner->LoadModel(model); |
| 495 | learner->Configure(); |
| 496 | learner->UpdateOneIter(2, Xy1); |
| 497 | learner->SaveConfig(&config); |
| 498 | auto base_score2 = GetBaseScore(config); |
| 499 | ASSERT_EQ(base_score, base_score2); |
| 500 | } |
| 501 | |
| 502 | void TestBoostFromAvgParam() { |
| 503 | std::unique_ptr<Learner> learner{Learner::Create({Xy_})}; |
no test coverage detected