MCPcopy Create free account
hub / github.com/dmlc/treelite / BuildModel

Function BuildModel

tests/example_app/example.c:22–66  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

20 }
21
22TreeliteModelHandle BuildModel() {
23 TreeliteModelHandle model;
24 TreeliteModelBuilderHandle builder;
25 char const* model_metadata
26 = "{"
27 " \"threshold_type\": \"float32\","
28 " \"leaf_output_type\": \"float32\","
29 " \"metadata\": {"
30 " \"num_feature\": 2,"
31 " \"task_type\": \"kRegressor\","
32 " \"average_tree_output\": false,"
33 " \"num_target\": 1,"
34 " \"num_class\": [1],"
35 " \"leaf_vector_shape\": [1, 1]"
36 " },"
37 " \"tree_annotation\": {"
38 " \"num_tree\": 1,"
39 " \"target_id\": [0],"
40 " \"class_id\": [0]"
41 " },"
42 " \"postprocessor\": {"
43 " \"name\": \"identity\""
44 " },"
45 " \"base_scores\": [0.0]"
46 "}";
47 safe_treelite(TreeliteGetModelBuilder(model_metadata, &builder));
48 safe_treelite(TreeliteModelBuilderStartTree(builder));
49 safe_treelite(TreeliteModelBuilderStartNode(builder, 0));
50 safe_treelite(TreeliteModelBuilderNumericalTest(builder, 0, 0.0, 0, "<", 1, 2));
51 safe_treelite(TreeliteModelBuilderEndNode(builder));
52 safe_treelite(TreeliteModelBuilderStartNode(builder, 1));
53 safe_treelite(TreeliteModelBuilderLeafScalar(builder, -1.0));
54 safe_treelite(TreeliteModelBuilderEndNode(builder));
55 safe_treelite(TreeliteModelBuilderStartNode(builder, 2));
56 safe_treelite(TreeliteModelBuilderLeafScalar(builder, 1.0));
57 safe_treelite(TreeliteModelBuilderEndNode(builder));
58 safe_treelite(TreeliteModelBuilderEndTree(builder));
59
60 safe_treelite(TreeliteModelBuilderCommitModel(builder, &model));
61
62 // Clean up
63 safe_treelite(TreeliteDeleteModelBuilder(builder));
64
65 return model;
66}
67
68int main() {
69 TreeliteModelHandle model = BuildModel();

Callers 1

mainFunction · 0.85

Tested by

no test coverage detected