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

Method Save

catboost/libs/model/model.cpp:1113–1163  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1111
1112
1113void TFullModel::Save(IOutputStream* s) const {
1114 using namespace flatbuffers;
1115 using namespace NCatBoostFbs;
1116 ::Save(s, GetModelFormatDescriptor());
1117 TModelPartsCachingSerializer serializer;
1118 auto modelTreesOffset = ModelTrees->FBSerialize(serializer);
1119 std::vector<flatbuffers::Offset<TKeyValue>> infoMap;
1120 for (const auto& key_value : ModelInfo) {
1121 auto keyValueOffset = CreateTKeyValue(
1122 serializer.FlatbufBuilder,
1123 serializer.FlatbufBuilder.CreateString(
1124 key_value.first.c_str(),
1125 key_value.first.size()
1126 ),
1127 serializer.FlatbufBuilder.CreateString(
1128 key_value.second.c_str(),
1129 key_value.second.size()
1130 )
1131 );
1132 infoMap.push_back(keyValueOffset);
1133 }
1134 std::vector<flatbuffers::Offset<flatbuffers::String>> modelPartIds;
1135 if (!!CtrProvider && CtrProvider->IsSerializable()) {
1136 modelPartIds.push_back(serializer.FlatbufBuilder.CreateString(CtrProvider->ModelPartIdentifier()));
1137 }
1138 if (!!TextProcessingCollection) {
1139 modelPartIds.push_back(serializer.FlatbufBuilder.CreateString(TextProcessingCollection->GetStringIdentifier()));
1140 }
1141 if (!!EmbeddingProcessingCollection) {
1142 modelPartIds.push_back(serializer.FlatbufBuilder.CreateString(EmbeddingProcessingCollection->GetStringIdentifier()));
1143 }
1144 auto coreOffset = CreateTModelCoreDirect(
1145 serializer.FlatbufBuilder,
1146 CURRENT_CORE_FORMAT_STRING,
1147 modelTreesOffset,
1148 infoMap.empty() ? nullptr : &infoMap,
1149 modelPartIds.empty() ? nullptr : &modelPartIds
1150 );
1151 serializer.FlatbufBuilder.Finish(coreOffset);
1152 SaveSize(s, serializer.FlatbufBuilder.GetSize());
1153 s->Write(serializer.FlatbufBuilder.GetBufferPointer(), serializer.FlatbufBuilder.GetSize());
1154 if (!!CtrProvider && CtrProvider->IsSerializable()) {
1155 CtrProvider->Save(s);
1156 }
1157 if (!!TextProcessingCollection) {
1158 TextProcessingCollection->Save(s);
1159 }
1160 if (!!EmbeddingProcessingCollection) {
1161 EmbeddingProcessingCollection->Save(s);
1162 }
1163}
1164
1165void TFullModel::DefaultFullModelInit(const NCatBoostFbs::TModelCore* fbModelCore) {
1166 CB_ENSURE(

Callers 10

SumModelsParamsFunction · 0.45
Y_UNIT_TESTFunction · 0.45
DoSerializeDeserializeFunction · 0.45
Y_UNIT_TESTFunction · 0.45
SaveLoadCBMFunction · 0.45
SaveLoadCoreMLFunction · 0.45
TrainFunction · 0.45
CreateLogsMethod · 0.45
OnSaveSnapshotMethod · 0.45
OnSaveSnapshotMethod · 0.45

Calls 15

SaveSizeFunction · 0.85
GetBufferPointerMethod · 0.80
GetModelFormatDescriptorFunction · 0.70
SaveFunction · 0.50
FBSerializeMethod · 0.45
CreateStringMethod · 0.45
c_strMethod · 0.45
sizeMethod · 0.45
push_backMethod · 0.45
IsSerializableMethod · 0.45
ModelPartIdentifierMethod · 0.45
GetStringIdentifierMethod · 0.45

Tested by

no test coverage detected