diff options
Diffstat (limited to 'src/spires_interface.h')
| -rw-r--r-- | src/spires_interface.h | 56 |
1 files changed, 24 insertions, 32 deletions
diff --git a/src/spires_interface.h b/src/spires_interface.h index ebf4b76..006b9d7 100644 --- a/src/spires_interface.h +++ b/src/spires_interface.h @@ -1,43 +1,35 @@ -#ifndef SPIRES_BACKEND_H -#define SPIRES_BACKEND_H +#ifndef SPIRES_INTERFACE_H +#define SPIRES_INTERFACE_H -#include <stddef.h> #include <spires.h> +#include <stddef.h> typedef struct { - size_t num_samples; //number of time steps - size_t num_features; - double *states; + size_t num_samples; // number of time steps + size_t num_features; + double *states; } Reservoir_State_Matrix; -int collect_reservoir_states( - spires_reservoir *reservoir, - const double *input_series, - size_t series_length, - Reservoir_State_Matrix *result -); +typedef struct { + double g_min; + double g_max; + double alpha; + double max_abs_weight; +} conductance_mapping; + +int collect_reservoir_states(spires_reservoir *reservoir, + const double *input_series, size_t series_length, + Reservoir_State_Matrix *result); -int map_signed_weights_to_resistance( - const double *weights, - size_t num_neurons, - size_t num_outputs, - double resistance_on, - double resistance_off, - double *resistances, - double *conductance_offset, - double *conductance_scale -); +int train_reservoir(spires_reservoir *reservoir, double *input_series, + double *taret_series, size_t series_length, double lambda); -int train_reservoir( - spires_reservoir *reservoir, - double *input_series, - double *taret_series, - size_t series_length, - double lambda -); +int convert_weights_to_resistances(const spires_reservoir *reservoir, + size_t num_neurons, size_t num_outputs, + double r_on, double r_off, + double **resistances_out, + conductance_mapping *mapping); -void free_reservoir_state_matrix( - Reservoir_State_Matrix *matrix -); +void free_reservoir_state_matrix(Reservoir_State_Matrix *matrix); #endif |
