From bb96c8f78a303787c135f15925da59d2e0823d01 Mon Sep 17 00:00:00 2001 From: Lukas Weber Date: Wed, 26 Nov 2025 12:13:19 +0100 Subject: [PATCH] Added some stuff to prepareNeuralNetworkFile function --- neuralNetwork.c | 2 +- neuralNetworkTests.c | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/neuralNetwork.c b/neuralNetwork.c index bd8f164..b3eee0b 100644 --- a/neuralNetwork.c +++ b/neuralNetwork.c @@ -170,7 +170,7 @@ NeuralNetwork loadModel(const char *path) static Matrix imageBatchToMatrixOfImageVectors(const GrayScaleImage images[], unsigned int count) { - Matrix matrix = {NULL, 0, 0}; + Matrix matrix = {0, 0, NULL}; // TODO changed this line to fit our functionality if(count > 0 && images != NULL) { diff --git a/neuralNetworkTests.c b/neuralNetworkTests.c index cb7dcd9..6dd04f0 100644 --- a/neuralNetworkTests.c +++ b/neuralNetworkTests.c @@ -9,12 +9,20 @@ static void prepareNeuralNetworkFile(const char *path, const NeuralNetwork nn) { // TODO - FILE file = fopen(path, "wb"); + FILE* file = fopen(path, "wb"); fwrite(path, sizeof(const char), 24, file); + fwrite(&(nn.nmberOfLayers), sizeof(unsigned int), 1, file); for(int i = 0; i < nn.numberOfLayers; i++) { + //write everything to do with weights + fwrite(&(nn.layers[i].weights.rows), sizeof(unsigned int), 1, file); + fwrite(&(nn.layers[i].weights.cols), sizeof(unsigned int), 1, file); fwrite(nn.layers[i].weights.buffer, sizeof(MatrixType), nn.layers[i].weights.rows * nn.layers[i].weights.cols, file); + + //write everything to do with biases + fwrite(&(nn.layers[i].biases.rows), sizeof(unsigned int), 1, file); + fwrite(&(nn.layers[i].biases.cols), sizeof(unsigned int), 1, file); fwrite(nn.layers[i].biases.buffer, sizeof(MatrixType), nn.layers[i].biases.rows * nn.layers[i].biases.cols, file); - fwrite(nn.layers[i].activation->buffer, sizeof(MatrixType), nn.layers[i].activation->rows * nn.layers[i].activation->cols, file); + } } void test_loadModelReturnsCorrectNumberOfLayers(void)