| 30 | } |
| 31 | |
| 32 | void Init(const Metadata& metadata, data_size_t num_data) override { |
| 33 | name_.emplace_back(PointWiseLossCalculator::Name()); |
| 34 | |
| 35 | num_data_ = num_data; |
| 36 | // get label |
| 37 | label_ = metadata.label(); |
| 38 | |
| 39 | // get weights |
| 40 | weights_ = metadata.weights(); |
| 41 | |
| 42 | if (weights_ == nullptr) { |
| 43 | sum_weights_ = static_cast<double>(num_data_); |
| 44 | } else { |
| 45 | sum_weights_ = 0.0f; |
| 46 | for (data_size_t i = 0; i < num_data; ++i) { |
| 47 | sum_weights_ += weights_[i]; |
| 48 | } |
| 49 | } |
| 50 | } |
| 51 | |
| 52 | const std::vector<std::string>& GetName() const override { |
| 53 | return name_; |