The Open Master Hearing Aid (openMHA)  openMHA
Open community platform for hearing aid algorithm research
gcfsnet_bin/rnn.h File Reference

Classes

struct  DenseLayer
 
struct  DConvLayer1x1
 
struct  ScalerLayer
 
struct  DConvLayer
 
struct  GRULayer
 

Macros

#define WEIGHTS_SCALE   (1.f/128)
 
#define WEIGHTS_SCALE_BIAS   (1.f/32768)
 
#define MAX_NEURONS   32
 
#define ACTIVATION_TANH   0
 
#define ACTIVATION_SIGMOID   1
 
#define ACTIVATION_RELU   2
 
#define ACTIVATION_LINEAR   3
 
#define NUM_GROUPS   8
 

Typedefs

typedef int8_t rnn_weight
 
typedef int16_t rnn_bias
 
typedef int16_t counter
 
typedef struct RNNState RNNState
 

Functions

void compute_dense (const DenseLayer *layer, float *output, const float *input)
 
void compute_dense_grouped (const DenseLayer *layer, float *output, const float *input)
 
void compute_gru_grouped (const GRULayer *gru, float *state, const float *input)
 
void add_skip (int input_size, float *output, const float *input, const float *input_skip)
 
void compute_rnn (RNNState *rnn, float *filter_b, float *filter_t, const float *input)
 
void compute_dconv_1x1_grouped (const DConvLayer1x1 *dclayer, float *output, const float *input, const float *input_skip)
 
void compute_scale (const ScalerLayer *dclayer, float *output, const float *input)
 
void compute_dconv_1xX_grouped (const DConvLayer *dclayer, counter *idx_start, counter *idx_write, float *buffer, float *output, const float *input)
 

Macro Definition Documentation

◆ WEIGHTS_SCALE

#define WEIGHTS_SCALE   (1.f/128)

◆ WEIGHTS_SCALE_BIAS

#define WEIGHTS_SCALE_BIAS   (1.f/32768)

◆ MAX_NEURONS

#define MAX_NEURONS   32

◆ ACTIVATION_TANH

#define ACTIVATION_TANH   0

◆ ACTIVATION_SIGMOID

#define ACTIVATION_SIGMOID   1

◆ ACTIVATION_RELU

#define ACTIVATION_RELU   2

◆ ACTIVATION_LINEAR

#define ACTIVATION_LINEAR   3

◆ NUM_GROUPS

#define NUM_GROUPS   8

Typedef Documentation

◆ rnn_weight

typedef int8_t rnn_weight

◆ rnn_bias

typedef int16_t rnn_bias

◆ counter

typedef int16_t counter

◆ RNNState

typedef struct RNNState RNNState

Function Documentation

◆ compute_dense()

void compute_dense ( const DenseLayer layer,
float *  output,
const float *  input 
)

◆ compute_dense_grouped()

void compute_dense_grouped ( const DenseLayer layer,
float *  output,
const float *  input 
)

◆ compute_gru_grouped()

void compute_gru_grouped ( const GRULayer gru,
float *  state,
const float *  input 
)

◆ add_skip()

void add_skip ( int  input_size,
float *  output,
const float *  input,
const float *  input_skip 
)

◆ compute_rnn()

void compute_rnn ( RNNState rnn,
float *  filter_b,
float *  filter_t,
const float *  input 
)

◆ compute_dconv_1x1_grouped()

void compute_dconv_1x1_grouped ( const DConvLayer1x1 dclayer,
float *  output,
const float *  input,
const float *  input_skip 
)

◆ compute_scale()

void compute_scale ( const ScalerLayer dclayer,
float *  output,
const float *  input 
)

◆ compute_dconv_1xX_grouped()

void compute_dconv_1xX_grouped ( const DConvLayer dclayer,
counter idx_start,
counter idx_write,
float *  buffer,
float *  output,
const float *  input 
)