24 friend class GRLNeuroTrainerModule;
31 GRLMLP(std::vector<unsigned short>& nodes,
unsigned short targets,
const std::vector<float>& outputscale);
59 std::vector<int> get_int_bit_bias()
const {
return m_int_bit_bias; }
60 std::vector<bool> get_is_signed_bias()
const {
return m_is_signed_bias; }
61 std::vector<int> get_rounding_bias()
const {
return m_rounding_bias; }
62 std::vector<int> get_saturation_bias()
const {
return m_saturation_bias; }
63 std::vector<int> get_total_bit_accum()
const {
return m_total_bit_accum; }
64 std::vector<int> get_int_bit_accum()
const {
return m_int_bit_accum; }
65 std::vector<bool> get_is_signed_accum()
const {
return m_is_signed_accum; }
66 std::vector<int> get_rounding_accum()
const {
return m_rounding_accum; }
67 std::vector<int> get_saturation_accum()
const {
return m_saturation_accum; }
68 std::vector<int> get_total_bit_weight()
const {
return m_total_bit_weight; }
69 std::vector<int> get_int_bit_weight()
const {
return m_int_bit_weight; }
70 std::vector<bool> get_is_signed_weight()
const {
return m_is_signed_weight; }
71 std::vector<int> get_rounding_weight()
const {
return m_rounding_weight; }
72 std::vector<int> get_saturation_weight()
const {
return m_saturation_weight; }
73 std::vector<int> get_total_bit_relu()
const {
return m_total_bit_relu; }
74 std::vector<int> get_int_bit_relu()
const {
return m_int_bit_relu; }
75 std::vector<bool> get_is_signed_relu()
const {
return m_is_signed_relu; }
76 std::vector<int> get_rounding_relu()
const {
return m_rounding_relu; }
77 std::vector<int> get_saturation_relu()
const {
return m_saturation_relu; }
78 std::vector<int> get_total_bit()
const {
return m_total_bit; }
79 std::vector<int> get_int_bit()
const {
return m_int_bit; }
80 std::vector<bool> get_is_signed()
const {
return m_is_signed; }
81 std::vector<int> get_rounding()
const {
return m_rounding; }
82 std::vector<int> get_saturation()
const {
return m_saturation; }
83 std::vector<std::vector<int>> get_W_input()
const {
return m_W_input; }
84 std::vector<std::vector<int>> get_I_input()
const {
return m_I_input; }
88 void set_int_bit_bias(
const std::vector<int>& i) { m_int_bit_bias = i; }
89 void set_is_signed_bias(
const std::vector<bool>& i) { m_is_signed_bias = i; }
90 void set_rounding_bias(
const std::vector<int>& i) { m_rounding_bias = i; }
91 void set_saturation_bias(
const std::vector<int>& i) { m_saturation_bias = i; }
92 void set_total_bit_accum(
const std::vector<int>& i) { m_total_bit_accum = i; }
93 void set_int_bit_accum(
const std::vector<int>& i) { m_int_bit_accum = i; }
94 void set_is_signed_accum(
const std::vector<bool>& i) { m_is_signed_accum = i; }
95 void set_rounding_accum(
const std::vector<int>& i) { m_rounding_accum = i; }
96 void set_saturation_accum(
const std::vector<int>& i) { m_saturation_accum = i; }
97 void set_total_bit_weight(
const std::vector<int>& i) { m_total_bit_weight = i; }
98 void set_int_bit_weight(
const std::vector<int>& i) { m_int_bit_weight = i; }
99 void set_is_signed_weight(
const std::vector<bool>& i) { m_is_signed_weight = i; }
100 void set_rounding_weight(
const std::vector<int>& i) { m_rounding_weight = i; }
101 void set_saturation_weight(
const std::vector<int>& i) { m_saturation_weight = i; }
102 void set_total_bit_relu(
const std::vector<int>& i) { m_total_bit_relu = i; }
103 void set_int_bit_relu(
const std::vector<int>& i) { m_int_bit_relu = i; }
104 void set_is_signed_relu(
const std::vector<bool>& i) { m_is_signed_relu = i; }
105 void set_rounding_relu(
const std::vector<int>& i) { m_rounding_relu = i; }
106 void set_saturation_relu(
const std::vector<int>& i) { m_saturation_relu = i; }
107 void set_total_bit(
const std::vector<int>& i) { m_total_bit = i; }
108 void set_int_bit(
const std::vector<int>& i) { m_int_bit = i; }
109 void set_is_signed(
const std::vector<bool>& i) { m_is_signed = i; }
110 void set_rounding(
const std::vector<int>& i) { m_rounding = i; }
111 void set_saturation(
const std::vector<int>& i) { m_saturation = i; }
112 void set_W_input(
const std::vector<std::vector<int>>& i) { m_W_input = i; }
113 void set_I_input(
const std::vector<std::vector<int>>& i) { m_I_input = i; }
127 std::vector<int> m_int_bit_bias;
128 std::vector<bool> m_is_signed_bias;
129 std::vector<int> m_rounding_bias;
130 std::vector<int> m_saturation_bias;
131 std::vector<int> m_total_bit_accum;
132 std::vector<int> m_int_bit_accum;
133 std::vector<bool> m_is_signed_accum;
134 std::vector<int> m_rounding_accum;
135 std::vector<int> m_saturation_accum;
136 std::vector<int> m_total_bit_weight;
137 std::vector<int> m_int_bit_weight;
138 std::vector<bool> m_is_signed_weight;
139 std::vector<int> m_rounding_weight;
140 std::vector<int> m_saturation_weight;
141 std::vector<int> m_total_bit_relu;
142 std::vector<int> m_int_bit_relu;
143 std::vector<bool> m_is_signed_relu;
144 std::vector<int> m_rounding_relu;
145 std::vector<int> m_saturation_relu;
146 std::vector<int> m_total_bit;
147 std::vector<int> m_int_bit;
148 std::vector<bool> m_is_signed;
149 std::vector<int> m_rounding;
150 std::vector<int> m_saturation;
151 std::vector<std::vector<int>> m_W_input;
152 std::vector<std::vector<int>> m_I_input;