Joseph Redmon
2015-01-13 aa5996d58e68edfbefe51061856aecd549dd09c4
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 DROPOUT_LAYER_H
#define DROPOUT_LAYER_H
#include "opencl.h"
 
typedef struct{
    int batch;
    int inputs;
    float probability;
    float scale;
    float *rand;
    float *output;
    #ifdef GPU
    cl_mem rand_cl;
    cl_mem output_cl;
    #endif
} dropout_layer;
 
dropout_layer *make_dropout_layer(int batch, int inputs, float probability);
 
void forward_dropout_layer(dropout_layer layer, float *input);
void backward_dropout_layer(dropout_layer layer, float *delta);
 
#ifdef GPU
void forward_dropout_layer_gpu(dropout_layer layer, cl_mem input);
void backward_dropout_layer_gpu(dropout_layer layer, cl_mem delta);
 
#endif
#endif