XCSF 1.4.8
XCSF learning classifier system
Loading...
Searching...
No Matches
neural_layer_softmax.h
Go to the documentation of this file.
1/*
2 * This program is free software: you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License as published by
4 * the Free Software Foundation, either version 3 of the License, or
5 * (at your option) any later version.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 *
12 * You should have received a copy of the GNU General Public License
13 * along with this program. If not, see <http://www.gnu.org/licenses/>.
14 */
15
24#pragma once
25
26#include "neural_layer.h"
27
28void
29neural_layer_softmax_init(struct Layer *l, const struct ArgsLayer *args);
30
31struct Layer *
32neural_layer_softmax_copy(const struct Layer *src);
33
34void
36
37void
38neural_layer_softmax_forward(const struct Layer *l, const struct Net *net,
39 const double *input);
40void
41neural_layer_softmax_backward(const struct Layer *l, const struct Net *net,
42 const double *input, double *delta);
43
44void
45neural_layer_softmax_update(const struct Layer *l);
46
47void
48neural_layer_softmax_print(const struct Layer *l, const bool print_weights);
49
50bool
52
53void
54neural_layer_softmax_free(const struct Layer *l);
55
56double *
57neural_layer_softmax_output(const struct Layer *l);
58
59size_t
60neural_layer_softmax_save(const struct Layer *l, FILE *fp);
61
62size_t
63neural_layer_softmax_load(struct Layer *l, FILE *fp);
64
65void
66neural_layer_softmax_resize(struct Layer *l, const struct Layer *prev);
67
68char *
70 const bool return_weights);
71
Interface for neural network layers.
void neural_layer_softmax_backward(const struct Layer *l, const struct Net *net, const double *input, double *delta)
Backward propagates a softmax layer.
char * neural_layer_softmax_json_export(const struct Layer *l, const bool return_weights)
Returns a json formatted string representation of a softmax layer.
void neural_layer_softmax_free(const struct Layer *l)
Free memory used by a softmax layer.
struct Layer * neural_layer_softmax_copy(const struct Layer *src)
Initialises and creates a copy of one softmax layer from another.
size_t neural_layer_softmax_load(struct Layer *l, FILE *fp)
Reads a softmax layer from a file.
static struct LayerVtbl const layer_softmax_vtbl
Neural softmax layer implemented functions.
void neural_layer_softmax_print(const struct Layer *l, const bool print_weights)
Prints a softmax layer.
void neural_layer_softmax_init(struct Layer *l, const struct ArgsLayer *args)
Creates and initialises a softmax layer.
size_t neural_layer_softmax_save(const struct Layer *l, FILE *fp)
Writes a softmax layer to a file.
void neural_layer_softmax_forward(const struct Layer *l, const struct Net *net, const double *input)
Forward propagates a softmax layer.
void neural_layer_softmax_update(const struct Layer *l)
Dummy function since a softmax layer has no weights.
void neural_layer_softmax_rand(struct Layer *l)
Dummy function since softmax layers have no weights.
void neural_layer_softmax_resize(struct Layer *l, const struct Layer *prev)
Resizes a softmax layer if the previous layer has changed size.
bool neural_layer_softmax_mutate(struct Layer *l)
Dummy function since a softmax layer cannot be mutated.
double * neural_layer_softmax_output(const struct Layer *l)
Returns the output from a softmax layer.
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.
Definition neural.h:48