ae2f_docs
Mlp.def.cc File Reference
#include <ae2f/Ann/Util.h>
#include <assert.h>
#include <stdlib.h>
#include <ae2f/Macro.h>
#include <ae2f/Ann/Slp.h>
#include <ae2f/Ann/Mlp.h>

Go to the source code of this file.

Macros

#define OPER_NEG
#define OPER_NONE
#define ae2f_Ann_Mlp_c
#define __ae2f_AnnMlpDel_C(...)
#define __ae2f_AnnMlpMk_C(...)
#define __ae2f_AnnMlpMk_imp(...)
#define __ae2f_AnnMlpSz_imp(...)
#define __ae2f_AnnMlpInitWithOutSz_imp(...)
#define __ae2f_AnnMlpInit_imp(...)
#define __ae2f_AnnMlpPredictPrimal(...)
#define __ae2f_AnnMlpPredictStream_imp(...)
#define __ae2f_AnnMlpPredictStream_C(reterr, mlp, inp, out)
#define __ae2f_AnnMlpPredict_imp(...)
#define __ae2f_AnnMlpPredict_C(...)
#define __ae2f_AnnMlpFollowStream_imp(...)
#define __ae2f_AnnMlpFollow_imp(...)
#define __ae2f_AnnMlpFollowPrimal(...)
#define __ae2f_AnnMlpFollow_C(...)
#define __ae2f_AnnMlpFollowStream_C(...)
#define __ae2f_AnnMlpTrainPrimal(...)
#define __ae2f_AnnMlpTrainAutoPrimal(...)
#define __ae2f_AnnMlpTrain_C(reterr, mlp, inp, out, out_desired)
#define __ae2f_AnnMlpTrainStream_C(reterr, mlp, inp, out, out_desired)
#define __ae2f_AnnMlpTrain_imp(...)
#define __ae2f_AnnMlpTrainStream_imp(...)
#define __ae2f_AnnMlpTrainAuto_C(reterr, mlp, inp, out_desired)
#define __ae2f_AnnMlpTrainAutoStream_C(reterr, mlp, inp, out_desired)

