Joseph Redmon
2013-11-13 2db9fbef2bd7d35a547d0018a9850f6b249c524f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef CONNECTED_LAYER_H
#define CONNECTED_LAYER_H
 
#include "activations.h"
 
typedef struct{
    int inputs;
    int outputs;
    double *weights;
    double *biases;
 
    double *weight_updates;
    double *bias_updates;
 
    double *weight_momentum;
    double *bias_momentum;
 
    double *output;
    double *delta;
 
    double (* activation)();
    double (* gradient)();
} connected_layer;
 
connected_layer *make_connected_layer(int inputs, int outputs, ACTIVATION activator);
 
void forward_connected_layer(connected_layer layer, double *input);
void backward_connected_layer(connected_layer layer, double *input, double *delta);
void learn_connected_layer(connected_layer layer, double *input);
void update_connected_layer(connected_layer layer, double step, double momentum, double decay);
 
 
#endif