45 lines
1.3 KiB
C
45 lines
1.3 KiB
C
#include "support.h"
|
|
#include <math.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
// Fixed parameters
|
|
#define input_dimension 13
|
|
#define possible_outputs 3
|
|
#define training_sets 163
|
|
#define nodes_per_layer 64
|
|
#define layers 2
|
|
#define learning_rate 0.01
|
|
#define epochs 1
|
|
#define test_sets 15
|
|
#define norm_param 0.005
|
|
|
|
#define max 1.0
|
|
#define offset 0.5
|
|
|
|
// Data Bounds
|
|
#define TYPE double
|
|
#define MAX 1000
|
|
#define MIN 1
|
|
|
|
void backprop(TYPE weights1[input_dimension * nodes_per_layer],
|
|
TYPE weights2[nodes_per_layer * nodes_per_layer],
|
|
TYPE weights3[nodes_per_layer * possible_outputs],
|
|
TYPE biases1[nodes_per_layer], TYPE biases2[nodes_per_layer],
|
|
TYPE biases3[possible_outputs],
|
|
TYPE training_data[training_sets * input_dimension],
|
|
TYPE training_targets[training_sets * possible_outputs]);
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// Test harness interface code.
|
|
|
|
struct bench_args_t {
|
|
TYPE weights1[input_dimension * nodes_per_layer];
|
|
TYPE weights2[nodes_per_layer * nodes_per_layer];
|
|
TYPE weights3[nodes_per_layer * possible_outputs];
|
|
TYPE biases1[nodes_per_layer];
|
|
TYPE biases2[nodes_per_layer];
|
|
TYPE biases3[possible_outputs];
|
|
TYPE training_data[training_sets * input_dimension];
|
|
TYPE training_targets[training_sets * possible_outputs];
|
|
};
|