| 693 | } |
| 694 | |
| 695 | void TModelTrees::SetScaleAndBias(const TScaleAndBias& scaleAndBias) { |
| 696 | CB_ENSURE(IsValidFloat(scaleAndBias.Scale), "Invalid scale " << scaleAndBias.Scale); |
| 697 | TVector<double> bias = scaleAndBias.GetBiasRef(); |
| 698 | for (auto i : xrange(bias.size())) { |
| 699 | CB_ENSURE(IsValidFloat(bias[i]), "Invalid bias[" << i << "] : " << bias[i]); |
| 700 | } |
| 701 | if (bias.empty()) { |
| 702 | bias.resize(GetDimensionsCount(), 0); |
| 703 | } |
| 704 | CB_ENSURE( |
| 705 | GetDimensionsCount() == bias.size(), |
| 706 | "Inappropraite dimension of bias, should be " << GetDimensionsCount() << " found " << bias.size()); |
| 707 | |
| 708 | ScaleAndBias = TScaleAndBias(scaleAndBias.Scale, bias); |
| 709 | } |
| 710 | |
| 711 | void TModelTrees::SetScaleAndBias(const NCatBoostFbs::TModelTrees* fbObj) { |
| 712 | ApproxDimension = fbObj->ApproxDimension(); |
no test coverage detected