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);
|