[breaking] Change internal model serialization to UBJSON. (#7556)
* Use typed array for models. * Change the memory snapshot format. * Add new C API for saving to raw format.
This commit is contained in:
@@ -198,8 +198,7 @@ void CheckReload(RegTree const &tree) {
|
||||
Json saved{Object()};
|
||||
loaded_tree.SaveModel(&saved);
|
||||
|
||||
auto same = out == saved;
|
||||
ASSERT_TRUE(same);
|
||||
ASSERT_EQ(out, saved);
|
||||
}
|
||||
|
||||
TEST(Tree, CategoricalIO) {
|
||||
@@ -433,12 +432,12 @@ TEST(Tree, JsonIO) {
|
||||
ASSERT_EQ(get<String>(tparam["num_nodes"]), "3");
|
||||
ASSERT_EQ(get<String>(tparam["size_leaf_vector"]), "0");
|
||||
|
||||
ASSERT_EQ(get<Array const>(j_tree["left_children"]).size(), 3ul);
|
||||
ASSERT_EQ(get<Array const>(j_tree["right_children"]).size(), 3ul);
|
||||
ASSERT_EQ(get<Array const>(j_tree["parents"]).size(), 3ul);
|
||||
ASSERT_EQ(get<Array const>(j_tree["split_indices"]).size(), 3ul);
|
||||
ASSERT_EQ(get<Array const>(j_tree["split_conditions"]).size(), 3ul);
|
||||
ASSERT_EQ(get<Array const>(j_tree["default_left"]).size(), 3ul);
|
||||
ASSERT_EQ(get<I32Array const>(j_tree["left_children"]).size(), 3ul);
|
||||
ASSERT_EQ(get<I32Array const>(j_tree["right_children"]).size(), 3ul);
|
||||
ASSERT_EQ(get<I32Array const>(j_tree["parents"]).size(), 3ul);
|
||||
ASSERT_EQ(get<I32Array const>(j_tree["split_indices"]).size(), 3ul);
|
||||
ASSERT_EQ(get<F32Array const>(j_tree["split_conditions"]).size(), 3ul);
|
||||
ASSERT_EQ(get<U8Array const>(j_tree["default_left"]).size(), 3ul);
|
||||
|
||||
RegTree loaded_tree;
|
||||
loaded_tree.LoadModel(j_tree);
|
||||
|
||||
Reference in New Issue
Block a user