diff options
Diffstat (limited to 'neural-net/nn.h')
-rw-r--r-- | neural-net/nn.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/neural-net/nn.h b/neural-net/nn.h new file mode 100644 index 0000000..1b34c42 --- /dev/null +++ b/neural-net/nn.h @@ -0,0 +1,29 @@ +#include <stddef.h> +#include <stdlib.h> +#include <assert.h> +#include <stdio.h> +#include <string.h> + +#define MAX_DIMS 256 +#define MAX_LAYERS 8 + +struct vec { + size_t n; + float data[256]; +}; + +struct mat { + size_t rows, cols; + float data[256][256]; +}; + +struct vec mv(struct mat mat, struct vec vec); +struct mat mm(struct mat mat1, struct mat mat2); +struct mat m_random(size_t rows, size_t cols); +struct vec mv_bp_v(struct mat constant, struct vec variable, struct vec out_deltas); +struct mat mv_bp_m(struct mat variable, struct vec constant, struct vec out_deltas); +struct vec v_relu(struct vec vec); +struct vec v_relu_bp(struct vec vec_in, struct vec deltas); +struct mat m_random(size_t rows, size_t cols); +void add_mat(struct mat *out, struct mat in); +void print_vec(struct vec vec); |