1#ifndef ae2f_Ann_Mlp_core_h
2#define ae2f_Ann_Mlp_core_h
7#include <ae2f/Pack/Beg.h>
13
14
15
16
17
21
22
23
27
28
29
37
38
39
42
43
44
45 size_t m_inc, m_outc, m_i, m_j, m_k, m_depth, m_outc_max;
48
49
50
55
56
57
58
61
62
63
64 ae2f_AnnMlp* ae2f_restrict m_mlp;
66
67
68
69 size_t* ae2f_restrict m_sz;
71
72
73
74 ae2f_float_t* ae2f_restrict m_f;
76
77
78
79 void* ae2f_restrict m_void;
81
82
83
84 void** ae2f_restrict m_ptr;
86
87
88
89 ae2f_AnnActFFN_t** ae2f_restrict m_Act;
91
92
93
94 ae2f_AnnLossFFN_t** ae2f_restrict m_Loss;
97 char* ae2f_restrict m_byte;
101
102
103
106
107
108
113
114
115
120
121
122
125
126
127
134
135
136
139
140
141
142 ae2f_AnnMlpInitMkPtr_t m_mkptr;
144
145
146
147 ae2f_AnnMlp* ae2f_restrict m_mkbase;
151
152
153
156
157
158
161
162
163
166
167
168
173
174
175
176
177ae2f_structdef_n(
union, ae2f_AnnMlpBwdAllStack_t, ae2f_AnnMlpFollowStack_t) {
182
183
184
185
188
189
190
191 size_t m_i, m_j, m_inc, m_outc;
193
194
195
198
199
200
203
204
205
208
209
210
211 ae2f_AnnMlpBwdAllStack_t m_stack;
213
214
215
220
221
222
225
226
227
228 size_t m_i, m_j, m_inc, m_outc;
230
231
232
235
236
237
240
241
242
245
246
247
250
251
252
256
257
258
259 ae2f_AnnMlpBwdAllStack_t m_stack;
261
262
263
264 ae2f_float_t m_ret, m_tmp, m_tmp1;
267#include <ae2f/Pack/End.h>
#define ae2f_AnnActDerivFFN_PASS(r, o, i, c)
#define ae2f_AnnActFFN_PASS(r, o, i, c)
#define ae2f_structdef(key, name)
#define ae2f_reinterpret_cast(t, v)
#define unless(...)
Invokes when condition is false.
#define ae2f_extern
Suggests the existence of external variable or function, in naming of C. [non-mangling].
#define ae2f_structdef_n(key, name,...)
#define ae2f_reg
Register keyword.
#define ae2f_WhenCXX(...)
Appears when the current language is C.
#define ae2f_NONE
Literally nothing.
#define ae2f_errGlob_ALLOC_FAILED
stdlib allocating functions (malloc, calloc, realloc) has been failed.
uint8_t ae2f_err_t
Informs that this number represents the error.
#define ae2f_errGlob_PTR_IS_NULL
Failed to refer the pointer either l-value inside the function.
#define ae2f_errGlob_IMP_NOT_FOUND
Failed to find the function on preprocessor which is callable for some reason No operation has beed d...
#define __ae2f_MACRO_GENERATED
#define __ae2f_AnnMlpSz_imp(ret_sz, outc, weightc, depth, szswap, act, actderiv, deltastream, outcache, weight, bias)
#define __ae2f_AnnMlpMk_C(reterr, retmk, depth, szvector, szswap_opt, act, actderiv, lossderiv, deltastream, outcache, weight, bias, learningrate, learningrate_bias, offset, extra)
#define __ae2f_AnnMlpBwd_imp(v_tmp, v_send, slp_then, retdelta_then, deltaseed, actderiv_then, inp)
delta to delta
#define __ae2f_AnnMlpHidDeltaSingle_imp(v_single, slp, weight, delta, iidx)
#define __ae2f_AnnMlpPredictStream_imp(v_predict, mlp, inp, out, sz, weight, bias, outcache, act_opt)
#define __ae2f_AnnMlpMk_imp(reg_mk, prm_depth, pprm_szvector, propptr_szswap_opt, lppfn_act_opt, lppfn_actderiv_opt, pfn_lossderiv, propptr_deltastream_opt, propptr_outcache_opt, propptr_weight_opt, propptr_bias_opt, prm_learningrate, prm_learningrate_bias, prm_offset_opt, prm_extra_opt)
Automatically allocates ae2f_AnnMlp and store its pointer at (reg_mk).m_mkbase.
#define __ae2f_AnnMlpInitWithOutSz_imp(v_mlp, v_init, depth, outsz, weightsz, szvector, szswap_opt, act, actderiv, lossderiv, deltastream, outcache, weight, bias, learningrate, learningrate_bias)
#define __ae2f_AnnMlpPredictStream_C(reterr, mlp, inp, out)
#define __ae2f_AnnMlpPredict_C(reterr, mlp, inp, delta)
#define __ae2f_AnnMlpTrainPrimal(OPER_NEG, OPER_NONE, reterr, mlp, inp, out, out_desired)
#define __ae2f_AnnMlpFollowPrimal_imp(OPER_NEG, OPER_NONE, v_follow, mlp, inp, delta, lenv, outstream, deltacache, weight, bias, learningrate, learningrate_bias, actderiv)
#define __ae2f_AnnMlpPredictPrimal_imp(OPER_NEG, OPER_NONE, v_predict, mlp, inp, out, sz, weight, bias, outcache, act_opt)
layer must be more than 2
#define __ae2f_AnnMlpTrainAuto_C(reterr, mlp, inp, out_desired)
#define __ae2f_AnnMlpTrainAutoPrimal(OPER_NEG, OPER_NONE, reterr, mlp, inp, out_desired)
#define __ae2f_AnnMlpTrain_C(reterr, mlp, inp, out, out_desired)
#define __ae2f_AnnMlpTrainAutoStream_C(reterr, mlp, inp, out_desired)
#define __ae2f_AnnMlpDel_C(a)
#define __ae2f_AnnMlpPredictPrimal(OPER_NEG, OPER_NONE, reterr, mlp, inp, out)
#define __ae2f_AnnMlpTrainStream_C(reterr, mlp, inp, out, out_desired)
#define __ae2f_AnnMlpFollowPrimal(OPER_NEG, OPER_NONE, reterr, mlp, inp, delta)
#define __ae2f_AnnMlpTrainPrimal_imp(OPER_NEG, OPER_NONE, v_train, mlp, inp, out, out_desired, lenv, outstream, deltacache, weight, bias, learningrate, learningrate_bias, act, actderiv, lossderiv)
#define __ae2f_AnnMlpFollowStream_C(reterr, mlp, inp, delta)
#define __ae2f_AnnMlpFollow_C(reterr, mlp, inp, delta)
#define ae2f_AnnMlpTrainAutoStream
#define ae2f_AnnMlpFollow
#define ae2f_AnnMlpPredict
#define ae2f_AnnMlpTrainStream
#define ae2f_AnnMlpFollowStream
#define ae2f_AnnMlpPredictStream
#define ae2f_AnnMlpTrainAuto
#define __ae2f_AnnSlpFollow_imp(reg_follow, prm_slp, pprm_in, pprm_delta, ptr_weight, ptr_bias, prm_learningrate, prm_learningrate_bias)
#define __ae2f_AnnSlpInit_imp(...)
#define __ae2f_AnnSlpFit_C(...)
#define __ae2f_AnnSlpFollow_C(...)
#define __ae2f_AnnSlpFollowOne_imp(reg_follow, pprm_in, pprm_delta, ptr_weight, prm_learningrate, prm_learningrate_bias, prm_isz, prm_oidx, rret_bias)
#define __ae2f_AnnSlpMk_imp(...)
#define __ae2f_AnnSlpFetchDelta_imp(tmp_delta, prm_slp, pprm_out, pprm_out_desired, fn_actderiv, fn_lossderiv, pret_delta)
#define __ae2f_AnnSlpTrainVerbose_imp(ram_train, reg_train, prm_slp, pprm_inp, pret_out, ptr_out_cache, pprm_out_desired, ptr_weights, ptr_bias, ptr_cachedelta, fn_act, fn_actderiv, fn_lossderiv, prm_learningrate, prm_learningrate_bias)
#define __ae2f_AnnSlpPredict(err_opt, _this, prm_in, out, out_cache, weight, bias, act_opt)
#define __ae2f_AnnSlpFitVerbose_imp(ram_fit, reg_fit, prm_slp, pprm_inp, pprm_out, pprm_out_desired, ptr_weights, ptr_bias, ptr_cachedelta, fn_actderiv, fn_lossderiv, prm_learningrate, prm_learningrate_bias)
#define __ae2f_AnnSlpInit(...)
#define __ae2f_AnnSlpFit(reterr_opt, _this, prm_inp, prm_out, prm_out_desired, weights, bias, cachedelta, actderiv_opt, lossderiv, learningrate, learningrate_bias)
#define __ae2f_AnnSlpFetchDelta_C(...)
#define __ae2f_AnnSlpDel_C
#define __ae2f_AnnSlpTrain_C
#define __ae2f_AnnSlpInit_C
#define __ae2f_AnnSlpFetchDeltaVerbose_imp(ram_delta, reg_delta, prm_slp, pprm_out, pprm_out_desired, fn_actderiv, fn_lossderiv, pret_delta)
#define __ae2f_AnnSlpFollow(reterr_opt, _this, prm_in, delta, weight, bias, learningrate, learningrate_bias)
#define __ae2f_AnnSlpPredict_imp(reg_predict, prmreg_slp, pprm_in, ret, ptr_outcache, pprm_weight, pprm_bias, fn_act)
#define __ae2f_AnnSlpTrain(err, slp, inp, out_cache, out_desired, weights, bias, cachedelta, act, actderiv, lossderiv, learningrate, learningrate_bias)
#define __ae2f_AnnSlpInitInpSz_imp(...)
#define __ae2f_AnnSlpMk(...)
#define __ae2f_AnnSlpMk_C
#define __ae2f_AnnSlpPredict_C(...)
#define ae2f_AnnSlpPredict
#define ae2f_AnnSlpFollow