43 const double *input,
double *
delta);
71 const bool return_weights);
Interface for neural network layers.
void neural_layer_dropout_resize(struct Layer *l, const struct Layer *prev)
Resizes a dropout layer if the previous layer has changed size.
struct Layer * neural_layer_dropout_copy(const struct Layer *src)
Initialises and creates a copy of one dropout layer from another.
void neural_layer_dropout_forward(const struct Layer *l, const struct Net *net, const double *input)
Forward propagates a dropout layer.
void neural_layer_dropout_rand(struct Layer *l)
Dummy function since dropout layers have no weights.
static struct LayerVtbl const layer_dropout_vtbl
Neural dropout layer implemented functions.
char * neural_layer_dropout_json_export(const struct Layer *l, const bool return_weights)
Returns a json formatted string representation of a dropout layer.
void neural_layer_dropout_update(const struct Layer *l)
Dummy function since a dropout layer has no weights.
size_t neural_layer_dropout_save(const struct Layer *l, FILE *fp)
Writes a dropout layer to a file.
double * neural_layer_dropout_output(const struct Layer *l)
Returns the output from a dropout layer.
void neural_layer_dropout_print(const struct Layer *l, const bool print_weights)
Prints a dropout layer.
void neural_layer_dropout_init(struct Layer *l, const struct ArgsLayer *args)
Initialises a dropout layer.
void neural_layer_dropout_free(const struct Layer *l)
Free memory used by a dropout layer.
void neural_layer_dropout_backward(const struct Layer *l, const struct Net *net, const double *input, double *delta)
Backward propagates a dropout layer.
size_t neural_layer_dropout_load(struct Layer *l, FILE *fp)
Reads a dropout layer from a file.
bool neural_layer_dropout_mutate(struct Layer *l)
Dummy function since a dropout layer cannot be mutated.
Parameters for initialising a neural network layer.
Neural network layer interface data structure.
Neural network layer data structure.
double * delta
Delta for updating weights.
Neural network data structure.