MCPcopy Create free account
hub / github.com/catboost/catboost / FBDeserializeOwning

Method FBDeserializeOwning

catboost/libs/model/model.cpp:743–796  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

741}
742
743void TModelTrees::FBDeserializeOwning(const NCatBoostFbs::TModelTrees* fbObj) {
744 ApproxDimension = fbObj->ApproxDimension();
745 SetScaleAndBias(fbObj);
746
747 auto& data = *CastToSolidTree(*this);
748
749 if (fbObj->TreeSplits()) {
750 data.TreeSplits.assign(fbObj->TreeSplits()->begin(), fbObj->TreeSplits()->end());
751 }
752 if (fbObj->TreeSizes()) {
753 data.TreeSizes.assign(fbObj->TreeSizes()->begin(), fbObj->TreeSizes()->end());
754 }
755 if (fbObj->TreeStartOffsets()) {
756 data.TreeStartOffsets.assign(fbObj->TreeStartOffsets()->begin(), fbObj->TreeStartOffsets()->end());
757 }
758
759 if (fbObj->LeafValues()) {
760 data.LeafValues.assign(
761 fbObj->LeafValues()->data(),
762 fbObj->LeafValues()->data() + fbObj->LeafValues()->size()
763 );
764 }
765 if (fbObj->NonSymmetricStepNodes()) {
766 data.NonSymmetricStepNodes.resize(fbObj->NonSymmetricStepNodes()->size());
767 std::copy(
768 fbObj->NonSymmetricStepNodes()->begin(),
769 fbObj->NonSymmetricStepNodes()->end(),
770 data.NonSymmetricStepNodes.begin()
771 );
772 }
773 if (fbObj->NonSymmetricNodeIdToLeafId()) {
774 data.NonSymmetricNodeIdToLeafId.assign(
775 fbObj->NonSymmetricNodeIdToLeafId()->begin(), fbObj->NonSymmetricNodeIdToLeafId()->end()
776 );
777 }
778 if (fbObj->LeafWeights() && fbObj->LeafWeights()->size() > 0) {
779 data.LeafWeights.assign(
780 fbObj->LeafWeights()->data(),
781 fbObj->LeafWeights()->data() + fbObj->LeafWeights()->size()
782 );
783 }
784
785 if (fbObj->RepackedBins()) {
786 TVector<TRepackedBin> repackedBins(fbObj->RepackedBins()->size());
787 std::copy(
788 fbObj->RepackedBins()->begin(),
789 fbObj->RepackedBins()->end(),
790 repackedBins.begin()
791 );
792 RepackedBins = NCB::TMaybeOwningConstArrayHolder<TRepackedBin>::CreateOwning(std::move(repackedBins));
793 }
794
795 DeserializeFeatures(fbObj);
796}
797
798void TModelTrees::FBDeserializeNonOwning(const NCatBoostFbs::TModelTrees* fbObj) {
799 ModelTreeData = MakeHolder<TOpaqueModelTree>();

Callers 1

LoadMethod · 0.80

Calls 9

CastToSolidTreeFunction · 0.85
copyFunction · 0.50
moveFunction · 0.50
assignMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
dataMethod · 0.45
sizeMethod · 0.45
resizeMethod · 0.45

Tested by

no test coverage detected