| 209 | } |
| 210 | |
| 211 | void AddValidData(const Dataset* valid_data) { |
| 212 | std::lock_guard<std::mutex> lock(mutex_); |
| 213 | valid_metrics_.emplace_back(); |
| 214 | for (auto metric_type : config_.metric) { |
| 215 | auto metric = std::unique_ptr<Metric>(Metric::CreateMetric(metric_type, config_)); |
| 216 | if (metric == nullptr) { continue; } |
| 217 | metric->Init(valid_data->metadata(), valid_data->num_data()); |
| 218 | valid_metrics_.back().push_back(std::move(metric)); |
| 219 | } |
| 220 | valid_metrics_.back().shrink_to_fit(); |
| 221 | boosting_->AddValidDataset(valid_data, |
| 222 | Common::ConstPtrInVectorWrapper<Metric>(valid_metrics_.back())); |
| 223 | } |
| 224 | |
| 225 | bool TrainOneIter() { |
| 226 | std::lock_guard<std::mutex> lock(mutex_); |
no test coverage detected