Functions

 ae2f_MAC (OPER_NEG, OPER_NONE,) _ae2f_AnnMlpPredictPrimal_imp(ae2f_AnnMlpPredict_t v_predict
 layer must be more than 2
 if ((act_opt)[0])
 for ((v_predict).m_k=1;(v_predict).m_k<(v_predict).m_depth - 1;(v_predict).m_k++)
 assert ((v_predict).m_k==(mlp).m_depth - 2)
 if ((act_opt)[(v_predict).m_k])
 ae2f_MAC () _ae2f_AnnMlpPropagate_imp(ae2f_float_t v_tmp
 delta to delta
 for ((v_single).m_i=(slp).m_outc;(v_single).m_i--;)

Variables

const ae2f_AnnMlp_t mlp
const ae2f_AnnMlp_t const ae2f_float_t *const inp
const ae2f_AnnMlp_t const ae2f_float_t *const ae2f_float_t *const out
const ae2f_AnnMlp_t const ae2f_float_t *const ae2f_float_t *const const size_t *const sz
const ae2f_AnnMlp_t const ae2f_float_t *const ae2f_float_t *const const size_t *const const ae2f_float_t *const weight
const ae2f_AnnMlp_t const ae2f_float_t *const ae2f_float_t *const const size_t *const const ae2f_float_t *const const ae2f_float_t *const bias
const ae2f_AnnMlp_t const ae2f_float_t *const ae2f_float_t *const const size_t *const const ae2f_float_t *const const ae2f_float_t *const ae2f_float_t *const outcache
const ae2f_AnnMlp_t const ae2f_float_t *const ae2f_float_t *const const size_t *const const ae2f_float_t *const const ae2f_float_t *const ae2f_float_t *const ae2f_AnnAct_t *const *const act_opt
v_predict m_depth = (mlp).m_depth - 1
v_predict m_outc_max = (mlp).m_outc
v_predict m_inc = (sz)[0]
v_predict m_outc = (sz)[1]
 else
const ae2f_AnnSlp_t slp
const ae2f_AnnSlp_t const ae2f_float_t *const const ae2f_float_t *const delta
const ae2f_AnnSlp_t const ae2f_float_t *const const ae2f_float_t *const const size_t iidx
size_t v_send
size_t const ae2f_AnnSlp_t slp_then
size_t const ae2f_AnnSlp_t ae2f_float_t *const retdelta_then
size_t const ae2f_AnnSlp_t ae2f_float_t *const const ae2f_float_t *const deltaseed
size_t const ae2f_AnnSlp_t ae2f_float_t *const const ae2f_float_t *const ae2f_AnnAct_t actderiv_then

Macro Definition Documentation

◆ __ae2f_AnnMlpDel_C

#define __ae2f_AnnMlpDel_C ( ...)
Value:
typedef char NO_ae2f_NEED_CLASS[-1]

Definition at line 77 of file Mlp.def.cc.

◆ __ae2f_AnnMlpFollow_C

#define __ae2f_AnnMlpFollow_C ( ...)
Value:
__ae2f_AnnMlpFollowPrimal(&1 ? 0 : 1,&1, __VA_ARGS__)
#define __ae2f_AnnMlpFollowPrimal(...)
Definition Mlp.auto.h:756

◆ __ae2f_AnnMlpFollow_imp

#define __ae2f_AnnMlpFollow_imp ( ...)
Value:
__ae2f_AnnMlpFollowPrimal_imp(&1 ? 0 : 1,&1, __VA_ARGS__)
#define __ae2f_AnnMlpFollowPrimal_imp(OPER_NEG, OPER_NONE, v_follow, mlp, inp, delta, lenv, outstream, deltacache, weight, bias, learningrate, learningrate_bias, actderiv)
Definition Mlp.auto.h:552

◆ __ae2f_AnnMlpFollowPrimal

#define __ae2f_AnnMlpFollowPrimal ( ...)
Value:
typedef char NO_ae2f_NEED_CLASS[-1]

◆ __ae2f_AnnMlpFollowStream_C

#define __ae2f_AnnMlpFollowStream_C ( ...)
Value:
__ae2f_AnnMlpFollowPrimal(-1, , __VA_ARGS__)

◆ __ae2f_AnnMlpFollowStream_imp

#define __ae2f_AnnMlpFollowStream_imp ( ...)
Value:
#define ae2f_NONE
Literally nothing.
Definition Cxx.h:13

◆ __ae2f_AnnMlpInit_imp

#define __ae2f_AnnMlpInit_imp ( ...)
Value:
typedef char NO_ae2f_NEED_CLASS[-1]

Definition at line 307 of file Mlp.def.cc.

◆ __ae2f_AnnMlpInitWithOutSz_imp

#define __ae2f_AnnMlpInitWithOutSz_imp ( ...)
Value:
typedef char NO_ae2f_NEED_CLASS[-1]

Definition at line 304 of file Mlp.def.cc.

◆ __ae2f_AnnMlpMk_C

#define __ae2f_AnnMlpMk_C ( ...)
Value:
typedef char NO_ae2f_NEED_CLASS[-1]

Definition at line 80 of file Mlp.def.cc.

◆ __ae2f_AnnMlpMk_imp

#define __ae2f_AnnMlpMk_imp ( ...)
Value:
typedef char NO_ae2f_NEED_CLASS[-1]

Definition at line 298 of file Mlp.def.cc.

◆ __ae2f_AnnMlpPredict_C

#define __ae2f_AnnMlpPredict_C ( ...)
Value:
__ae2f_AnnMlpPredictPrimal(&1 ? 0 : 1, &1, __VA_ARGS__)
#define __ae2f_AnnMlpPredictPrimal(...)
Definition Mlp.auto.h:485

Definition at line 478 of file Mlp.def.cc.

◆ __ae2f_AnnMlpPredict_imp

#define __ae2f_AnnMlpPredict_imp ( ...)
Value:
__ae2f_AnnMlpPredictPrimal_imp(&1 ? 0 : 1, &1, __VA_ARGS__)
#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
Definition Mlp.auto.h:330

Definition at line 475 of file Mlp.def.cc.

◆ __ae2f_AnnMlpPredictPrimal

#define __ae2f_AnnMlpPredictPrimal ( ...)
Value:
typedef char NO_ae2f_NEED_CLASS[-1]

Definition at line 463 of file Mlp.def.cc.

◆ __ae2f_AnnMlpPredictStream_C

#define __ae2f_AnnMlpPredictStream_C ( reterr,
mlp,
inp,
out )
Value:
v_isgood reterr
Definition Spvc.def.c:130
const ae2f_AnnMlp_t const ae2f_float_t *const inp
Definition Mlp.def.cc:318
const ae2f_AnnMlp_t mlp
Definition Mlp.def.cc:317
const ae2f_AnnMlp_t const ae2f_float_t *const ae2f_float_t *const out
Definition Mlp.def.cc:320

Definition at line 472 of file Mlp.def.cc.

◆ __ae2f_AnnMlpPredictStream_imp

#define __ae2f_AnnMlpPredictStream_imp ( ...)
Value:
__ae2f_AnnMlpPredictPrimal_imp(-1, , __VA_ARGS__)

Definition at line 469 of file Mlp.def.cc.

◆ __ae2f_AnnMlpSz_imp

#define __ae2f_AnnMlpSz_imp ( ...)
Value:
typedef char NO_ae2f_NEED_CLASS[-1]

Definition at line 301 of file Mlp.def.cc.

◆ __ae2f_AnnMlpTrain_C

#define __ae2f_AnnMlpTrain_C ( reterr,
mlp,
inp,
out,
out_desired )
Value:
__ae2f_AnnMlpTrainPrimal(&1 ? 0 : 1, &1, reterr, mlp, inp, out, out_desired)
#define __ae2f_AnnMlpTrainPrimal(...)
Definition Mlp.auto.h:894

