summaryrefslogtreecommitdiff
path: root/neural-net/nn.h
diff options
context:
space:
mode:
Diffstat (limited to 'neural-net/nn.h')
-rw-r--r--neural-net/nn.h29
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);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback