some potential fix
This commit is contained in:
parent
8437e43afc
commit
03f34824b4
@ -69,11 +69,11 @@ class GBTree : public IGradBooster {
|
|||||||
trees[i]->SaveModel(fo);
|
trees[i]->SaveModel(fo);
|
||||||
}
|
}
|
||||||
if (tree_info.size() != 0) {
|
if (tree_info.size() != 0) {
|
||||||
fo.Write(&tree_info[0], sizeof(int) * tree_info.size());
|
fo.Write(BeginPtr(tree_info), sizeof(int) * tree_info.size());
|
||||||
}
|
}
|
||||||
if (mparam.num_pbuffer != 0 && with_pbuffer) {
|
if (mparam.num_pbuffer != 0 && with_pbuffer) {
|
||||||
fo.Write(&pred_buffer[0], pred_buffer.size() * sizeof(float));
|
fo.Write(BeginPtr(pred_buffer), pred_buffer.size() * sizeof(float));
|
||||||
fo.Write(&pred_counter[0], pred_counter.size() * sizeof(unsigned));
|
fo.Write(BeginPtr(pred_counter), pred_counter.size() * sizeof(unsigned));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// initialize the predic buffer
|
// initialize the predic buffer
|
||||||
|
|||||||
@ -296,9 +296,10 @@ class TreeModel {
|
|||||||
utils::Check(fi.Read(¶m, sizeof(Param)) > 0,
|
utils::Check(fi.Read(¶m, sizeof(Param)) > 0,
|
||||||
"TreeModel: wrong format");
|
"TreeModel: wrong format");
|
||||||
nodes.resize(param.num_nodes); stats.resize(param.num_nodes);
|
nodes.resize(param.num_nodes); stats.resize(param.num_nodes);
|
||||||
utils::Check(fi.Read(&nodes[0], sizeof(Node) * nodes.size()) > 0,
|
utils::Assert(param.num_nodes != 0, "invalid model");
|
||||||
|
utils::Check(fi.Read(BeginPtr(nodes), sizeof(Node) * nodes.size()) > 0,
|
||||||
"TreeModel: wrong format");
|
"TreeModel: wrong format");
|
||||||
utils::Check(fi.Read(&stats[0], sizeof(NodeStat) * stats.size()) > 0,
|
utils::Check(fi.Read(BeginPtr(stats), sizeof(NodeStat) * stats.size()) > 0,
|
||||||
"TreeModel: wrong format");
|
"TreeModel: wrong format");
|
||||||
if (param.size_leaf_vector != 0) {
|
if (param.size_leaf_vector != 0) {
|
||||||
utils::Check(fi.Read(&leaf_vector), "TreeModel: wrong format");
|
utils::Check(fi.Read(&leaf_vector), "TreeModel: wrong format");
|
||||||
@ -322,8 +323,9 @@ class TreeModel {
|
|||||||
utils::Assert(param.num_nodes == static_cast<int>(stats.size()),
|
utils::Assert(param.num_nodes == static_cast<int>(stats.size()),
|
||||||
"Tree::SaveModel");
|
"Tree::SaveModel");
|
||||||
fo.Write(¶m, sizeof(Param));
|
fo.Write(¶m, sizeof(Param));
|
||||||
fo.Write(&nodes[0], sizeof(Node) * nodes.size());
|
utils::Assert(param.num_nodes != 0, "invalid model");
|
||||||
fo.Write(&stats[0], sizeof(NodeStat) * nodes.size());
|
fo.Write(BeginPtr(nodes), sizeof(Node) * nodes.size());
|
||||||
|
fo.Write(BeginPtr(stats), sizeof(NodeStat) * nodes.size());
|
||||||
if (param.size_leaf_vector != 0) fo.Write(leaf_vector);
|
if (param.size_leaf_vector != 0) fo.Write(leaf_vector);
|
||||||
}
|
}
|
||||||
/*!
|
/*!
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user