MCPcopy Create free account
hub / github.com/dmlc/xgboost / SaveModel

Method SaveModel

src/learner.cc:950–984  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

948 }
949
950 void SaveModel(Json* p_out) const override {
951 CHECK(!this->need_configuration_) << "Call Configure before saving model.";
952 this->CheckModelInitialized();
953
954 Version::Save(p_out);
955 Json& out{*p_out};
956
957 out["learner"] = Object();
958 auto& learner = out["learner"];
959
960 learner["learner_model_param"] = mparam_.ToJson();
961 learner["gradient_booster"] = Object();
962 auto& gradient_booster = learner["gradient_booster"];
963 gbm_->SaveModel(&gradient_booster);
964
965 learner["objective"] = Object();
966 auto& objective_fn = learner["objective"];
967 obj_->SaveConfig(&objective_fn);
968
969 learner["attributes"] = Object();
970 for (auto const& kv : attributes_) {
971 learner["attributes"][kv.first] = String(kv.second);
972 }
973
974 learner["feature_names"] = Array();
975 auto& feature_names = get<Array>(learner["feature_names"]);
976 for (auto const& name : feature_names_) {
977 feature_names.emplace_back(name);
978 }
979 learner["feature_types"] = Array();
980 auto& feature_types = get<Array>(learner["feature_types"]);
981 for (auto const& type : feature_types_) {
982 feature_types.emplace_back(type);
983 }
984 }
985
986 void Save(dmlc::Stream* fo) const override {
987 this->CheckModelInitialized();

Callers 1

SaveMethod · 0.95

Calls 4

ArrayClass · 0.85
CheckModelInitializedMethod · 0.80
ToJsonMethod · 0.45
SaveConfigMethod · 0.45

Tested by

no test coverage detected