◆ __ae2f_AnnMlpTrain_imp

#define __ae2f_AnnMlpTrain_imp ( ...)
Value:
__ae2f_AnnMlpTrainPrimal_imp(&1 ? 0 : 1, &1, __VA_ARGS__)
#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)
Definition Mlp.auto.h:767

◆ __ae2f_AnnMlpTrainAuto_C

#define __ae2f_AnnMlpTrainAuto_C ( reterr,
mlp,
inp,
out_desired )
Value:
__ae2f_AnnMlpTrainAutoPrimal(&1 ? 0 : 1, &1, reterr, mlp, inp, out_desired)
#define __ae2f_AnnMlpTrainAutoPrimal(...)
Definition Mlp.auto.h:897

◆ __ae2f_AnnMlpTrainAutoPrimal

#define __ae2f_AnnMlpTrainAutoPrimal ( ...)
Value:
typedef char NO_ae2f_NEED_CLASS[-1]

◆ __ae2f_AnnMlpTrainAutoStream_C

#define __ae2f_AnnMlpTrainAutoStream_C ( reterr,
mlp,
inp,
out_desired )
Value:

◆ __ae2f_AnnMlpTrainPrimal

#define __ae2f_AnnMlpTrainPrimal ( ...)
Value:
typedef char NO_ae2f_NEED_CLASS[-1]

◆ __ae2f_AnnMlpTrainStream_C

#define __ae2f_AnnMlpTrainStream_C ( reterr,
mlp,
inp,
out,
out_desired )
Value:
__ae2f_AnnMlpTrainPrimal(&1 ? 0 : 1, ae2f_NONE, reterr, mlp, inp, out, out_desired)

◆ __ae2f_AnnMlpTrainStream_imp

#define __ae2f_AnnMlpTrainStream_imp ( ...)
Value:

◆ ae2f_Ann_Mlp_c

#define ae2f_Ann_Mlp_c

Definition at line 24 of file Mlp.def.cc.

◆ OPER_NEG

#define OPER_NEG

Definition at line 20 of file Mlp.def.cc.

◆ OPER_NONE

#define OPER_NONE

Definition at line 21 of file Mlp.def.cc.

Function Documentation

◆ ae2f_MAC() [1/2]

ae2f_MAC ( )

delta to delta

◆ ae2f_MAC() [2/2]

ae2f_MAC ( OPER_NEG ,
OPER_NONE  )

layer must be more than 2

◆ assert()

assert ( (v_predict). m_k = =(mlp).m_depth - 2)

◆ for() [1/2]

for ( )

Definition at line 359 of file Mlp.def.cc.

◆ for() [2/2]

for ( (v_single). m_i = (slp).m_outc; (v_single).m_i--;)

Definition at line 491 of file Mlp.def.cc.

◆ if() [1/2]

if ( (act_opt) [(v_predict).m_k])

Definition at line 412 of file Mlp.def.cc.

◆ if() [2/2]

if ( (act_opt) [0])

Definition at line 336 of file Mlp.def.cc.

Variable Documentation

◆ act_opt

