ae2f_docs
Conv.h File Reference
#include <ae2f/Call.h>
#include <ae2f/Cast.h>
#include <ae2f/MMap/MMap.h>
#include <ae2f/errGlob.h>
#include <ae2f/Pack/Beg.h>
#include <ae2f/Pack/End.h>

Go to the source code of this file.

Typedefs

typedef enum ae2f_eAnnCnnPool ae2f_eAnnCnnPool
 Pooling type. See ae2f_AnnCnnPool.

Enumerations

enum  ae2f_eAnnCnnPool {
  ae2f_eAnnCnnPool_MAX = 0b00 , ae2f_eAnnCnnPool_MIN = 0b01 , ae2f_eAnnCnnPool_ADD = 0b10 , ae2f_eAnnCnnPool_AVG = 0b11 ,
  ae2f_eAnnCnnPool_MIDDLE = 0b100
}
 Pooling type. See ae2f_AnnCnnPool. More...

Functions

ae2f_extern ae2f_SHAREDEXPORT ae2f_err_t ae2f_AnnCnnConv1d (const ae2f_float_t *infv, size_t infc, const ae2f_float_t *ingv, size_t ingc, ae2f_float_t *outv, size_t *opt_outc, size_t stride, size_t pad) noexcept
 all vectors are suggested initiated as 0.
ae2f_extern ae2f_SHAREDEXPORT ae2f_err_t ae2f_AnnCnnConv (size_t dim, const ae2f_float_t *infv, const size_t *infc, size_t infcc, const ae2f_float_t *ingv, const size_t *ingc, size_t ingcc, ae2f_float_t *outv, size_t *outc_opt, size_t outcc, const size_t *stride_opt, const size_t *pad_opt) noexcept
 dim must be the dimension of mmaps, lengths of lists. This function is meant to be recursive. For minimize the stack,
ae2f_extern ae2f_SHAREDCALL ae2f_err_t ae2f_AnnCnnPool1d (const ae2f_float_t *inv, const size_t inc, ae2f_float_t *outv, size_t *opt_outc, const size_t window_opt, const size_t stride_opt, ae2f_eAnnCnnPool) noexcept
ae2f_extern ae2f_SHAREDCALL ae2f_err_t ae2f_AnnCnnPool_imp (size_t dim, const ae2f_float_t *inv, const size_t *inc, size_t incc, ae2f_float_t *outv, size_t *opt_outc, size_t outcc, const size_t *window_opt, const size_t *stride_opt, ae2f_eAnnCnnPool type) noexcept
ae2f_extern ae2f_SHAREDCALL ae2f_err_t ae2f_AnnCnnPool (size_t dim, const ae2f_float_t *inv, const size_t *inc, size_t incc, ae2f_float_t *outv, size_t *opt_outc, size_t outcc, const size_t *window_opt, size_t windowcc, const size_t *stride_opt, ae2f_eAnnCnnPool type) noexcept

Typedef Documentation

◆ ae2f_eAnnCnnPool

Pooling type. See ae2f_AnnCnnPool.

Enumeration Type Documentation

◆ ae2f_eAnnCnnPool

Pooling type. See ae2f_AnnCnnPool.

Enumerator
ae2f_eAnnCnnPool_MAX 

Max.

ae2f_eAnnCnnPool_MIN 

Min.

ae2f_eAnnCnnPool_ADD 

Add.

ae2f_eAnnCnnPool_AVG 

Average.

ae2f_eAnnCnnPool_MIDDLE 

Middle. respect the output vector's value.

Definition at line 48 of file Conv.h.

Function Documentation

◆ ae2f_AnnCnnConv()

ae2f_extern ae2f_SHAREDEXPORT ae2f_err_t ae2f_AnnCnnConv ( size_t dim,
const ae2f_float_t * infv,
const size_t * infc,
size_t infcc,
const ae2f_float_t * ingv,
const size_t * ingc,
size_t ingcc,
ae2f_float_t * outv,
size_t * outc_opt,
size_t outcc,
const size_t * stride_opt,
const size_t * pad_opt )
noexcept

dim must be the dimension of mmaps, lengths of lists. This function is meant to be recursive. For minimize the stack,

Parameters
infccAll elements in [infc] timed. If you set it to zero, it will calculate it for you.
ingccAll elemtns in [ingc] timed. If you set it to zero, it will calculate it for you.
infccAll elements in [infc] timed. If you set it to zero, it will calculate it for you.
ingccAll elemtns in [ingc] timed. If you set it to zero, it will calculate it for you.
outccAll elemtns in [outc] timed. You need to set it to zero. it will calculate it for you.

Definition at line 210 of file Conv.imp.c.

◆ ae2f_AnnCnnConv1d()

ae2f_extern ae2f_SHAREDEXPORT ae2f_err_t ae2f_AnnCnnConv1d ( const ae2f_float_t * infv,
size_t infc,
const ae2f_float_t * ingv,
size_t ingc,
ae2f_float_t * outv,
size_t * opt_outc,
size_t stride,
size_t pad )
noexcept

all vectors are suggested initiated as 0.

Convolution Layer

Parameters
outvsuggested initiated as 0. or they are being added.

It adds the sum value, expecting that outv is initialised with 0, ...or it is called on loop and needs to added somehow.

Definition at line 69 of file Conv.imp.c.

◆ ae2f_AnnCnnPool()

ae2f_extern ae2f_SHAREDCALL ae2f_err_t ae2f_AnnCnnPool ( size_t dim,
const ae2f_float_t * inv,
const size_t * inc,
size_t incc,
ae2f_float_t * outv,
size_t * opt_outc,
size_t outcc,
const size_t * window_opt,
size_t windowcc,
const size_t * stride_opt,
ae2f_eAnnCnnPool type )
noexcept

Definition at line 350 of file Conv.imp.c.

◆ ae2f_AnnCnnPool1d()

ae2f_extern ae2f_SHAREDCALL ae2f_err_t ae2f_AnnCnnPool1d ( const ae2f_float_t * inv,
const size_t inc,
ae2f_float_t * outv,
size_t * opt_outc,
const size_t window_opt,
const size_t stride_opt,
ae2f_eAnnCnnPool type )
noexcept

Pooling Layer

Parameters
outvVectors are suggested initiated as 0. or they will affect the output itself.
windowsize scanner
stridesize jumper

Calculation of out vector's size.

is not adding, comparing?

is outer thing

Definition at line 124 of file Conv.imp.c.

◆ ae2f_AnnCnnPool_imp()

ae2f_extern ae2f_SHAREDCALL ae2f_err_t ae2f_AnnCnnPool_imp ( size_t dim,
const ae2f_float_t * inv,
const size_t * inc,
size_t incc,
ae2f_float_t * outv,
size_t * opt_outc,
size_t outcc,
const size_t * window_opt,
const size_t * stride_opt,
ae2f_eAnnCnnPool type )
noexcept

Pooling layer

Parameters
inccPass 0 and will be calculated automatically
outccPass 0 and will be calculated automatically

Definition at line 267 of file Conv.imp.c.