treelite
src
compiler
native
main_template.h
Go to the documentation of this file.
1
8
#ifndef TREELITE_COMPILER_NATIVE_MAIN_TEMPLATE_H_
9
#define TREELITE_COMPILER_NATIVE_MAIN_TEMPLATE_H_
10
11
namespace
treelite
{
12
namespace
compiler {
13
namespace
native {
14
15
const
char
* main_start_template =
16
R
"TREELITETEMPLATE(
17
#include "header.h"
18
19
{array_is_categorical};
20
21
{get_num_output_group_function_signature} {{
22
return {num_output_group};
23
}}
24
25
{get_num_feature_function_signature} {{
26
return {num_feature};
27
}}
28
29
{get_pred_transform_function_signature} {{
30
return "{pred_transform}";
31
}}
32
33
{get_sigmoid_alpha_function_signature} {{
34
return {sigmoid_alpha};
35
}}
36
37
{get_global_bias_function_signature} {{
38
return {global_bias};
39
}}
40
41
{pred_transform_function}
42
{predict_function_signature} {{
43
)TREELITETEMPLATE";
44
45
const
char
* main_end_multiclass_template =
46
R
"TREELITETEMPLATE(
47
for (int i = 0; i < {num_output_group}; ++i) {{
48
result[i] = sum[i]{optional_average_field} + (float)({global_bias});
49
}}
50
if (!pred_margin) {{
51
return pred_transform(result);
52
}} else {{
53
return {num_output_group};
54
}}
55
}}
56
)TREELITETEMPLATE";
// only for multiclass classification
57
58
const
char
* main_end_template =
59
R
"TREELITETEMPLATE(
60
sum = sum{optional_average_field} + (float)({global_bias});
61
if (!pred_margin) {{
62
return pred_transform(sum);
63
}} else {{
64
return sum;
65
}}
66
}}
67
)TREELITETEMPLATE";
68
69
}
// namespace native
70
}
// namespace compiler
71
}
// namespace treelite
72
#endif // TREELITE_COMPILER_NATIVE_MAIN_TEMPLATE_H_
treelite
Definition:
annotator.h:14
Generated by
1.8.13