ANN  0.1.1.5
A library containing multiple neural network models written in C
network.h
Go to the documentation of this file.
1 
11 #ifndef _ANN_MODELS_PCFNN_NETWORK_H_
12 #define _ANN_MODELS_PCFNN_NETWORK_H_
13 
14 #include "../../config.h"
15 #include <stdlib.h>
16 #include <stdio.h>
17 #include "layer.h"
18 #include "ANN/tools.h"
19 
20 
27 typedef struct PCFNN_NETWORK {
28  size_t size;
29  struct PCFNN_LAYER **layers;
32 
33 
40 
41 
47 void PCFNN_NETWORK_free(struct PCFNN_NETWORK *net);
48 
49 
55 void PCFNN_NETWORK_clear(struct PCFNN_NETWORK *net);
56 
57 
65 int PCFNN_NETWORK_addl(struct PCFNN_NETWORK *net, struct PCFNN_LAYER *l);
66 
67 
74 int PCFNN_NETWORK_build(struct PCFNN_NETWORK *net);
75 
76 
87 struct PCFNN_NETWORK *PCFNN_NETWORK_build_from_array(size_t *spec, size_t len, double(*f_init)(double), double(*f_act)(double), double(*f_act_de)(double));
88 
89 
96 size_t PCFNN_NETWORK_get_ram_usage(struct PCFNN_NETWORK *net);
97 
98 
111 void PCFNN_NETWORK_summary(struct PCFNN_NETWORK *net, size_t param[5]);
112 
113 
121 
122 #endif /* _ANN_MODELS_PCFNN_NETWORK_H_ */
Layer unit.
Definition: layer.h:53
PCFNN_LAYER.
struct PCFNN_LAYER * inputl
Definition: network.h:30
struct PCFNN_NETWORK * PCFNN_NETWORK_build_from_array(size_t *spec, size_t len, double(*f_init)(double), double(*f_act)(double), double(*f_act_de)(double))
Initialize a new PCFNN_NETWORK from an array of number that represent the number of neurons for each ...
Definition: network.c:70
struct PCFNN_LAYER ** layers
Definition: network.h:29
struct PCFNN_LAYER * outputl
Definition: network.h:30
size_t size
Definition: network.h:28
size_t PCFNN_NETWORK_get_ram_usage(struct PCFNN_NETWORK *net)
Give the number of bytes used by the PCFNN_NETWORK net and all PCFNN_LAYER it contains.
Definition: network.c:95
void PCFNN_NETWORK_free(struct PCFNN_NETWORK *net)
Free all memory allocation of an PCFNN_NETWORK (It will call PCFNN_LAYER_free)
Definition: network.c:21
void PCFNN_NETWORK_print_summary(struct PCFNN_NETWORK *net)
Print neural network summary.
Definition: network.c:126
struct PCFNN_NETWORK PCFNN_NETWORK
void PCFNN_NETWORK_summary(struct PCFNN_NETWORK *net, size_t param[5])
Write on param network statistics.
Definition: network.c:106
void PCFNN_NETWORK_clear(struct PCFNN_NETWORK *net)
Clear all layers in the PCFNN_NETWORK net (It will call PCFNN_LAYER_clear)
Definition: network.c:31
struct PCFNN_NETWORK * PCFNN_NETWORK_new()
Initialize a PCFNN_NETWORK.
Definition: network.c:9
int PCFNN_NETWORK_build(struct PCFNN_NETWORK *net)
Initialize all internal data of the PCFNN_NETWORK l and build of PCFNN_LAYER it contains.
Definition: network.c:50
Some useful functions.
Network unit.
Definition: network.h:27
int PCFNN_NETWORK_addl(struct PCFNN_NETWORK *net, struct PCFNN_LAYER *l)
Add the PCFNN_LAYER l to the PCFNN_NETWORK net.
Definition: network.c:39