1#include <ae2f/MMap/Util.h>
7#include <ae2f/Ann/Slp.h>
12 ae2f_AnnSlp_t*
restrict const _this,
15 const size_t offset_opt,
17 size_t*
restrict const initsz_opt
22 , offset_opt, err_opt, initsz_opt
33 const size_t offset_opt,
34 const size_t extra_opt,
35 ae2f_FREE(ae2f_AnnSlpDel, __ae2f_AnnSlpDel)
36 ae2f_AnnSlp*
restrict *
restrict const slp,
45 weight_opt, bias_opt, cache_opt
47 , offset_opt, extra_opt, slp
48 , act, actderiv, lossderiv
49 , learningrate, learningrate_bias
61 ,
const ae2f_AnnSlp*
restrict const _this
75 ,
const ae2f_AnnSlp*
restrict const _this
84 ,
const ae2f_AnnSlp*
restrict const _this
93 , prm_out, prm_out_desired
99 ,
const ae2f_AnnSlp*
restrict slp
112 , ae2f_AnnSlp*
restrict slp
void ae2f_AnnAct_t(ae2f_float_t *ret, ae2f_float_t x)
Customisable activasion function type.
void ae2f_AnnLoss_t(ae2f_float_t *ret, const ae2f_float_t *out, const ae2f_float_t *goal, size_t index, size_t count)
Specify the way of calculating loss.
#define ae2f_LP(...)
Desired count required.
#define ae2f_FREE(...)
Use this marker to show the desired functions to effectively free the resources.
ae2f_SHAREDEXPORT void ae2f_AnnSlpFit(ae2f_err_t *restrict const reterr_opt, const ae2f_AnnSlp *restrict const _this, ae2f_LP(_this::inc) const ae2f_float_t *restrict const prm_inp, ae2f_LP(_this::outc) const ae2f_float_t *restrict const prm_out, ae2f_LP(_this::outc) const ae2f_float_t *restrict const prm_out_desired) noexcept
ae2f_SHAREDEXPORT void ae2f_AnnSlpFetchDelta(ae2f_opt ae2f_err_t *restrict const err, const ae2f_AnnSlp *restrict slp, ae2f_LP(slp::outc) const ae2f_float_t *restrict const out, ae2f_LP(slp::outc) const ae2f_float_t *restrict const out_desired, ae2f_LP(slp::outc) ae2f_float_t *restrict const retdelta) noexcept
ae2f_SHAREDEXPORT void ae2f_AnnSlpTrain(ae2f_err_t *restrict const err, ae2f_AnnSlp *restrict slp, ae2f_LP(slp::inc) const ae2f_float_t *restrict inp, ae2f_LP(slp::outc) const ae2f_float_t *restrict out_desired) noexcept
ae2f_SHAREDEXPORT void ae2f_AnnSlpPredict(ae2f_err_t *restrict const err_opt, const ae2f_AnnSlp *restrict const _this, const ae2f_float_t *restrict const prm_in, ae2f_float_t *restrict const out) noexcept
ae2f_SHAREDEXPORT void ae2f_AnnSlpDel(ae2f_AnnSlp *restrict const slp) noexcept
ae2f_SHAREDEXPORT void ae2f_AnnSlpFollow(ae2f_err_t *const restrict reterr_opt, const ae2f_AnnSlp *restrict const _this, const ae2f_float_t *restrict const prm_in, const ae2f_float_t *restrict const delta) noexcept
ae2f_SHAREDEXPORT void ae2f_AnnSlpMk(ae2f_LP(inc *outc) ae2f_float_t *restrict const weight_opt, ae2f_LP(outc) ae2f_float_t *restrict const bias_opt, ae2f_LP(outc) ae2f_float_t *restrict const cache_opt, const size_t inc, const size_t outc, const size_t offset_opt, const size_t extra_opt, ae2f_FREE(ae2f_AnnSlpDel, __ae2f_AnnSlpDel) ae2f_AnnSlp *restrict *restrict const slp, ae2f_opt ae2f_AnnAct_t *const act, ae2f_opt ae2f_AnnAct_t *const actderiv, ae2f_AnnLoss_t *const lossderiv, ae2f_float_t learningrate, ae2f_float_t learningrate_bias, ae2f_opt ae2f_err_t *restrict const err_opt) noexcept
ae2f_SHAREDEXPORT void ae2f_AnnSlpInit(ae2f_AnnSlp_t *restrict const _this, const size_t inc, const size_t outc, const size_t offset_opt, ae2f_err_t *restrict const err_opt, size_t *restrict const initsz_opt) noexcept __ae2f_AnnSlpInit_C(_this
uint8_t ae2f_err_t
Informs that this number represents the error.
#define __ae2f_AnnSlpFit_C(...)
#define __ae2f_AnnSlpFollow_C(...)
#define __ae2f_AnnSlpFetchDelta_C(...)
#define __ae2f_AnnSlpTrain_C
#define __ae2f_AnnSlpInit_C
#define __ae2f_AnnSlpMk_C
#define __ae2f_AnnSlpPredict_C(...)