summaryrefslogtreecommitdiff
path: root/src/benchmark.h
blob: 4da73d7a97ae826f1301a0fa8ecfaea866307968 (plain)
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
29
#ifndef BENCHMARK_H
#define BENCHMARK_H

#include "crossbar_generator.h"
#include "read_crossbar.h"
#include "spires_interface.h"
#include <stddef.h>

typedef struct {
	const char *model_path;
	const char *subcircuit_name;
} MemModel;

int run_benchmark(const spires_reservoir_config *config,
		  spires_reservoir *reservoir,
		  Reservoir_State_Matrix *state_matrix, const char *model_path,
		  const char *subcircuit_name, double *predictions_out);

double calculate_MSE(const double *expected, const double *predicted,
		     const size_t num_steps, const size_t num_outputs);

int plot_raster(const Reservoir_State_Matrix *matrix, size_t neurons_to_plot,
		double spike_threshold);

int plot_reservoir_predictions(const double *expected, const double *predicted,
			       size_t num_samples, size_t num_outputs,
			       size_t output_to_plot, const char *model_path);

#endif