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

Method SerializeToJson

catboost/libs/data/ctrs.cpp:29–55  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

27
28
29TString NCB::TPrecomputedOnlineCtrMetaData::SerializeToJson() const {
30 NJson::TJsonMap json;
31
32 NJson::TJsonArray onlineCtrIdxToFeatureIdxJson;
33 for (const auto& [onlineCtrIdx, featureIdx] : OnlineCtrIdxToFeatureIdx) {
34 NJson::TJsonMap json;
35 json.InsertValue("CatFeatureIdx", NJson::TJsonValue(onlineCtrIdx.CatFeatureIdx));
36 json.InsertValue("CtrIdx", NJson::TJsonValue(onlineCtrIdx.CtrIdx));
37 json.InsertValue("TargetBorderIdx", NJson::TJsonValue(onlineCtrIdx.TargetBorderIdx));
38 json.InsertValue("PriorIdx", NJson::TJsonValue(onlineCtrIdx.PriorIdx));
39 json.InsertValue("FeatureIdx", NJson::TJsonValue(featureIdx));
40 onlineCtrIdxToFeatureIdxJson.AppendValue(std::move(json));
41 }
42 json.InsertValue("OnlineCtrIdxToFeatureIdx", std::move(onlineCtrIdxToFeatureIdxJson));
43
44 NJson::TJsonArray valuesCountsJson;
45 for (const auto& [catFeatureIdx, valuesCounts] : ValuesCounts) {
46 NJson::TJsonMap json;
47 json.InsertValue("CatFeatureIdx", NJson::TJsonValue(catFeatureIdx));
48 json.InsertValue("Count", NJson::TJsonValue(valuesCounts.Count));
49 json.InsertValue("CounterCount", NJson::TJsonValue(valuesCounts.CounterCount));
50 valuesCountsJson.AppendValue(std::move(json));
51 }
52 json.InsertValue("ValuesCounts", std::move(valuesCountsJson));
53
54 return NJson::WriteJson(json);
55}
56
57NCB::TPrecomputedOnlineCtrMetaData NCB::TPrecomputedOnlineCtrMetaData::DeserializeFromJson(
58 const TString& serializedJson

Callers 1

Y_UNIT_TESTFunction · 0.45

Calls 4

AppendValueMethod · 0.80
TJsonValueClass · 0.70
moveFunction · 0.50
WriteJsonFunction · 0.50

Tested by

no test coverage detected