Joseph Redmon
2015-01-23 809f924db2823b9e1eaf3efb9370380edc1f76ed
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
#ifndef SOFTMAX_LAYER_H
#define SOFTMAX_LAYER_H
 
typedef struct {
    int inputs;
    int batch;
    float *delta;
    float *output;
    float *jacobian;
    #ifdef GPU
    float * delta_gpu;
    float * output_gpu;
    #endif
} softmax_layer;
 
softmax_layer *make_softmax_layer(int batch, int inputs);
void forward_softmax_layer(const softmax_layer layer, float *input);
void backward_softmax_layer(const softmax_layer layer, float *delta);
 
#ifdef GPU
void pull_softmax_layer_output(const softmax_layer layer);
void forward_softmax_layer_gpu(const softmax_layer layer, float *input);
void backward_softmax_layer_gpu(const softmax_layer layer, float *delta);
#endif
 
#endif