ae2f_docs
Mlp.imp.c
Go to the documentation of this file.
1#include <ae2f/Ann/Mlp.h>
2#include <assert.h>
3#include <stdlib.h>
4
5ae2f_SHAREDEXPORT void ae2f_AnnMlpMk(
6 ae2f_err_t* restrict const reterr
7 , ae2f_AnnMlp* restrict* restrict const retmk
8
9 , const size_t depth
10 , const size_t* restrict const szvector
11 , ae2f_opt size_t* restrict const szswap_opt
12
13 , ae2f_opt ae2f_AnnAct_t** restrict const act
14 , ae2f_opt ae2f_AnnAct_t** restrict const actderiv
15 , ae2f_AnnLoss_t* const lossderiv
16
17 , ae2f_opt ae2f_float_t* restrict const deltastream
18 , ae2f_opt ae2f_float_t* restrict const outcache
19 , ae2f_opt ae2f_float_t* restrict const weight
20 , ae2f_opt ae2f_float_t* restrict const bias
21
22 , ae2f_float_t const learningrate
23 , ae2f_float_t const learningrate_bias
24
25 , const size_t offset
26 , const size_t extra
27 ) noexcept
28{
30 reterr
31 , retmk, depth
32 , szvector, szswap_opt
33 , act, actderiv, lossderiv
34 , deltastream, outcache, weight
35 , bias, learningrate, learningrate_bias
36 , offset, extra
37 );
38}
39
40ae2f_SHAREDEXPORT void ae2f_AnnMlpDel(
41 ae2f_AnnMlp* restrict const block
42 ) noexcept {
43 __ae2f_AnnMlpDel_C(block);
44}
45
46ae2f_SHAREDEXPORT void ae2f_AnnMlpPredict(
47 ae2f_err_t* restrict reterr
48 , const ae2f_AnnMlp* restrict const mlp
49 , const ae2f_float_t* restrict const inp
50 , ae2f_float_t* restrict const out
51 ) noexcept
52{
53 __ae2f_AnnMlpPredict_C(reterr, mlp, inp, out);
54}
55
56ae2f_SHAREDEXPORT void ae2f_AnnMlpPredictStream(
57 ae2f_err_t* restrict reterr
58 , const ae2f_AnnMlp* restrict const mlp
59 , const ae2f_float_t* restrict const inp
60 , ae2f_float_t* restrict const out
61 ) noexcept
62{
63 __ae2f_AnnMlpPredictStream_C(reterr, mlp, inp, out);
64}
65
66ae2f_SHAREDEXPORT void ae2f_AnnMlpFollow(
67 ae2f_err_t* const reterr
68 , const ae2f_AnnMlp* mlp
69 , const ae2f_float_t* const inp
70 , const ae2f_float_t* const delta
71 )
72{
73 __ae2f_AnnMlpFollow_C(reterr, mlp, inp, delta);
74}
75
76ae2f_SHAREDEXPORT void ae2f_AnnMlpFollowStream(
77 ae2f_err_t* const reterr
78 , const ae2f_AnnMlp* mlp
79 , const ae2f_float_t* const inp
80 , const ae2f_float_t* const delta
81 )
82{
83 __ae2f_AnnMlpFollowStream_C(reterr, mlp, inp, delta);
84}
85
86
87ae2f_SHAREDEXPORT void ae2f_AnnMlpTrain(
88 ae2f_err_t* restrict const ae2f_opt reterr
89 , ae2f_AnnMlp* restrict const mlp
90 , const ae2f_float_t* restrict const inp
91 , ae2f_float_t* restrict const out
92 , const ae2f_float_t* restrict const out_desired
93 ) noexcept {
94 __ae2f_AnnMlpTrain_C(reterr, mlp, inp, out, out_desired);
95}
96
97ae2f_SHAREDEXPORT void ae2f_AnnMlpTrainStream(
98 ae2f_err_t* restrict const ae2f_opt reterr
99 , ae2f_AnnMlp* restrict const mlp
100 , const ae2f_float_t* restrict const inp
101 , ae2f_float_t* restrict const out
102 , const ae2f_float_t* restrict const out_desired
103 ) noexcept {
104 __ae2f_AnnMlpTrainStream_C(reterr, mlp, inp, out, out_desired);
105}
106
107ae2f_SHAREDEXPORT void ae2f_AnnMlpTrainAuto(
108 ae2f_err_t* restrict const ae2f_opt reterr
109 , ae2f_AnnMlp* restrict const mlp
110 , const ae2f_float_t* restrict const inp
111 , const ae2f_float_t* restrict const out_desired
112 ) noexcept {
113 __ae2f_AnnMlpTrainAuto_C(reterr, mlp, inp, out_desired);
114}
115
116ae2f_SHAREDEXPORT void ae2f_AnnMlpTrainAutoStream(
117 ae2f_err_t* restrict const ae2f_opt reterr
118 , ae2f_AnnMlp* restrict const mlp
119 , const ae2f_float_t* restrict const inp
120 , const ae2f_float_t* restrict const out_desired
121 ) noexcept {
122 __ae2f_AnnMlpTrainAutoStream_C(reterr, mlp, inp, out_desired);
123}
void ae2f_AnnAct_t(ae2f_float_t *ret, ae2f_float_t x)
Customisable activasion function type.
Definition Act.h:19
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.
Definition Act.h:29
ae2f_float ae2f_float_t
Definition Float.h:38
#define ae2f_opt
Definition Guide.h:26
ae2f_SHAREDEXPORT void ae2f_AnnMlpPredict(ae2f_err_t *restrict reterr, const ae2f_AnnMlp *restrict const mlp, const ae2f_float_t *restrict const inp, ae2f_float_t *restrict const out) noexcept
Definition Mlp.imp.c:46
ae2f_SHAREDEXPORT void ae2f_AnnMlpFollowStream(ae2f_err_t *const reterr, const ae2f_AnnMlp *mlp, const ae2f_float_t *const inp, const ae2f_float_t *const delta)
Definition Mlp.imp.c:76
ae2f_SHAREDEXPORT void ae2f_AnnMlpPredictStream(ae2f_err_t *restrict reterr, const ae2f_AnnMlp *restrict const mlp, const ae2f_float_t *restrict const inp, ae2f_float_t *restrict const out) noexcept
Definition Mlp.imp.c:56
ae2f_SHAREDEXPORT void ae2f_AnnMlpTrainAutoStream(ae2f_err_t *restrict const ae2f_opt reterr, ae2f_AnnMlp *restrict const mlp, const ae2f_float_t *restrict const inp, const ae2f_float_t *restrict const out_desired) noexcept
Definition Mlp.imp.c:116
ae2f_SHAREDEXPORT void ae2f_AnnMlpTrainAuto(ae2f_err_t *restrict const ae2f_opt reterr, ae2f_AnnMlp *restrict const mlp, const ae2f_float_t *restrict const inp, const ae2f_float_t *restrict const out_desired) noexcept
Definition Mlp.imp.c:107
ae2f_SHAREDEXPORT void ae2f_AnnMlpDel(ae2f_AnnMlp *restrict const block) noexcept
Definition Mlp.imp.c:40
ae2f_SHAREDEXPORT void ae2f_AnnMlpMk(ae2f_err_t *restrict const reterr, ae2f_AnnMlp *restrict *restrict const retmk, const size_t depth, const size_t *restrict const szvector, ae2f_opt size_t *restrict const szswap_opt, ae2f_opt ae2f_AnnAct_t **restrict const act, ae2f_opt ae2f_AnnAct_t **restrict const actderiv, ae2f_AnnLoss_t *const lossderiv, ae2f_opt ae2f_float_t *restrict const deltastream, ae2f_opt ae2f_float_t *restrict const outcache, ae2f_opt ae2f_float_t *restrict const weight, ae2f_opt ae2f_float_t *restrict const bias, ae2f_float_t const learningrate, ae2f_float_t const learningrate_bias, const size_t offset, const size_t extra) noexcept
Definition Mlp.imp.c:5
ae2f_SHAREDEXPORT void ae2f_AnnMlpFollow(ae2f_err_t *const reterr, const ae2f_AnnMlp *mlp, const ae2f_float_t *const inp, const ae2f_float_t *const delta)
Definition Mlp.imp.c:66
ae2f_SHAREDEXPORT void ae2f_AnnMlpTrainStream(ae2f_err_t *restrict const ae2f_opt reterr, ae2f_AnnMlp *restrict const mlp, const ae2f_float_t *restrict const inp, ae2f_float_t *restrict const out, const ae2f_float_t *restrict const out_desired) noexcept
Definition Mlp.imp.c:97
ae2f_SHAREDEXPORT void ae2f_AnnMlpTrain(ae2f_err_t *restrict const ae2f_opt reterr, ae2f_AnnMlp *restrict const mlp, const ae2f_float_t *restrict const inp, ae2f_float_t *restrict const out, const ae2f_float_t *restrict const out_desired) noexcept
Definition Mlp.imp.c:87
uint8_t ae2f_err_t
Informs that this number represents the error.
Definition errGlob.h:19
#define __ae2f_AnnMlpFollowStream_C(...)
Definition Mlp.auto.h:764
#define __ae2f_AnnMlpFollow_C(...)
Definition Mlp.auto.h:761
#define __ae2f_AnnMlpMk_C(...)
Definition Mlp.auto.h:93
#define __ae2f_AnnMlpPredictStream_C(reterr, mlp, inp, out)
Definition Mlp.auto.h:494
#define __ae2f_AnnMlpDel_C(...)
Definition Mlp.auto.h:90
#define __ae2f_AnnMlpTrainAuto_C(reterr, mlp, inp, out_desired)
Definition Mlp.auto.h:917
#define __ae2f_AnnMlpTrain_C(reterr, mlp, inp, out, out_desired)
Definition Mlp.auto.h:903
#define __ae2f_AnnMlpTrainAutoStream_C(reterr, mlp, inp, out_desired)
Definition Mlp.auto.h:921
#define __ae2f_AnnMlpTrainStream_C(reterr, mlp, inp, out, out_desired)
Definition Mlp.auto.h:906
#define __ae2f_AnnMlpPredict_C(...)
Definition Mlp.auto.h:500