Ade
2018-05-06 a1c5bae6fbc57f1b0915139291b4c3ba3b093f30
src/connected_layer.h
@@ -2,33 +2,26 @@
#define CONNECTED_LAYER_H
#include "activations.h"
#include "layer.h"
#include "network.h"
typedef struct{
    int inputs;
    int outputs;
    double *weights;
    double *biases;
typedef layer connected_layer;
    double *weight_updates;
    double *bias_updates;
connected_layer make_connected_layer(int batch, int inputs, int outputs, ACTIVATION activation, int batch_normalize);
    double *weight_momentum;
    double *bias_momentum;
void forward_connected_layer(connected_layer layer, network_state state);
void backward_connected_layer(connected_layer layer, network_state state);
void update_connected_layer(connected_layer layer, int batch, float learning_rate, float momentum, float decay);
void denormalize_connected_layer(layer l);
void statistics_connected_layer(layer l);
    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);
#ifdef GPU
void forward_connected_layer_gpu(connected_layer layer, network_state state);
void backward_connected_layer_gpu(connected_layer layer, network_state state);
void update_connected_layer_gpu(connected_layer layer, int batch, float learning_rate, float momentum, float decay);
void push_connected_layer(connected_layer layer);
void pull_connected_layer(connected_layer layer);
#endif
#endif