Joseph Redmon
2015-04-07 1fd10265f8a63d1b1305f40111a97518f5541da2
src/connected_layer.h
@@ -2,6 +2,7 @@
#define CONNECTED_LAYER_H
#include "activations.h"
#include "params.h"
typedef struct{
    int batch;
@@ -13,27 +14,39 @@
    float *weight_updates;
    float *bias_updates;
    float *weight_adapt;
    float *bias_adapt;
    float *weight_momentum;
    float *bias_momentum;
    float *weight_prev;
    float *bias_prev;
    float *output;
    float *delta;
    
    float dropout;
    #ifdef GPU
    float * weights_gpu;
    float * biases_gpu;
    float * weight_updates_gpu;
    float * bias_updates_gpu;
    float * output_gpu;
    float * delta_gpu;
    #endif
    ACTIVATION activation;
} connected_layer;
connected_layer *make_connected_layer(int batch, int inputs, int outputs, float dropout, ACTIVATION activation);
connected_layer *make_connected_layer(int batch, int inputs, int outputs, ACTIVATION activation);
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);
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);
#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