Joseph Redmon
2014-05-09 cd8d53df21f3ad2810add2a8cff766c745f55a17
src/connected_layer.h
@@ -4,30 +4,35 @@
#include "activations.h"
typedef struct{
    int batch;
    int inputs;
    int outputs;
    double *weights;
    double *biases;
    float *weights;
    float *biases;
    double *weight_updates;
    double *bias_updates;
    float *weight_updates;
    float *bias_updates;
    double *weight_momentum;
    double *bias_momentum;
    float *weight_adapt;
    float *bias_adapt;
    double *output;
    double *delta;
    float *weight_momentum;
    float *bias_momentum;
    double (* activation)();
    double (* gradient)();
    float *output;
    float *delta;
    float dropout;
    ACTIVATION activation;
} connected_layer;
connected_layer *make_connected_layer(int inputs, int outputs, ACTIVATION activator);
connected_layer *make_connected_layer(int batch, int inputs, int outputs, float dropout, ACTIVATION activation);
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);
void forward_connected_layer(connected_layer layer, float *input, int train);
void backward_connected_layer(connected_layer layer, float *input, float *delta);
void update_connected_layer(connected_layer layer, float step, float momentum, float decay);
#endif