| 135 | |
| 136 | namespace NCatboostCuda { |
| 137 | TMirrorBuffer<ui8> BuildBinarizedTarget(const TBinarizedFeaturesManager& featuresManager, const TVector<float>& targets) { |
| 138 | TVector<ui8> binarizedTarget; |
| 139 | if (featuresManager.HasTargetBinarization()) { |
| 140 | auto& borders = featuresManager.GetTargetBorders(); |
| 141 | binarizedTarget = NCB::BinarizeLine<ui8>(targets, |
| 142 | ENanMode::Forbidden, |
| 143 | borders); |
| 144 | } else { |
| 145 | binarizedTarget.resize(targets.size(), 0); |
| 146 | } |
| 147 | |
| 148 | TMirrorBuffer<ui8> binarizedTargetGpu = TMirrorBuffer<ui8>::Create(NCudaLib::TMirrorMapping(binarizedTarget.size())); |
| 149 | binarizedTargetGpu.Write(binarizedTarget); |
| 150 | return binarizedTargetGpu; |
| 151 | } |
| 152 | |
| 153 | void SplitByPermutationDependence(const TBinarizedFeaturesManager& featuresManager, const TVector<ui32>& features, |
| 154 | const ui32 permutationCount, TVector<ui32>* permutationIndependent, |
no test coverage detected