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

Method Save

catboost/libs/model/ctr_value_table.cpp:15–48  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

13
14
15void TCtrValueTable::Save(IOutputStream* s) const {
16 using namespace flatbuffers;
17 using namespace NCatBoostFbs;
18 TModelPartsCachingSerializer serializer;
19 if (std::holds_alternative<TSolidTable>(Impl)) {
20 auto& solid = std::get<TSolidTable>(Impl);
21 auto indexHashOffset = serializer.FlatbufBuilder.CreateVector((const ui8*) solid.IndexBuckets.data(),
22 sizeof(NCatboost::TBucket) * solid.IndexBuckets.size());
23 auto ctrBlob = serializer.FlatbufBuilder.CreateVector(solid.CTRBlob);
24 auto ctrValueTable = CreateTCtrValueTable(
25 serializer.FlatbufBuilder,
26 serializer.GetOffset(ModelCtrBase),
27 indexHashOffset,
28 ctrBlob,
29 CounterDenominator,
30 TargetClassesCount);
31 serializer.FlatbufBuilder.Finish(ctrValueTable);
32 } else {
33 auto& thin = std::get<TThinTable>(Impl);
34 auto indexHashOffset = serializer.FlatbufBuilder.CreateVector((const ui8*) thin.IndexBuckets.data(),
35 sizeof(NCatboost::TBucket) * thin.IndexBuckets.size());
36 auto ctrBlob = serializer.FlatbufBuilder.CreateVector(thin.CTRBlob.data(), thin.CTRBlob.size());
37 auto ctrValueTable = CreateTCtrValueTable(
38 serializer.FlatbufBuilder,
39 serializer.GetOffset(ModelCtrBase),
40 indexHashOffset,
41 ctrBlob,
42 CounterDenominator,
43 TargetClassesCount);
44 serializer.FlatbufBuilder.Finish(ctrValueTable);
45 }
46 SaveSize(s, serializer.FlatbufBuilder.GetSize());
47 s->Write(serializer.FlatbufBuilder.GetBufferPointer(), serializer.FlatbufBuilder.GetSize());
48}
49
50void TCtrValueTable::Load(IInputStream* s) {
51 const ui32 size = LoadSize(s);

Callers

nothing calls this directly

Calls 9

SaveSizeFunction · 0.85
CreateVectorMethod · 0.80
GetBufferPointerMethod · 0.80
dataMethod · 0.45
sizeMethod · 0.45
GetOffsetMethod · 0.45
FinishMethod · 0.45
GetSizeMethod · 0.45
WriteMethod · 0.45

Tested by

no test coverage detected