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
| #ifndef SOFTMAX_LAYER_H
| #define SOFTMAX_LAYER_H
| #include "params.h"
|
| typedef struct {
| int inputs;
| int batch;
| int groups;
| float *delta;
| float *output;
| #ifdef GPU
| float * delta_gpu;
| float * output_gpu;
| #endif
| } softmax_layer;
|
| void softmax_array(float *input, int n, float *output);
| softmax_layer *make_softmax_layer(int batch, int inputs, int groups);
| void forward_softmax_layer(const softmax_layer layer, network_state state);
| void backward_softmax_layer(const softmax_layer layer, network_state state);
|
| #ifdef GPU
| void pull_softmax_layer_output(const softmax_layer layer);
| void forward_softmax_layer_gpu(const softmax_layer layer, network_state state);
| void backward_softmax_layer_gpu(const softmax_layer layer, network_state state);
| #endif
|
| #endif
|
|