const ae2f_AnnMlp_t const ae2f_float_t* const ae2f_float_t* const const size_t* const const ae2f_float_t* const const ae2f_float_t* const ae2f_float_t* const ae2f_AnnAct_t* const* const act_opt
Initial value:
{
v_predict m_depth
Definition Mlp.def.cc:330
assert((v_predict).m_k==(mlp).m_depth - 2)

Definition at line 325 of file Mlp.def.cc.

◆ actderiv_then

size_t const ae2f_AnnSlp_t ae2f_float_t* const const ae2f_float_t* const ae2f_AnnAct_t actderiv_then

Definition at line 506 of file Mlp.def.cc.

◆ bias

const ae2f_AnnSlp_t const ae2f_float_t *const ae2f_float_t *const const ae2f_float_t *const const ae2f_float_t *const bias

Definition at line 322 of file Mlp.def.cc.

◆ delta

const ae2f_AnnSlp_t const ae2f_float_t* const const ae2f_float_t* const delta

Definition at line 485 of file Mlp.def.cc.

◆ deltaseed

size_t const ae2f_AnnSlp_t ae2f_float_t* const const ae2f_float_t* const deltaseed

Definition at line 505 of file Mlp.def.cc.

◆ else

else
Initial value:
{
(v_predict)
, (v_predict)
, inp
, (outcache + (0 OPER_NONE) * (v_predict).m_outc_max)
, bias
,
)
const ae2f_AnnMlp_t const ae2f_float_t *const ae2f_float_t *const const size_t *const const ae2f_float_t *const const ae2f_float_t *const bias
Definition Mlp.def.cc:323
const ae2f_AnnMlp_t const ae2f_float_t *const ae2f_float_t *const const size_t *const const ae2f_float_t *const const ae2f_float_t *const ae2f_float_t *const outcache
Definition Mlp.def.cc:325
const ae2f_AnnMlp_t const ae2f_float_t *const ae2f_float_t *const const size_t *const const ae2f_float_t *const weight
Definition Mlp.def.cc:322
v_predict m_outc_max
Definition Mlp.def.cc:331
#define OPER_NONE
Definition Mlp.def.cc:21
#define __ae2f_AnnSlpPredict_imp(v_predict, _this, prm_in, out, weight, bias, act_opt)
Definition Slp.auto.h:268

Definition at line 346 of file Mlp.def.cc.

◆ iidx

__local ae2f_float_t *const const ae2f_float_t *const const ae2f_float_t *const const ae2f_float_t *const const size_t iidx
Initial value:
{
(v_single).m_ret = 0
v_mapsz m_ret
Definition MMap.def.c:134

Definition at line 486 of file Mlp.def.cc.

◆ inp

ae2fVK_Spvc *restrict const const glslang_input_t *const restrict inp
Initial value:
{
ae2fVK_Spvc *restrict const ret
Definition Spvc.def.c:118

Definition at line 317 of file Mlp.def.cc.

◆ m_depth

v_predict m_depth = (mlp).m_depth - 1

Definition at line 330 of file Mlp.def.cc.

◆ m_inc

v_predict m_inc = (sz)[0]

Definition at line 333 of file Mlp.def.cc.

◆ m_outc

v_predict m_outc = (sz)[1]

Definition at line 334 of file Mlp.def.cc.

◆ m_outc_max

v_predict m_outc_max = (mlp).m_outc

Definition at line 331 of file Mlp.def.cc.

◆ mlp

const ae2f_AnnMlp_t mlp

Definition at line 315 of file Mlp.def.cc.

◆ out

const ae2f_AnnMlp_t const ae2f_float_t* const ae2f_float_t* const out

Definition at line 318 of file Mlp.def.cc.

◆ outcache

const ae2f_AnnMlp_t const ae2f_float_t* const ae2f_float_t* const const size_t* const const ae2f_float_t* const const ae2f_float_t* const ae2f_float_t* const outcache

Definition at line 323 of file Mlp.def.cc.

◆ retdelta_then

size_t const ae2f_AnnSlp_t ae2f_float_t* const retdelta_then

Definition at line 503 of file Mlp.def.cc.

◆ slp

const ae2f_AnnSlp_t slp

Definition at line 483 of file Mlp.def.cc.

◆ slp_then

size_t const ae2f_AnnSlp_t slp_then

Definition at line 502 of file Mlp.def.cc.

◆ sz

const ae2f_AnnMlp_t const ae2f_float_t* const ae2f_float_t* const const size_t* const sz

Definition at line 320 of file Mlp.def.cc.

◆ v_send

size_t v_send

Definition at line 501 of file Mlp.def.cc.

◆ weight

const ae2f_AnnSlp_t const ae2f_float_t *const ae2f_float_t *const const ae2f_float_t *const weight

Definition at line 321 of file Mlp.def.cc.