summaryrefslogtreecommitdiff
path: root/neural-net/nn.h
blob: 1b34c42c2a35d04f3cad36f716328bf20b995a4e (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
#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);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback